Spark引擎
在启动SparkEngineManager的微服务之前,请确保以上环境变量已经设置。
如果您没有设置,请先在/home/${USER}/.bash\_rc 或 linkis-ujes-spark-enginemanager/conf目录中的 linkis.properties配置文件中设置。如以下所示
1.2 启动依赖服务
- 1)、Eureka: 用于服务注册于发现。
- 2)、Linkis-gateway: 用于用户请求转发。
- 3)、Linkis-publicService: 提供持久化、udf等基础功能。
- 4)、Linkis-ResourceManager:提供Linkis的资源管理功能。
启动spark的相关微服务之前,用户可以设置关于spark引擎的相关配置参数。
Linkis考虑到用户希望能够更自由地设置参数,提供了许多的配置参数。
下表有一些常用的参数,Spark引擎支持配置更多的参数以获得更好的性能,如您有调优需求,欢迎阅读调优手册。
用户可以在linkis.properties中配置这些参数。
1.4 前端部署
另外,Scriptis还有一个管理台功能,用于配置spark引擎的启动参数。
Scriptis页面为我们提供了可以设置启动参数的配置页面,其中可以设置Driver的内存大小,以及executor的个数以及内存和CPU核数等,这些参数都会被读取,用于启动一个spark引擎。
图1 管理台配置界面
1.6 运行实例
在web浏览器中,打开scriptis的地址,用户可以在左侧栏的工作空间新建sql、scala或者pyspark脚本,在脚本编辑区域编写完脚本代码之后,点击运行,就可以将自己的代码提交到Linkis后台执行,提交之后,后台会通过websocket方式实时将日志、进度、状态等信息推送给用户。并在完成之后,将结果展示给用户。
图2 Spark运行效果图1
图3 Spark运行效果图2
图4 Spark运行效果图3
在Engine模块,Linkis默认采用了yarn-client模式进行启动spark的会话。Spark的Driver进程会以Linkis引擎的形式存在并为启动的用户所拥有。
Linkis0.5.0和Linkis0.6.0的release版本只支持spark2.1.0。
当然,如果您集群中使用的spark版本如果和我们支持版本是不适配的话,可能需要您更改顶层pom.xml的spark.version 变量,然后重新编译打包。
如果遇到启动运行的问题,可以加群向我们咨询。
- 1.部署方式更加简单,尝试使用容器化的方式。
- 2.支持spark jar包方式的提交
- 3.更好地支持spark的yarn-cluster方式的提交。