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乾貨,歡迎轉發和分享。