上個文章對叢集進行了必要的配置併成功啟動叢集,這篇文章,我們補充一些常用的知識點
叢集啟動/停止方式總結
各模組分開啟動/停止
1、整體啟動/停止HDFS
start-dfs.sh/stop-dfs.sh
2、整體啟動/停止YARN
start-yarn.sh/stop-yarn.sh
各服務元件逐一啟動/停止
1、分別啟動/停止HDFS元件
hdfs --daemon start/stop namenode/datanode/secondarynamonode
2、分別啟動/停止YARN元件
yarn --daemon start/stop resourcemanager/nodemanager
Hadoop叢集常用指令碼
Hadoop叢集啟停指令碼
包含
HDFS
,YARN
,Historyserver
cd ~/bin
vim myhadoop.sh
輸入一下內容,對映關係如下
hadoop102 192.168.10.102
、hadoop103 192.168.10.103
、hadoop104 192.168.10.104
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi
case $1 in
"start")
echo " ===================== 啟動 hadoop 叢集 ====================="
echo " --------------------- 啟動 hdfs ---------------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
echo " --------------------- 啟動 yarn ---------------------"
ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
echo " --------------------- 啟動 historyserver ---------------------"
ssh hadoop103 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
echo " ===================== 關閉 hadoop 叢集 ====================="
echo " --------------------- 關閉 historyserver ---------------------"
ssh hadoop103 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
echo " --------------------- 關閉 yarn ---------------------"
ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
echo " --------------------- 關閉 hdfs ---------------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
echo "Input Args Error..."
;;
esac
賦予執行許可權
chmod +x myhadoop.sh
檢視所有伺服器程式指令碼
cd ~/bin
vim jpsall
輸入一下內容
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo "===================== $host ====================="
ssh $host jps
done
賦予執行許可權
chmod +x jpsall
分發指令碼
把指令碼分發到所有主機
xsync ~/bin/
常用埠號說明
埠名稱 | 2.x | 3.x |
---|---|---|
NameNode內部通訊埠 | 8020/9000 | 8020/9000/9020 |
NameNode HTTP UI | 50070 | 9870 |
MapReduce檢視執行任務埠 | 8088 | 8088 |
歷史伺服器通訊埠 | 19888 | 19888 |
配置檔案
- 3.x:
core-site.xml
、hdfs-site.xml
、yarn-site.xml
、mapred-site.xml
、workers
- 2.x:
core-site.xml
、hdfs-site.xml
、yarn-site.xml
、mapred-site.xml
、slaves
時間同步
如果有定時任務,那麼需要所有伺服器保持一致。當伺服器無法連線至外網,那麼需要設定一臺伺服器充當時間伺服器,以保證時間一致
配置時間伺服器
1、檢視所有幾點ntpd
服務狀態和開機自啟動狀態(root
使用者下操作)
systemctl status ntpd
systemctl start ntpd
systemctl is-enabled ntpd
如果沒有,執行下面的命令安裝
yum -y install ntp ntpdate
2、修改hadoop102
的ntp.conf
配置檔案
vim /etc/ntp.conf
修改內容如下
1)授權192.168.10.0-192.168.10.255
網段上的所有機器都可以從這臺伺服器上查詢和同步時間
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 改為
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
2)註釋掉下面內容,前面新增#
即可
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
3)檔案末尾新增
server 127.127.1.0
fudge 127.127.1.0 stratum 10
3、修改hadoop102
的/etc/sysconfig/ntpd
vim /etc/sysconfig/ntpd
增加下面內容(讓硬體與系統時間一起同步)
SYNC_HWCLOCK=yes
4、重啟ntpd
服務
systemctl start ntpd
配置其他伺服器
1、關閉其他所有節點ntpd
服務和自啟動
[root@hadoop103 swcode]# systemctl stop ntpd
[root@hadoop103 swcode]# systemctl disable ntpd
[root@hadoop104 swcode]# systemctl stop ntpd
[root@hadoop105 swcode]# systemctl disable ntpd
2、配置1分鐘與時間伺服器同步一次
crontab -e
編寫定時任務如下:
*/1 * * * * /usr/sbin/ntpdate hadoop102
3、修改任意機器時間
date -s "2021-11-11 11:11:11"
4、1分鐘後檢視時間是否與時間伺服器同步
date
下篇文章:
所有文章:
搭建第一臺Hadoop主機
Linux之間的檔案傳輸方式
克隆主機並配置叢集
配置並啟動叢集/開啟歷史伺服器和日誌聚集
大資料叢集服務啟停指令碼/常用埠/時間同步