CDH新增計算節點,並對新增的計算節點,新增服務角色的詳細具體步驟

2020-10-09 11:00:32

前言

最近發現,公司的的巨量資料環境,空間有不足的情況,叢集的計算能力也下降, 此時需要對將巨量資料的叢集環境進行擴容 增加計算節點。

操作步驟

叢集示意圖:

準備好linux環境

設定hadoop賬號,ssh免密,關掉防火牆,磁碟掛載

1:建立hadoop賬號

useradd hadoop

2:ssh無密碼登陸

su hadoop
ssh-keygen -t rsa
#複製到所有datanode,並測試ssh登陸
cp id_rsa.pub authorized_key

3:設定hadoop

把原先的/usr/local/hadoop複製到/home/hadoop下,並修改組態檔中hadoop_home相關的地址。

4:修改檔案許可權

 修改dfs.name.dir,dfs.data.dir,mapred.system.dir,mapred.local.dir等相關目錄的許可權

chown -R hadoop:hadoop [dir]

5:修改hdfs許可權

hadoop dfs -chown -R hadoop:hadoop /

6:設定系統時間chrony時間同步伺服器

root使用者執行命令,安裝chrony:

yum install -y chrony*
echo "server 192.168.4.11  iburst" >> /etc/chrony.conf

啟動chrony.service 

/bin/systemctl restart chronyd.service 
/bin/systemctl enable chronyd.service 
chronyc sources -v 


同步到bios 時間,root使用者執行命令

hwclock --localtime -w 

關閉firewalld iptables 和禁用selinux,關閉iptables 

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state

關閉iptables

 iptables -F
 systemctl stop iptables.service 
 service iptables save 

禁用 selinux

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config  
setenforce 0
getenforce 0
sestatus

重新啟動機器

reboot 

修改檔案系統的最大連線數,以root使用者執行:

vim /etc/security/limits.conf

*               soft    nofile          32728
*               hard    nofile          1029345
*               soft    nproc           unlimited
*               hard    nproc           unlimited
*               soft    memlock         unlimited
*               hard    memlock         unlimited

 設定新增節點伺服器的無金鑰認證登入,做root使用者無金鑰認證
 ssh-keygen ---一直敲回車到最後 

cat id_rsa.pub >> authorized_keys 

 將所有節點的公鑰匯入authorized_keys  分發到 所有的 機器的.ssh/ 下面

 chmod 600 .ssh/authorized_keys

 然後進行無金鑰登入認證測試!

準備cm包,增加節點,及設定環境

 安裝CDH5.12.0 組建所依賴的包

yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

建立CM 的安裝目錄,root 使用者執行命名:

mkdir /opt/cloudera-manager
wget http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.12.0_x86_64.tar.gz

解壓CM包到/opt/cloudera-manager,以root使用者執行命令:

tar -zxvf cloudera-manager-centos7-cm5.12.0_x86_64.tar.gz -C /opt/cloudera-manager

修改agent 的組態檔config.ini

以root使用者執行命令:

cd /opt/cloudera-manager/cm-5.12.0/etc/cloudera-scm-agent
vim config.ini
server_host=NN01.sge.com.cn

建立cloudera-scm 使用者用作安裝

useradd --system --home=/opt/cloudera-manager/cm-5.12.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

提升cloudera-scm 的許可權

vim /etc/sudoers

在root 許可權下面 增加 一行:

cloudera-scm    ALL=(ALL)       ALL

新建新增節點的目錄

以root使用者執行下面的命令:

mkdir -p /opt/cloudera/parcels
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels/

新建目錄: 

mkdir -p /var/lib/cloudera-scm-server
mkdir -p /var/lib/cloudera-scm-agent
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server/
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-agent/

啟動新增DN03的agent端

啟動CM-server的agent 端

cd /opt/cloudera-manager/cm-5.12.0/etc/init.d
./cloudera-scm-agent start 

以root 使用者執行命令

echo "10" > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
vim /etc/rc.local


若啟動agent失敗,則嘗試以下命令:

ps -ef | grep supervisord | xargs  kill -9
sudo service cloudera-scm-agent restart


登陸cm,選擇主機->Parcel

登陸cm(如:http://192.168.16.32:8010/pages/viewpage.action?pageId=16094086)

點選檢查新Parcel

選擇主機加入叢集

對機器進行分配,解壓,啟用

檢查主機正確性

向叢集新增新主機

重新部署使用者端

檢視主機新增成功

對新增的新主機新增角色    

在Cluster1中選擇「新增服務」    

在「新增服務至Cluster1」,選擇服務型別:

自定義角色分配

同理,新增yarn

為impala角色設定目錄

角色成功加入

新增節點完成

計算節點測試

1.HDFS命令測試

[DNS6@fleapx ~]$ hadoop fs -ls /

2.HBase命令測試

[DNS6@fleapx ~]$ hbase shell

3.Hive命令測試

[DNS6@fleapx ~]$ hive

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

[DNS6@fleapx ~]$ hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

友情連結:https://blog.51cto.com/flyfish225/2118098