1.CDK部署
CDK指的是CDH+Kafka,CDH默認的Parcel包裹中是沒有Kafka服務包裹的,需要下載。
1.1 確定CDH的版本以及下載
由於我的CDH的環境是CDH5.12.0,故我根據Cloudera的官網推薦選擇CDK2.2.0
1.2 配置Kafka Pacel下載源
1.3 CM部署Kafka服務
第一步:添加Kafka的Parcel下載源地址
第二步:依次點擊 Dowanload 》Distribute》Activate,到這兒就已經將CDK集成到了我們的CDH
第三步:部署,只選擇部署三臺Brocker,設置Kafka在zookeeper的地址為/kafka
第四步:踩坑,部分Broker的節點無法啟動異常解決
由於CDH配置的Kafka的JVM Heap Size太小導致了,部分Kafka起不來,故重新設置然後啟動
1.4 Kafka服務測試
Kafka安裝包的地址:/opt/cloudera/parcels/KAFKA/lib/kafka
2.CDS部署
CDS指的是CDH+Spark,默認的CDH集成的是Spark1.6,這並不滿足我們現有的需求,故需安裝CDS。
注意:生產中我們部署在CDH中的Spark是自己編譯的Spark2.x
2.1版本選擇
如下圖,根據我的CDH版本,我選擇CDS2.4版本,該版本的Spark是基於Apache Spark2.4.0。
2.2添加Spark2的Parcel
2.3添加Spark2服務並部署
第一步:配置Spark2的Parcels地址
第二步 :依次點擊 Dowanload 》Distribute》Activate,到這兒就已經將CDS集成到了我們的CDH
第三步:部署,部署後該重啟的需要重啟。
2.4 Spark2 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用戶