現(xiàn)根據(jù)業(yè)務(wù)需要,需要在原有的3臺(tái)完全分布式的集群(hadoop1、hadoop2、hadoop3仨節(jié)點(diǎn))增設(shè)一臺(tái)新的服務(wù)器節(jié)點(diǎn)(hadoop4),以下是在原有的完全分布式hadoop集群中增設(shè)新節(jié)點(diǎn)(DataNode + NodeManager)的部署步驟。
- 基礎(chǔ)服務(wù)配置
hadoop4上依次執(zhí)行以下步驟:
1)用戶:重置root用戶密碼,增加hadoop用戶并設(shè)置密碼
passwd root
useradd hadoop
passwd hadoop
2)網(wǎng)絡(luò):設(shè)置靜態(tài)IP
修改BOOTPROTO="static"和ONBOOT="yes"
IPADDR="實(shí)際IP"
NETMASK="實(shí)際掩網(wǎng)子碼"
GATEWAY="實(shí)際網(wǎng)關(guān)"
DNS1="實(shí)際DNS"
?????? 3)安全:關(guān)閉防火墻、關(guān)閉Selinux
systemctl status firewalld.service???? --查看防火墻狀態(tài)
systemctl stop firewalld.service??????? --關(guān)閉防火墻
systemctl disable firewalld.service???? --禁止防火墻開機(jī)自啟動(dòng)
setenforce 0??????????????????????????????? --臨時(shí)關(guān)閉Selinux
/etc/selinux/config? SELINUX=disabled?? --永久關(guān)閉SeLinux
?????? 4)互信:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop3
?????? 5)主機(jī):
臨時(shí)設(shè)置主機(jī)名,永久修改主機(jī)名,修改hosts文件
hostnamectl set-hostname --static hadoop4
/etc/hostname
四臺(tái)hadoop主機(jī)的hosts文件都需要確保修改成這樣:
cat /etc/hosts
10.88.88.56?? hadoop1
10.88.88.57?? hadoop2
10.88.88.58?? hadoop3
10.88.88.63?? hadoop4
6)掛載數(shù)據(jù)盤:
格式化數(shù)據(jù)盤,整盤掛載
mkfs.xfs /dev/sdb???????????????? 創(chuàng)建ext4文件系統(tǒng)
mkdir /data???????????????????????? 創(chuàng)建數(shù)據(jù)目錄
mount /dev/sdb /data???????????? 掛載
chown -R hadoop:hadoop /data???? 修改權(quán)限
修改/etc/fstab,mount -a確認(rèn)是否掛載成功,df -h查看最新掛載情況
確保所有節(jié)點(diǎn)的host文件都已更新。
二、服務(wù)部署
1)JDK服務(wù)
可利用hadoop1上現(xiàn)有的JDK目錄
[hadoop@hadoop1 local] scp -r jdk? hadoop@hadoop4:/usr/local/java
[hadoop@hadoop1 local] ssh? hadoop@hadoop4
在hadoop4服務(wù)器上更新環(huán)境變量
# jdk config
export JAVA_HOME=/usr/local/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
以上內(nèi)容追加到/etc/profile和~/.bashrc文件末尾,并且記得source更新。
使用命令java -version查看JDK版本。
[hadoop@hadoop4 ~]# java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
2)Hadoop服務(wù)
可利用hadoop1上現(xiàn)有的hadoop目錄
[hadoop@hadoop1 local]scp -r hadoop? hadoop@hadoop4:/usr/local/hadoop
[hadoop@hadoop1 local]ssh? hadoop@hadoop4
在hadoop4服務(wù)器上更新環(huán)境變量
# hadoop config
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
以上內(nèi)容追加到/etc/profile和~/.bashrc文件末尾,并且記得source更新。
使用命令hadoop version查看JDK版本。
[hadoop@hadoop4 ~]# hadoop version
Hadoop 3.3.1
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T05:13Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /usr/local/hadoop/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jarJava HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
三、測(cè)試驗(yàn)證
- 在要上線的節(jié)點(diǎn)上啟動(dòng)datanode
[hadoop@hadoop4 sbin] ./hadoop-daemon.sh start datanode
數(shù)據(jù)均衡需使用以下命令
[hadoop@hadoop4 sbin] start-balancer.sh -threshold 2
執(zhí)行這行命令以后,如果某個(gè)節(jié)點(diǎn)的數(shù)據(jù)塊數(shù)量超過了其他任何節(jié)點(diǎn)的數(shù)據(jù)塊數(shù)量超過 2 個(gè),那么平衡器將啟動(dòng)并重新分配數(shù)據(jù)塊,以使得各個(gè)節(jié)點(diǎn)的數(shù)據(jù)塊數(shù)量盡可能接近。
- 需要啟動(dòng)nodemanager,則執(zhí)行
[hadoop@hadoop4 sbin] ./yarn-daemon.sh start nodemanager
然后在hadoop4上查看Jps進(jìn)程。
?
同時(shí)具備這兩個(gè)進(jìn)程,表明新節(jié)點(diǎn)已經(jīng)同步和增加完畢了,集群新增服務(wù)器節(jié)點(diǎn)增設(shè)完畢!
[hadoop@hadoop4 sbin] hadoop dfsadmin -report
此命令獲取 Hadoop 分布式文件系統(tǒng)(HDFS)的狀態(tài)報(bào)告。該命令將在終端上輸出有關(guān) HDFS 集群的詳細(xì)信息,包括節(jié)點(diǎn)的名稱、狀態(tài)、容量、數(shù)據(jù)塊數(shù)量等。通過該命令,用戶可以了解 HDFS 集群的整體狀態(tài),以便進(jìn)行故障排除和性能優(yōu)化等操作。
輸出的狀態(tài)報(bào)告包括以下主要部分:
集群 ID 和名稱:HDFS 集群的 ID 和名稱。
節(jié)點(diǎn)信息:HDFS 集群中所有節(jié)點(diǎn)的詳細(xì)信息,包括節(jié)點(diǎn)名稱、節(jié)點(diǎn)類型、節(jié)點(diǎn)狀態(tài)、數(shù)據(jù)塊數(shù)量、磁盤使用情況等。
數(shù)據(jù)塊復(fù)制情況:HDFS 集群中每個(gè)數(shù)據(jù)塊的復(fù)制情況,包括數(shù)據(jù)塊 ID、復(fù)制數(shù)量、存儲(chǔ)位置等。
文件系統(tǒng)總體情況:HDFS 集群中整個(gè)文件系統(tǒng)的情況,包括總?cè)萘俊⒁咽褂萌萘?、剩余容量等?/p>
?
查看HDFS集群總?cè)萘繌?.88T擴(kuò)容到3.55T。
查看YARN集群節(jié)點(diǎn)從3個(gè)擴(kuò)容到4個(gè),資源總量從memory 48GB vCores 24個(gè)擴(kuò)容到memory 64GB vCores 32個(gè)。
??
?
hadoop4已經(jīng)充當(dāng)計(jì)算節(jié)點(diǎn),跑任務(wù)了。
其他:數(shù)據(jù)均衡相關(guān)記錄
?
數(shù)據(jù)均衡期間會(huì)極大消耗網(wǎng)絡(luò)資源(需在非業(yè)務(wù)高峰期執(zhí)行)
?
數(shù)據(jù)均衡期間也會(huì)極大消耗服務(wù)器內(nèi)存資源(需在非業(yè)務(wù)高峰期執(zhí)行)
120G數(shù)據(jù)平衡花了1個(gè)小時(shí),生產(chǎn)環(huán)境數(shù)據(jù)平衡時(shí)需要注意時(shí)間點(diǎn)。
數(shù)據(jù)平衡結(jié)束后,各節(jié)點(diǎn)的hdfs數(shù)據(jù)目錄容量不變,內(nèi)存消耗降下來,但是還有很多在buff/cache里,需要執(zhí)行以下命令手動(dòng)釋放緩存:
[root@hadoop2 ~]# sync && echo 3 > /proc/sys/vm/drop_caches文章來源:http://www.zghlxwxcb.cn/news/detail-805553.html
[root@hadoop2 ~]# free -g文章來源地址http://www.zghlxwxcb.cn/news/detail-805553.html
到了這里,關(guān)于hadoop集群中增加新節(jié)點(diǎn)服務(wù)器(DataNode + NodeManager)方案及驗(yàn)證的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!