由於安裝配置Hadoop牽涉的內容較多,我將Hadoop的安裝配置拆成了3篇文章來講述。
這是第二篇。
![怎麼安裝大數據計算核心軟件Hadoop?進行分佈式計算和存儲第二篇](http://p2.ttnews.xyz/loading.gif)
第一篇的內容參考我的上一篇文章:一、怎麼進行分佈式計算和分佈式存儲?安裝大數據計算核心Hadoop
本文的主要內容是:
1、配置完Hadoop以後,把虛擬機複製7份然後分別配置,或者在實體服務器上將Hadoop軟件包複製給另外7臺服務器;
2、進行首次啟動Hadoop,執行一些初始化的工作,並且格式化HDFS等等。
Hadoop配置完成以後的操作
注意:以下內容需要一步一步的來操作,如果你還不熟悉,一定不要跳過任何一步。
將配置好的虛擬機複製出來7份,並分別都啟動,接著進行如下操作:
![怎麼安裝大數據計算核心軟件Hadoop?進行分佈式計算和存儲第二篇](http://p2.ttnews.xyz/loading.gif)
修改網卡IP
先用root權限操作:先用root權限操作:先用root權限操作:
重要的事情說3遍。
用root用戶執行下述命令:
在222-228服務器上運行以下指令,修改成對應的IP
vi /etc/sysconfig/network-scripts/ifcfg-ens160
IP配置完畢以後,輸入一下指令,重啟網卡:
先載入新的網卡配置文件:
nmcli c reload
執行網卡重啟(下面的三條命令都可以):
nmcli c up ens160
nmcli d reapply ens160
nmcli d connect ens160
總結:重啟CentOS Linux 8的網卡,先載入新的配置文件,然後再執行重啟網卡命令即可。
修改各自的hostname
先用root權限操作:先用root權限操作:先用root權限操作:
重要的事情說3遍。
用root用戶執行下述命令:
在222-228服務器上分別運行以下指令,修改成對應的hostname
hostnamectl set-hostname hadoop222
hostnamectl set-hostname hadoop223
hostnamectl set-hostname hadoop224
hostnamectl set-hostname hadoop225
hostnamectl set-hostname hadoop226
hostnamectl set-hostname hadoop227
hostnamectl set-hostname hadoop228
配置免密碼登錄
生成各種密碼文件(如果是虛擬機,可在安裝全部的軟件後再操作)
下面以hadoop用戶操作:下面以hadoop用戶操作:下面以hadoop用戶操作
重要的事情說3遍。
1、 在所有的服務器上執行以下命令(包括主服務器)
切換到hadoop用戶,並進入hadoop的主目錄:
su hadoop
cd
生成驗證密鑰:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
驗證密鑰發送給主服務器:
cat ~/.ssh/id_rsa.pub|ssh hadoop@hadoop221 "cat - >> ~/.ssh/authorized_keys"
2、如果需要互相免密碼登錄,則主服務器執行下面命令,把密鑰分發給從服務器
scp ~/.ssh/authorized_keys hadoop@hadoop222:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@hadoop223:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@hadoop224:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@hadoop225:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@hadoop226:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@hadoop227:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@hadoop228:~/.ssh/authorized_keys
在所有的服務器上執行以下命令(包括主服務器)
chmod 0600 ~/.ssh/authorized_keys
退出hadoop用戶,再重新 su hadoop進入一次即可免密登錄了
修改Zookeeper的myid
下面以hadoop用戶操作:下面以hadoop用戶操作:下面以hadoop用戶操作
重要的事情強調3遍。
用hadoop用戶執行下述命令,在226-228上分別執行下列命令:
echo 226 > /home/hadoop/data/zkdata/myid #hadoop226上執行這個命令
echo 227 > /home/hadoop/data/zkdata/myid #hadoop227上執行這個命令
echo 228 > /home/hadoop/data/zkdata/myid #hadoop228上執行這個命令
如果是在真實的服務器上操作,則需要將hadoop安裝包分發到其他集群節點
重點強調: 每臺服務器中的hadoop安裝包的目錄必須一致, 安裝包的配置信息還必須保持一致
下面以hadoop用戶操作:下面以hadoop用戶操作:下面以hadoop用戶操作
重要的事情強調3遍。
命令如下:
scp -r /home/hadoop/server/hadoop-3.2.1/ hadoop222:$PWD
scp -r /home/hadoop/server/hadoop-3.2.1/ hadoop223:$PWD
scp -r /home/hadoop/server/hadoop-3.2.1/ hadoop224:$PWD
scp -r /home/hadoop/server/hadoop-3.2.1/ hadoop225:$PWD
scp -r /home/hadoop/server/hadoop-3.2.1/ hadoop226:$PWD
scp -r /home/hadoop/server/hadoop-3.2.1/ hadoop227:$PWD
scp -r /home/hadoop/server/hadoop-3.2.1/ hadoop228:$PWD
第一次啟動Hadoop服務
重點強調:一定要按照以下步驟逐步進行操作,下面以hadoop用戶操作
重點強調:一定要按照以下步驟逐步進行操作,下面以hadoop用戶操作
重點強調:一定要按照以下步驟逐步進行操作,下面以hadoop用戶操作
su hadoop
1、啟動Zookeeper
啟動3臺服務器上的zookeeper服務,一臺一臺啟動(226-228)
zkServer.sh start
查看是否啟動成功:
jps
查看各臺服務器的狀態:
zkServer.sh status
顯示內容類似如下:
三臺機器,一臺一臺啟動並顯示集群成功以後,繼續執行以下內容。
2、啟動journalnode
按照之前的規劃,我的是在hadoop223、hadoop224、hadoop225上進行啟動,啟動命令如下:
hdfs --daemon start journalnode
jps
顯示內容如下:
3、格式化namenode
格式化namenode,在hadoop221上執行,只在第一次安裝的時候運行此命令,會清空數據
hdfs namenode -format
顯示內容部分如下:
重要的是這一句:
Storage directory /home/hadoop/data/dfs/name has been successfully formatted.
4、複製namenode數據給hadoop222
要把在hadoop221節點上生成的元數據 給複製到 另一個namenode(hadoop222)節點上,只在第一次安裝的時候運行此命令
cd /home/hadoop/data
ll
顯示內容如下:
dfs journaldata zkdata
複製namenode數據給hadoop222
scp -r dfs/ hadoop222:$PWD
顯示內容如下:
5、格式化zkfc
重點強調:只能在nameonde節點進行(hadoop221/ hadoop222)
重點強調:只能在nameonde節點進行(hadoop221/ hadoop222)
重點強調:只能在nameonde節點進行(hadoop221/ hadoop222)
hdfs zkfc -formatZK
重要的是這一句:Successfully created /hadoop-ha/myha01 in ZK.
第一次啟動Hadoop的時候運行的命令,結束!!!!
日常的啟動,請看下一篇內容。
以後不要再重複執行本文內容,否則。。。。。後果自負
閱讀更多 石哥話科技 的文章