⑴Linkis是一个体积小巧占用系统资源空间不大的微服务框架架构,支持TiSparkPythonHBase等多个计算存储引擎,对外提供统一的RESTWebSocketJDBC接口以及提交执行SQLScala等脚本的计算中间件,为用户提供金融多级租户隔离资源观看以及权限隔离等操作功能;Linkis微服务框架功能强大简单专业,支持统一变量函数以及用户资源文件管理等多种功能,可为用户提供统一存储上下文以及资料库等公共服务,同时可以进行离线批量操作开发探索可视化BI等特色功能操作,非常的简单实用
⑵. Linkis管理台
⑶用户可以查看和管理自己的Job
⑷用户可以查看和管理自己的引擎
⑸用户可以查看Yarn的资源使用情况和用户资源使用排名
⑹用户可以配置引擎的启动参数
⑺用户可以设置变量
⑻. 支持标签功能
⑼支持给EngineManager打标签
⑽启动引擎时,支持为引擎打标签
⑾支持通过标签访问目标引擎
⑿. AppGovernance应用治理实现
⒀系统级用户级应用全生命周期管理,包括离线批量交互式查询和实时流式应用
⒁为离线和交互式应用提供复用能力和智能切换能力
⒂智能限流应用智能保护
⒃. 支持Flink和Spark Structured Streaming
⒄统一作业执行服务:一个分布式的REST/WebSocket服务,用于接收用户提交的各种脚本请求。
⒅目前支持的计算引擎有:SparkPythonTiSparkHive和Shell等。
⒆支持的脚本语言有:SparkSQLSpark ScalaPysparkRPythonHQL和Shell等;
⒇支持实时管控每个系统和用户的资源使用情况,限制系统和用户的资源使用量和并发数,并提供实时的资源动态图表,方便查看和管理系统和用户的资源;
⒈目前已支持的资源类型:Yarn队列资源服务器(CPU和内存用户并发个数等。
⒉应用管理服务:管理所有系统的所有用户应用,包括离线批量应用交互式查询应用和实时流式应用,为离线和交互式应用提供强大的复用能力,并提供应用全生命周期管理,自动释放用户多余的空闲应用;
⒊统一存储服务:通用的IO架构,能快速对接各种存储系统,提供统一调用入口,支持所有常用格式数据,集成度高,简单易用;
⒋统一上下文服务:统一用户和系统资源文件(JARZIPProperties等,用户系统计算引擎的参数和变量统一管理,一处设置,处处自动引用;
⒌物料库:系统和用户级物料管理,可分享和流转,支持全生命周期自动管理;
⒍元数据服务:实时的库表结构和分区情况展示。
⒎一,确定您的安装环境
⒏Linkis根据安装的难易程度,提供了以下几种安装环境的准备方式,其区别如下:
⒐最小环境依赖,单中断安装模式,只包含Python引擎,只需要用户Linux环境支持Python就可以。
⒑请注意:精简版只允许用户提交Python脚本。
⒒点我进入精简版Linkis环境准备
⒓依赖Python,Hadoop和Hive,分布式安装模式,包含Python引擎和Hive引擎,需要用户的Linux环境先安装好了Hadoop和Hive。
⒔简单版允许用户提交HiveQL和Python脚本。
⒕点我进入简单版Linkis环境准备
⒖依赖Python,Hadoop,Hive和Spark,分散安装模式,包含Python引擎,Hive引擎和Spark引擎,需要用户的Linux环境先安装好了Hadoop,Hive和Spark,Linkis的机器依赖占用的hadoop
⒗/ hive / spark的配置文件,并不需要和DataNode和NameNode机器部署在一起,在单独的客户端机器上面部署即可。
⒘标准版允许用户提交Spark脚本(包含SparkSQL,Pyspark和Scala,HiveQL和Python脚本。
⒙请注意:安装标准版需要机器内存在G以上如果机器内存不足,需要添加或修改环境变量:export SERVER_HEAP_SIZE="M"
⒚点我进入标准版Linkis环境准备
⒛二,精简版Linkis环境准备
①一种。基础软件安装
②下面的软件必装:
③MySQL(.+,如何安装MySQL
④JDK(.._以上,如何安装JDK
⑤Python(.x和.x都支持,如何安装Python
⑥例如:部署用户是hadoop账号
⑦在部署机器上创建部署用户,用于安装
⑧须藤useradd hadoop
⑨因为Linkis的服务基于sudo -u $
⑩{linux-user}方式来切换引擎,从而执行作业,所以部署用户需要有sudo权限,而且是免密的。
Ⅰvi / etc / sudoers
Ⅱhadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL
Ⅲ如果您的Python想拥有画图功能,则还需在安装串口,安装画图模块。命令如下:
Ⅳpython -m pip安装matplotlib
Ⅴ从Linkis已发布的版本中(单击此处进入下载页面,下载最新安装包。
Ⅵ先解压安装包到安装目录,逐步解压后的文件进行配置修改。
Ⅶtar -xvf wedatasphere-linkis-xxx-dist.tar.gz
Ⅷ(修改基础配置
Ⅸ(修改数据库配置
Ⅹ环境准备完毕,点我进入五,安装和使用
㈠三,简单版Linkis环境准备
㈡一种。基础软件安装
㈢下面的软件必装:
㈣MySQL(.+,如何安装MySQL
㈤JDK(.._以上,如何安装JDK
㈥Python(.x和.x都支持,如何安装Python
㈦Hadoop(社区版和CDH.以下版本都支持
㈧Hive(..,.和.以上版本,可能存在兼容性问题
㈨例如:部署用户是hadoop账号
㈩在所有需要部署的机器上创建部署用户,进行安装
须藤useradd hadoop
因为Linkis的服务基于sudo -u $
{linux-user}方式来切换引擎,从而执行作业,所以部署用户需要有sudo权限,而且是免密的。
在每台安装子系统设置如下的多个环境变量中,杀死Linkis能正常使用Hadoop和Hive
修改安装用户的.bash_rc,命令如下:
C。SSH免密配置(分布式模式必须
如果您的Linkis都部署在同一台服务器上,本步骤可以跳过。
如果您的Linkis部署在多台服务器上,那么您还需要为这些服务器配置ssh免密登陆。
如何配置SSH免密登陆
从Linkis已发布的版本中(单击此处进入下载页面,下载最新安装包。
先解压安装包到安装目录,逐步解压后的文件进行配置修改。
tar -xvf wedatasphere-linkis-xxx-dist.tar.gz
(修改基础配置
(修改数据库配置
环境准备完毕,点我进入五,安装和使用
四,标准版Linkis环境准备
一种。基础软件安装
下面的软件必装:
MySQL(.+,如何安装MySQL
JDK(.._以上,如何安装JDK
Python(.x和.x都支持,如何安装Python
Hadoop(社区版和CDH.以下版本都支持
Hive(..,.和.以上版本,可能存在兼容性问题
Spark(Linkis版本..开始,支持Spark.以上所有版本
例如:部署用户是hadoop账号
在所有需要部署的机器上创建部署用户,进行安装
须藤useradd hadoop
因为Linkis的服务基于sudo -u $
{linux-user}方式来切换引擎,从而执行作业,所以部署用户需要有sudo权限,而且是免密的。
在每台安装子系统设置如下的多个环境变量中,杀死Linkis能正常使用Hadoop,Hive和Spark
修改安装用户的.bash_rc,命令如下:
如果您的Pyspark想拥有画图功能,则还需在所有安装路由器,安装画图模块。命令如下:
python -m pip安装matplotlib
C。SSH免密配置(分布式模式必须
如果您的Linkis都部署在同一台服务器上,本步骤可以跳过。
如果您的Linkis部署在多台服务器上,那么您还需要为这些服务器配置ssh免密登陆。
如何配置SSH免密登陆
从Linkis已发布的版本中(单击此处进入下载页面,下载最新安装包。
先解压安装包到安装目录,逐步解压后的文件进行配置修改。
tar -xvf wedatasphere-linkis-xx-dist.tar.gz
(修改基础配置
(修改数据库配置
.执行安装脚本:
sh bin / install.sh
install.sh脚本会询问您安装模式。
安装模式就是精简模式,简单模式或标准模式,请根据您准备的环境情况,选择合适的安装模式。
install.sh脚本会询问您是否需要初始化数据库并导入元数据。
因为担心用户重复执行install.sh脚本,把数据库中的用户数据清空,所以在install.sh执行时,会询问用户是否需要初始化数据库并导入元数据。
第一次安装必须选是。
.是否安装成功:
通过查看控制台打印的日志信息查看是否安装成功。
如果有错误信息,可以查看具体报错原因。
您也可以通过查看我们的常见问题,获取问题的解答。
.快速启动Linkis
(,启动服务:
在安装目录执行以下命令,启动所有服务:
> start.log > start_error.log
(,查看是否启动成功
可以在Eureka界面查看服务启动成功情况,查看方法:
使用http:// $ {EUREKA_INSTALL_IP}:$ {EUREKA_PORT},在浏览器中打开,查看服务是否注册成功。
如果您没有在config.sh中指定EUREKA_INSTALL_IP和EUREKA_INSTALL_IP,则HTTP地址为:http :
如下图,如您的Eureka主页出现以下微服务,则表示服务都启动成功,可以正常对外提供服务了:
注意:其中标红的为DSS服务,其余为Linkis服务,如果只使用linkis可以忽略标红的部分
.快速使用Linkis
Linkis为用户提供了Java客户端的实现,用户可以使用UJESClient对Linkis后台服务实现快速访问。
我们在ujes / client / src / test模块下,提供了UJESClient的两个测试类:
如果您克隆了Linkis的源代码,可以直接运行这两个测试类。
下面具体介绍如何快速实现一次对Linkis的代码提交执行。
.. maven依赖