­

大數據集群服務啟停腳本/常用埠/時間同步

上個文章對集群進行了必要的配置並成功啟動集群,這篇文章,我們補充一些常用的知識點

集群啟動/停止方式總結

各模組分開啟動/停止

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集群啟停腳本

包含HDFSYARNHistoryserver

cd ~/bin
vim myhadoop.sh

輸入一下內容,映射關係如下

hadoop102 192.168.10.102hadoop103 192.168.10.103hadoop104 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.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlworkers
  • 2.x:core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlslaves

時間同步

如果有定時任務,那麼需要所有伺服器保持一致。當伺服器無法連接至外網,那麼需要設置一台伺服器充當時間伺服器,以保證時間一致

配置時間伺服器

1、查看所有幾點ntpd服務狀態和開機自啟動狀態(root用戶下操作)

systemctl status ntpd
systemctl start ntpd
systemctl is-enabled ntpd

如果沒有,執行下面的命令安裝

yum -y install ntp ntpdate

2、修改hadoop102ntp.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之間的文件傳輸方式
克隆主機並配置集群
配置並啟動集群/開啟歷史伺服器和日誌聚集
大數據集群服務啟停腳本/常用埠/時間同步