1. 程式人生 > >0110-如何給Kerberos環境下的CDH叢集新增Gateway節點

0110-如何給Kerberos環境下的CDH叢集新增Gateway節點

Fayson的github: https://github.com/fayson/cdhproject

1.文件編寫目的

Gateway節點又稱為客戶端節點,通常用作訪問Hadoop叢集的介面機。它主要會部署一些客戶端的配置,指令碼命令,比如HDFS的core-site.xml,hdfs-site.xml以及hadoop的操作命令。

如果你使用的是Apache Hadoop,你只需要將hadoop相關服務的配置和指令碼命令拷貝到客戶端機器即可,但一旦叢集的配置有所修改,你需要注意也同步到客戶端機器。如果是CDH叢集,客戶端節點也會是Cloudera Manager管理的一臺機器,它會被安裝cloudera-scm-agent服務,以及CDH的Parcel,部署客戶端配置Cloudera Manager會統一做,另外如果客戶端機器出現異常,Cloudera Manager也會告警。

增加一臺Gateway節點,與安裝CDH非常類似,你必須要注意一定要做好客戶端機器的前置條件準備,參考《CDH安裝前置準備》,否則會增加失敗。前面Fayson介紹過在非Kerberos環境下部署Gateway節點,參考《如何給CDH叢集增加Gateway節點》。本文則主要是介紹如何在Kerberos環境下給CDH叢集增加Gateway節點。

內容概述

1.建立Gateway節點的主機模板

2.Gateway節點的前置準備

3.增加Gateway節點到叢集並應用主機模板

4.GateWay節點命令測試

測試環境

1.CDH5.13

2.採用root使用者操作

3.CentOS6.5

前置條件

1.CDH5.13叢集執行正常

2.Gateway節點已準備,並準備好前置

2.建立Gateway節點的主機模板

1.從Cloudera Manager進入“主機模板”頁面

在這裡插入圖片描述

2.點選“建立”

在這裡插入圖片描述

3.給模板命名,點選各個服務勾選相應的GateWay角色

在這裡插入圖片描述

4.點選“建立”,確認建立成功.

在這裡插入圖片描述

3.Gateway節點的前置準備

前置準備請參考Fayson之前的文章《CDH安裝前置準備》,主要包括以下步驟:

1.確保OS的yum源可以正常使用,通過yum repolist命令可以檢視到匹配的OS的所有包

2.確保Cloudera Manager的yum源執行正常

3.hosts檔案配置,需要將Gateway節點的IP和hostname加入到CDH叢集節點的hosts檔案中,並同步到所有機器包括Gateway節點

4.禁用SELinux

5.關閉防火牆

6.設定swap為10

7.關閉透明大頁面

8.配置時鐘同步

請務必確保以上操作都已完成,併成功配置,否則接下來的增加節點操作會失敗!

4.安裝Kerberos客戶端

由於叢集啟用了Kerberos服務,所以需要在Gateway節點安裝Kerberos客戶端。

1.在Gateway節點上執行如下命令

[ec2-user@ip-172-31-31-212opt]$ sudo yum -y install krb5-libskrb5-workstation

安裝成功後檢視安裝的RPM包

[ec2-user@ip-172-31-31-212opt]$ rpm -qa |grep krb
krb5-workstation-1.15.1-8.el7.x86_64
krb5-libs-1.15.1-8.el7.x86_64
krb5-devel-1.15.1-8.el7.x86_64
[ec2-user@ip-172-31-31-212 opt]$ 

在這裡插入圖片描述

2.將CM叢集中的krb5.conf檔案拷貝至該Gateway節點

[ec2-user@ip-172-31-22-86 ~]$ scp -i fayson.pem.txt /etc/krb5.conf ip-172-31-31-212:/home/ec2-user/

在這裡插入圖片描述

3.在Gateway節點將krb5.conf檔案拷貝至/etc目錄下

[ec2-user@ip-172-31-31-212 ~]$ sudo cp krb5.conf /etc/
[ec2-user@ip-172-31-31-212 ~]$ sudo chown root. /etc/krb5.conf
[ec2-user@ip-172-31-31-212 ~]$ ll /etc/krb5.conf
-rw-r--r-- 1 root root 837 Dec  9 00:28 /etc/krb5.conf
[ec2-user@ip-172-31-31-212 ~]$ 

在這裡插入圖片描述 4.在GateWay節點測試Kerberos客戶端是否部署成功

[ec2-user@ip-172-31-31-212 ~]$ kinit -kt fayson.keytab fayson
[ec2-user@ip-172-31-31-212 ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: [email protected]

Valid starting       Expires              Service principal
12/09/2017 00:31:53  12/10/2017 00:31:53  krbtgt/[email protected]
        renew until 12/16/2017 00:31:53
[ec2-user@ip-172-31-31-212 ~]$

在這裡插入圖片描述

有如上圖所示則表示Kerberos客戶端安裝成功。

5.增加Gateway節點的叢集並應用主機模板

1.進入“所有主機”頁面

在這裡插入圖片描述

2.點選“向群集新增主機”

在這裡插入圖片描述

3.選擇“經典嚮導”

在這裡插入圖片描述

4.繼續

在這裡插入圖片描述

5.輸入Gateway節點的IP或者hostname,點選搜尋

在這裡插入圖片描述 在這裡插入圖片描述

6.點選“繼續”,選擇“自定義儲存庫”,並輸入Cloudera Manager的yum源http地址

在這裡插入圖片描述

7.點選“繼續”,勾選Java的兩個選項

在這裡插入圖片描述

8.點選“繼續”,輸入Gateway節點的ec2-user密碼

在這裡插入圖片描述

9.點選“繼續”,等待cloudera-scm-agent在Gateway節點上安裝

在這裡插入圖片描述

安裝完成點選“繼續”

在這裡插入圖片描述

10.點選“繼續”,等待分發Parcel包並激活

在這裡插入圖片描述

完成後,點選“繼續”

在這裡插入圖片描述

11.點選“繼續”,進行主機檢查

在這裡插入圖片描述

12.完成主機檢查,點選“繼續”,選擇主機模板

在這裡插入圖片描述

13.點選“繼續”,啟動主機上的角色

在這裡插入圖片描述

等待執行成功

在這裡插入圖片描述

14.點選“繼續”,部署客戶端配置

在這裡插入圖片描述

15.點選完成,檢視主機列表GateWay節點的角色資訊

在這裡插入圖片描述

至此,給Kerberos環境下CDH叢集增加新的Gateway節點完成。

6.Gateway節點測試

1.HDFS命令測試

[ec2-user@ip-172-31-31-212 ~]$ hadoop fs -ls /

在這裡插入圖片描述

2.HBase命令測試

[ec2-user@ip-172-31-31-212 ~]$ hbase shell

在這裡插入圖片描述

3.Hive命令測試

[ec2-user@ip-172-31-31-212 ~]$ hive

在這裡插入圖片描述

4.hadoop命令向叢集提交作業

[ec2-user@ip-172-31-31-212 ~]$ hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

在這裡插入圖片描述

為天地立心,為生民立命,為往聖繼絕學,為萬世開太平。

推薦關注Hadoop實操,第一時間,分享更多Hadoop乾貨,歡迎轉發和分享。 在這裡插入圖片描述

在這裡插入圖片描述