美文网首页Spark
spark thrift server 与 网易 kyuubi

spark thrift server 与 网易 kyuubi

作者: __destory__ | 来源:发表于2021-07-13 15:50 被阅读0次

    thrift server可以实现通过jdbc, beeline等工具,实现连接到spark集群,并提交sql查询的机制。

    默认情况下,cdh安装的spark没有包含thrift server模块,因此我们需要重新编译spark。

    另外,为了不影响cdh自带的spark,而且spark目前都是基于yarn运行的,本身也没有什么独立的服务部署(除了history sever)。

    所以,在一个集群中,可以部署安装多个版本的spark。

    我们使用源码编译的spark 2.4.0(其中hive的版本是1.2.1)

    cdh集成的spark版本和Hive版本如下:

    image.png image.png

    spark 2.4.0 编译

    使用jdk1.8
    修改spark提供的mvn,使用自行安装的maven 3.8.1

    image.png image.png

    使用make-distribution.sh可以帮助与我们编译之后打包成tgz文件

    修改pom.xml文件的配置如下。


    image.png

    最后,执行编译命令如下:

    image.png

    这样打出的包,就含有thrift server的jar包了。

    最终打包文件,根目录下。

    image.png

    之后就是解压到其他目录下后即可。

    image.png

    将hive-site.xml的文件连接过来,这样spark就可以读取hive的表了。

    image.png

    为了确保spark提交到yarn上运行,需要配置

    cp spark-defaults.conf.template spar-defaults.conf

    image.png

    另外,可以在spark-env.sh中设置环境变量。

    HADOOP_CONF_DIR

    环境变量,也可以在/etc/profile中设置

    Thrift server启动

    image.png

    启动日志可以查看,注意下端口占用问题,如下。

    image.png

    启动时候,使用beeline工具连接上,主要这里不用使用cdh默认安装hive提供的beeline工具,应为版本太高。

    使用编译后spark生成beeline工具

    image.png

    参考beeline使用教程。

    kyuubi thrift server

    https://github.com/apache/incubator-kyuubi

    kyuubi是基于thrift sever二次开发,在系能和安全上优于thrift server。

    鉴于目前hive的版本是2.1,而最新的kyuubi的hive是2.3,所以采用前天版本的kyuubi,采用0.7版本,保证hive的版本小于当前集群中的hive版本。

    使用build目录下的dist脚本进行编译和打包。

    image.png

    编译成功后,会在更目录下出现tar.gz的压缩文件,如上图。

    之后解压到目录下。

    配置bin/kyuubi-env.sh脚本,设置spark路径

    image.png

    执行bin/start-kyuubi.sh命令即可。

    访问的方式同样采用beelin,注意使用上面章节的beeline工具。

    访问后,可以通过beeline访问到hive的表(在spark中已经配置了hive-site.xml)

    !connect jdbc:hive2://xxxx:10009 即可。

    相关文章

      网友评论

        本文标题:spark thrift server 与 网易 kyuubi

        本文链接:https://www.haomeiwen.com/subject/fbqspltx.html