Spark引擎

    1. 在启动SparkEngineManager的微服务之前,请确保以上环境变量已经设置。
    2. 如果您没有设置,请先在/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

    Spark运行效果图2
    图3 Spark运行效果图2


    图4 Spark运行效果图3

    在Engine模块,Linkis默认采用了yarn-client模式进行启动spark的会话。Spark的Driver进程会以Linkis引擎的形式存在并为启动的用户所拥有。

    1. Linkis0.5.0Linkis0.6.0release版本只支持spark2.1.0
    2. 当然,如果您集群中使用的spark版本如果和我们支持版本是不适配的话,可能需要您更改顶层pom.xmlspark.version 变量,然后重新编译打包。
    3. 如果遇到启动运行的问题,可以加群向我们咨询。

    微信及QQ群

    • 1.部署方式更加简单,尝试使用容器化的方式。
    • 2.支持spark jar包方式的提交
    • 3.更好地支持spark的yarn-cluster方式的提交。