CDH之CDK以及CDS部署

1.CDK部署

CDK指的是CDH+Kafka,CDH默认的Parcel包裹中是没有Kafka服务包裹的,需要下载。

1.1 确定CDH的版本以及下载

由于我的CDH的环境是CDH5.12.0,故我根据Cloudera的官网推荐选择CDK2.2.0
VU8ia6.md.png

VU8PVx.md.png

1.2 配置Kafka Pacel下载源
[root@hadoop001 ~]# cd soft/kafka_parcels/
[root@hadoop001 kafka_parcels]# yum -y install httpd
[root@hadoop001 kafka_parcels]# ll
total 71080
-rw-r--r-- 1 root root 72773321 Jun  5 19:19 KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel
-rw-r--r-- 1 root root       41 Jun  5 19:17 KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel.sha1
-rw-r--r-- 1 root root     5252 Jun  5 19:17 manifest.json

#校验下Parcel是否完整,都为c5913e4bdeda3687c5952312cab5bc3c3e286179 则OK
[root@hadoop001 kafka_parcels]# sha1sum KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel
c5913e4bdeda3687c5952312cab5bc3c3e286179  KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel
[root@hadoop001 kafka_parcels]# cat KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel.sha1 
c5913e4bdeda3687c5952312cab5bc3c3e286179

#将1去除表示告诉CM,Parcel下载成功
[root@hadoop001 kafka_parcels]# mv KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel.sha1 KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel.sha

#配置Kafka Pacel下载源
[root@hadoop001 kafka_parcels]# yum -y install httpd
[root@hadoop001 kafka_parcels]# service httpd status
[root@hadoop001 kafka_parcels]# cd /var/www/html/
[root@hadoop001 html]# mv ~/soft/kafka_parcels ./

#页面测试是否能 打开  http://hadoop001/kafka_parcels/ ,能打开则表示我们下载源制作成功。
1.2 CM部署Kafka服务

第一步:添加Kafka的Parcel下载源地址
VUUnsg.md.png
第二步:依次点击 Dowanload 》Distribute》Activate,到这儿就已经将CDK集成到了我们的CDH
VUUuLQ.md.png
第三步:部署,只选择部署三台Brocker,设置Kafka在zookeeper的地址为/kafka

VUUcQO.md.png
VUUgyD.md.png
第三步:踩坑,部分Broker的节点无法启动异常解决
由于CDH配置的Kafka的JVM Heap Size太小导致了,部分Kafka起不来,故重新设置然后启动。
4

1.3 Kafka服务测试

Kafka安装包的地址:/opt/cloudera/parcels/KAFKA/lib/kafka

[root@hadoop001 ~]# cd /opt/cloudera/parcels/KAFKA/lib/kafka/
#测试:创建Topic
[root@hadoop001 kafka]# bin/kafka-topics.sh --create --zookeeper localhost:2181/kafka --replication-factor 1 --partitions 1 --topic wsk_test
#测试:显示Topic列表
[root@hadoop001 kafka]# bin/kafka-topics.sh --list --zookeeper localhost:2181/kafka
#测试:控制台生产者,踩坑,注意这里不能写localhost
[root@hadoop001 kafka]# bin/kafka-console-producer.sh --broker-list 172.19.247.234:9092 --topic wsk_test
#测试:控制台消费者,踩坑,注意这里不能写localhost
[root@hadoop001 kafka]# bin/kafka-console-consumer.sh --zookeeper 172.19.247.234:2181/kafka --topic wsk_test --from-beginning 

2.CDS部署

CDS指的是CDH+Spark,默认的CDH集成的是Spark1.6,这并不满足我们现有的需求,故需安装CDS。
注意:生产中我们部署在CDH中的Spark是自己编译的Spark2.x

2.1版本选择

如下图,根据我的CDH版本,我选择CDS2.4版本,该版本的Spark是基于Apache Spark2.4.0。
VUcnVf.md.png
VUceqP.md.png
s3

2.2添加Spark2的Parcel
[root@hadoop001 ~]# cd /root/soft/spark2_parcels
[root@hadoop001 spark2_parcels]# ll
total 194172
-rw-r--r-- 1 root root      5181 Jun  5 20:55 manifest.json
-rw-r--r-- 1 root root 198794328 Jun  5 21:44 SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356-el7.parcel
-rw-r--r-- 1 root root        41 Jun  5 20:55 SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356-el7.parcel.sha1
-rw-r--r-- 1 root root     19067 Jun  5 21:00 SPARK2_ON_YARN-2.4.0.cloudera1.jar

#校验下Parcel是否完整,都为0e153fe6735d640cab43e9007afe5e1ff702774a  则OK
[root@hadoop001 spark2_parcels]# sha1sum SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356-el7.parcel
0e153fe6735d640cab43e9007afe5e1ff702774a  SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356-el7.parcel
[root@hadoop001 spark2_parcels]# cat SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356-el7.parcel.sha1
0e153fe6735d640cab43e9007afe5e1ff702774a

#将1去除表示告诉CM,Parcel下载成功
[root@hadoop001 spark2_parcels]# mv SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356-el7.parcel.sha1 SPARK2-2.4.0.cloudera1-1.cdh5.13.3.p0.1007356-el7.parcel.sha

# 设置Spark2的配置,opt/cloudera/csd为Administration中的setting配置
[root@hadoop001 spark2_parcels]# mkdir /opt/cloudera/csd
[root@hadoop001 spark2_parcels]# mv SPARK2_ON_YARN-2.4.0.cloudera1.jar /opt/cloudera/csd/
[root@hadoop001 spark2_parcels]# cd /opt/cloudera/csd/
[root@hadoop001 csd]# chown cloudera-scm:cloudera-scm SPARK2_ON_YARN-2.4.0.cloudera1.jar 
[root@hadoop001 csd]# chmod 644 SPARK2_ON_YARN-2.4.0.cloudera1.jar

#配置Spark2的parcels下载源,要使得页面能 打开  http://hadoop001/spark2_parcels/ ,能打开则表示我们下载源制作成功。
[root@hadoop001 csd]#  mv ~/soft/spark2_parcels /var/www/html/

#重启cloudera-scm-server ,重启耗时约1分钟,耐心等待
[root@hadoop001 csd]# /opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-server restart

#CM界面,重启cloudera manager services
图略,
  • 注意若机器内存不够,会导致系统主动去kill 进程,我们需要主动关闭一些不需要的服务。
2.3添加Spark2服务并部署

第一步:配置Spark2的Parcels地址
VUhTyQ.md.png
第二步:依次点击 Dowanload 》Distribute》Activate,到这儿就已经将CDS集成到了我们的CDH
VUhoQg.md.png
第三步:部署,部署后该重启的需要重启。
VU5QvF.md.png]
VU5K3T.md.png]
VU5MgU.md.png]

2.4Spark2 on Yarn 作业测试
  • Spark2的部署目录:/opt/cloudera/parcels/SPARK2/lib/spark2/bin/
  • 由于我们部署了GateWay,故我们可以直接使用Spark2的脚本,脚本位置:/usr/bin/spark2-submit
  • (踩坑),yarn的容器的能分配的最大内存必须要比Spark的Executor大,需改如下配置:
    yarn.nodemanager.resource.memory-mb 至少为2G,yarn.scheduler.maximum-allocation-mb
    至少2G
  • 注意有趣HDFS的权限问题,故我们提交Spark的任务用hdfs用户
#可以通过Spark的HIstoryJob界面观看Spark的任务
[root@hadoop001 ~]# su - hdfs 
spark2-submit \
--master yarn \
--num-executors 1 \
--executor-cores 1 \
--executor-memory 1G \
--class org.apache.spark.examples.SparkPi \
/opt/cloudera/parcels/SPARK2/lib/spark2/examples/jars/spark-examples_2.11-2.4.0.cloudera1.jar
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值