CDH 6成功启动spark-thrift服务(CDH 6.2.0)

因为CDH自身集成的spark不包含thrift服务,因公司业务需求,需在集成了Kerberos&LDAP的CDH集群中启用spark-thrift服务

 

吐槽一句,百度出来的都是没用的,还是找到解决方案的

1. 下载spark 安装包,并解压

wget https://www-eu.apache.org/dist/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz

2. 建立相关软连接,使其使用CDH的相关配置

CDH 6成功启动spark-thrift服务(CDH 6.2.0)_第1张图片

3. 修改 /etc/hive/conf/hive-site.xml文件 将LDAP改为KERBEROS

相关重要配置如下,这里配置的是hive/[email protected],所以后面也需要相应的keytab文件

 

  
    hive.metastore.kerberos.principal
    hive/[email protected]
  
  
    hive.server2.authentication.kerberos.principal
    hive/[email protected]
  

    hive.server2.authentication
    KERBEROS
  

4. 删除spark自带的hadoop-yarn* jar包并拷贝CDH相关的jar包到$SPARK_HOME/jars/目录下

rm -f $SPARK_HOME:/jars/hadoop-yarn*

cp /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/jars/hadoop-yarn* ./

cp /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/jars/hive-shims-scheduler-2.1.1-cdh6.2.0.jar ./

###我使用 ./是因为我当时所在目录就是在$SPARK-HOME/jars/下

 5.  启动spark-thrift,因为该节点上还有hiveserver2服务的10000端口,所以这里指定端口为10001  

/opt/spark-2.4.0-bin-hadoop2.7/sbin/start-thriftserver.sh --hiveconf hive.server2.authentication.kerberos.keytab /root/hive_zmbd-vpc-wk01.keytab --hiveconf hive.server2.thrift.port=10001

##这里面的hive_zmbd-vpc-wk01.keytab <<====>>  hive/[email protected],在导出keytab文件时,需要导出相应kerberos用户的keytab文件

默认是spark local 如果想走yarn模式 参考下面启动命令  由于用来keberos,所以加了队列

/opt/spark-2.4.0-bin-hadoop2.7/sbin/start-thriftserver.sh --hiveconf hive.server2.authentication.kerberos.keytab /root/hive-zmbd-vpc-wk01.keytab --hiveconf hive.server2.thrift.port=10001 --queue root.zm_yarn_pool.development  --master yarn --executor-memory 4g --executor-cores 2 --num-executors 20

6.  beeline测试连接 这里要注意 使用 jdbc 要用 “ ” 包起来

/opt/spark-2.4.0-bin-hadoop2.7/bin/beeline -u "jdbc:hive2://ip:10001/default;principal=hive/[email protected]"

 CDH 6成功启动spark-thrift服务(CDH 6.2.0)_第2张图片

 

 

 

 

 

你可能感兴趣的:(大数据组件)