0030-如何在CDH中安裝Kudu&Spark2&Kafka

1.概述html

在CDH的默認安裝包中,是不包含Kafka,Kudu和Spark2的,須要單獨下載特定的Parcel包才能安裝相應服務。本文檔主要描述在離線環境下,在CentOS6.5操做系統上基於CDH5.12.1集羣,使用Cloudera Manager經過Parcel包方式安裝Kudu、Spark2和Kafka的過程。shell

  • 內容歸納
    • Kudu安裝
    • Spark2安裝
    • Kafka安裝
    • 服務驗證
  • 測試環境
    • 操做系統版本:CentOS6.5
    • CM和CDH版本5.12.1
    • 使用CM管理員admin用戶
    • 操做系統採用root用戶操做
  • 前置條件
    • CDH集羣運行正常

2.Kudu安裝express

CDH5.12.1打包集成Kudu1.4,而且Cloudera提供官方支持。再也不須要安裝Kudu的csd文件,安裝完Kudu,Impala便可直接操做Kudu。apache

如下安裝步驟描述如何使用Cloudera Manager來安裝和部署Kudu1.4json

2.1Kudu的Parcel部署服務器

1.從Cloudera官網下載Kudu的Parcel包,下載地址以下session

http://archive.cloudera.com/kudu/parcels/5.12.1/KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel
http://archive.cloudera.com/kudu/parcels/5.12.1/KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel.sha1
http://archive.cloudera.com/kudu/parcels/5.12.1/manifest.json

2.將以上3個文件下載到http服務所在服務器的/var/www/html/kudu1.4目錄併發

[root@ip-172-31-6-148~]# cd /var/www/html/
[root@ip-172-31-6-148 html]# mkdir kudu1.4
[root@ip-172-31-6-148 html]# cd kudu1.4/
[root@ip-172-31-6-148 kudu1.4]# ll
total 474140
-rw-r--r-- 1 rootroot 485506175 Aug 30 14:55 KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel
-rw-r--r-- 1 rootroot        41 Aug 30 14:55KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel.sha1
-rw-r--r-- 1 rootroot      2646 Aug 30 14:55 manifest.json
[root@ip-172-31-6-148 kudu1.4]#

3.驗證http是否可以正常訪問app

2.2安裝Kudu服務高併發

1.經過CM界面配置Kudu的Parcel地址,並下載,分發,激活Kudu。

已分配激活

2.回到CM主頁,添加Kudu服務

選擇Kudu服務,點擊「繼續」

選擇Master和Tablet Server,點擊「繼續」

配置相應的目錄,注:不管是Master仍是Tablet根據實際狀況,數據目錄(fs_data_dir)應該均可能有多個,以提升併發讀寫,從而提升Kudu性能。

啓動Kudu服務

安裝完畢

2.3配置Impala

從CDH5.10開始,安裝完Kudu後,默認Impala便可直接操做Kudu進行SQL操做,但爲了省去每次建表都須要在TBLPROPERTIES中添加kudu_master_addresses屬性,建議在Impala的高級配置項中設置KuduMaster的地址和端口:--kudu_master_hosts=ip-172-31-6-148.fayson.com:7051

多個master能夠以「,」分割如:

--kudu_master_hosts=ip-172-31-6-148.fayson.com:7051,ip-172-31-6-148.fayson.com:7051

3.Spark2安裝

集羣的jdk版本爲jdk1.7.0_67,從Spark2.2.0版本後再也不支持Java七、Python2.6和Hadoop2.6.5以前的版本,因此此處選擇Spark 2.1.0版本部署。

3.1安裝csd文件

1.下載csd文件,下載地址以下:

http://archive.cloudera.com/spark2/csd/SPARK2_ON_YARN-2.1.0.cloudera1.jar

2.將csd文件移動至/opt/cloudera/csd目錄下

[root@ip-172-31-6-148csd]# pwd
/opt/cloudera/csd
[root@ip-172-31-6-148 csd]#ll
total 16
-rw-r--r-- 1 rootroot 16109 Mar 29 06:58 SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@ip-172-31-6-148 csd]#

若是csd目錄不存在,則建立

[root@ip-172-31-6-148cloudera]# mkdir csd
[root@ip-172-31-6-148 cloudera]# chown cloudera-scm:cloudera-scm csd/

3.重啓Cloudera Manager服務

[root@ip-172-31-6-148~]# service cloudera-scm-serverrestart
Stopping cloudera-scm-server:                              [  OK  ]
Starting cloudera-scm-server:                              [  OK  ]
[root@ip-172-31-6-148 ~]#

3.2Spark2的Parcel部署

1.下載Spark2的Parcel包,下載地址以下

http://archive.cloudera.com/spark2/parcels/2.1.0/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel
http://archive.cloudera.com/spark2/parcels/2.1.0/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1
http://archive.cloudera.com/spark2/parcels/2.1.0/manifest.json

2.將上述3個文件下載至/var/www/html/spark2.1.0目錄下

[root@ip-172-31-6-148html]# cd /var/www/html/
[root@ip-172-31-6-148 html]# mkdir spark2.1.0
[root@ip-172-31-6-148 html]# cd spark2.1.0/
[root@ip-172-31-6-148 spark2.1.0]# ll
total 173052
-rw-r--r-- 1 rootroot      4677 Mar 29 06:58 manifest.json
-rw-r--r-- 1 rootroot 177185276 Mar 29 06:58 SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel
-rw-r--r-- 1 rootroot        41 Mar 29 06:58SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1
[root@ip-172-31-6-148 spark2.1.0]#

3.驗證是否部署成功

3.3安裝Spark2

1.經過CM管理界面配置Spark2的Parcel地址並保存

2.點擊下載、分配並激活

3.回到CM主頁,添加Spark2

4.選擇Spark2,點擊「繼續」

5.爲新的Spark2選擇一組依賴,點擊「繼續」

6.選擇History Server和Gateway節點,點擊「繼續」

7.啓動Spark2服務,服務啓動完成後,點擊「繼續」

8.Spark2安裝完成

4.Kafka安裝

4.1Kafka版本選擇

Kafka版本 版本特性 最低支持CM版本 支持CDH版本 是否集成到CDH
2.2.x Cloudera Manager 5.9.x CDH 5.9.x and higher
2.1.x Sentry authorization Cloudera Manager 5.9.x CDH 5.9.x and higher
2.0.x Enhanced security Cloudera Manager 5.5.3 CDH 5.4.x and higher
1.4.x Distributed both as package and parcel Cloudera Manager 5.2.x CDH 5.4.x, 5.5.x, 5.6.x
1.3.x Includes Kafka Monitoring Cloudera Manager 5.2.x CDH 5.4.x, 5.5.x, 5.6.x
1.2.x Cloudera Manager 5.2.x CDH 5.4.x, 5.5.x, 5.6.x

參考官網:https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_kafka

4.2Kafka的Parcel部署

1.從Cloudera官網下載Kafka的Parcel包,下載地址以下

http://archive.cloudera.com/kafka/parcels/2.1.1.18/KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel
http://archive.cloudera.com/kafka/parcels/2.1.1.18/KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel.sha1
http://archive.cloudera.com/kafka/parcels/2.1.1.18/manifest.json

2.將上述3個文件下載至/var/www/html/kafka2.1.1.18目錄下

[root@ip-172-31-6-148html]# cd /var/www/html/
[root@ip-172-31-6-148 html]# mkdir kafka2.1.1.18
[root@ip-172-31-6-148 html]# cd kafka2.1.1.18/
[root@ip-172-31-6-148 kafka2.1.1.18]# ll
total 66536
-rw-r--r-- 1 rootroot 68116503 Mar 27 17:39 KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel
-rw-r--r-- 1 rootroot       41 Mar 27 17:39KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel.sha1
-rw-r--r-- 1 rootroot     5252 Mar 27 17:40 manifest.json
[root@ip-172-31-6-148 kafka2.1.1.18]#

3.驗證是否部署成功

4.3安裝Kafka服務

1.經過CM配置Kafka的Parcel包地址並保存

2.點擊下載、分配並激活

3.回到CM主頁,添加Kafka服務

4.選擇Kafka服務,點擊「繼續」

5.爲Kafka選擇一組依賴關係,點擊「繼續」

6.選擇Kafka Broker和Gateway,點擊「繼續」

7.根據集羣環境修改Kafka配置,點擊「繼續」

8.Kafka安裝完成

9.修改Kafka Broker的heap大小,默認爲50M,可能會致使Kafka啓動失敗

保存配置,從新部署客戶端並重啓相應服務。

5.服務驗證

5.1Kudu驗證

建表語句以下:

CREATE TABLE my_first_table(
    id BIGINT,
    name STRING,
 PRIMARY KEY(id)
) 
PARTITION BY HASH PARTITIONS 16 
STORED AS KUDU;

經過Impala-shell建立Kudu表

[impala@ip-172-31-6-148root]$ impala-shell -iip-172-31-10-118.fayson.com
...
[ip-172-31-10-118.fayson.com:21000] > show tables;
Query: show tables
+------------+
| name       |
+------------+
| test       |
| test_table |
+------------+
Fetched 2 row(s) in 0.06s
[ip-172-31-10-118.fayson.com:21000] > CREATE TABLEmy_first_table(
 >     id BIGINT,
 >     name STRING,
 >    PRIMARY KEY(id)
 > )
 >PARTITION BY HASH PARTITIONS 16
 > STORED AS KUDU;
Query: create TABLE my_first_table(
    id BIGINT,
    name STRING,
 PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU

Fetched 0 row(s) in 2.43s
[ip-172-31-10-118.fayson.com:21000] >

插入數據並查詢

[ip-172-31-10-118.fayson.com:21000]> insert into my_first_table values(1,'fayson');
Query: insert into my_first_table values(1,'fayson')
...
Modified 1 row(s), 0 row error(s) in 3.92s
[ip-172-31-10-118.fayson.com:21000] >select * from my_first_table;
...
+----+--------+
| id | name   |
+----+--------+
| 1  | fayson |
+----+--------+
Fetched 1 row(s) in 1.02s
[ip-172-31-10-118.fayson.com:21000] >

經過Kudu Master Web UI查看

5.2Spark2驗證

[root@ip-172-31-6-148~]# spark2-shell 
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). ForSparkR, use setLogLevel(newLevel).
17/09/11 09:46:22 WARN spark.SparkContext: Support for Java 7 is deprecated as of Spark 2.0.0
Spark context Web UI available at http://172.31.6.148:4040
Spark context available as 'sc' (master = yarn, app id =application_1505121236974_0001).
Spark session available as 'spark'.
Welcome to
 ____              __
 / __/__ ___ _____/ /__
    _\ \/ _ \/ _ `/__/  '_/
 /___/ .__/\_,_/_//_/\_\   version 2.1.0.cloudera1
 /_/
 
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_67)
Type in expressions tohave them evaluated.
Type :help for more information.

scala> var textFile=sc.textFile("/fayson/test/a.txt")
textFile: org.apache.spark.rdd.RDD[String] =/fayson/test/a.txt MapPartitionsRDD[1] at textFile at <console>:24

scala> textFile.count()
res0: Long = 3

scala>

5.3Kafka驗證

1.建立一個test的topic

[root@ip-172-31-6-148hive]# kafka-topics --create--zookeeper ip-172-31-6-148.fayson.com:2181 --replication-factor 3 --partitions1 --topic test

2.向topic發送消息

[root@ip-172-31-6-148hive]# kafka-console-producer--broker-list ip-172-31-10-118.fayson.com:9092 --topic test

3.消費topic的消息

[root@ip-172-31-6-148hive]# kafka-console-consumer --zookeeperip-172-31-6-148.fayson.com:2181 --topic test --from-beginning

4.查看topic描述信息

[root@ip-172-31-6-148hive]# kafka-topics --describe--zookeeper ip-172-31-6-148.fayson.com:2181 --topic test

醉酒鞭名馬,少年多浮誇! 嶺南浣溪沙,嘔吐酒肆下!摯友不願放,數據玩的花!

推薦關注Hadoop實操,第一時間,分享更多Hadoop乾貨,歡迎轉發和分享。

相關文章
相關標籤/搜索