伺服器名稱
|
IP
|
HDFS
|
YARN
|
master
|
192.168.56.100
|
NameNode
|
ResourceManager
|
data1
|
192.168.56.101
|
DataNode
|
NodeManager
|
data2
|
192.168.56.102
|
DataNode
|
NodeManager
|
data3
|
192.168.56.103
|
DataNode
|
NodeManager
|
安裝步驟
2 VirtualBox 介面卡設定
3 設定data1伺服器
4 複製data1伺服器至data2、data3、master
5 設定data2伺服器
6 設定data3伺服器
7 設定master伺服器
8 master連線至data1、data2、data3建立HDFS目錄
9 建立與格式化NameNode HDFS 目錄
10 啟動Hadoop Multi Node cluster
11 開啟Hadoop Resource-Manager Web介面
12 開啟NameNode Web介面
5.1.複製Single Node Cluster到data1
我們將第4章所建立的Single Node Cluster VirtualBox hadoop虛擬機器複製到data1
5.2.VirtualBox介面卡設定
請參考本書說明設定虛擬機器介面卡
5.3.設定data1伺服器
Step2.編輯網路設定檔設定固定IP
sudo gedit /etc/network/interfaces輸入下列內容
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
Step3.設定hostname
sudo gedit /etc/hostname輸入下列內容:
data1Step4.設定hosts檔案
sudo gedit /etc/hosts加入下列內容:
192.168.56.100 master 192.168.56.101 data1 192.168.56.102 data2 192.168.56.103 data3Step5.修改core-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml在<configuration></configuration>之間,輸入下列內容:
<property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property>
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml在<configuration></configuration>之間,加入下列內容:
<property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8025</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8050</value> </property>
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml在<configuration></configuration>之間,輸入下列內容:
<property> <name>mapred.job.tracker</name> <value>master:54311</value> </property>Step8.修改hdfs-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml在<configuration></configuration>之間,輸入下列內容:
<property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.datanode.data.dir</name> <value> file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value> </property>Step10.確認網路設定
ifconfig5.4.複製data1伺服器至data2、data3、master
請參考書中說明,複製data1伺服器至data2、data3、master
5.5.設定data2伺服器
Step2.設定data2固定IP
sudo gedit /etc/network/interfaces輸入下列內容
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.102 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255
Step3.設定data2主機名稱
sudo gedit /etc/hostname輸入下列內容:
data2
5.6.設定data3伺服器
Step6.設定data3固定IP
sudo gedit /etc/network/interfaces輸入下列內容
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.103 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255Step7.設定data3主機名稱
sudo gedit /etc/hostname輸入下列內容:
data3
5.7.設定master伺服器
Step2.設定master固定IP
sudo gedit /etc/network/interfaces輸入下列內容
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.100 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255
Step3.設定master主機名稱
sudo gedit /etc/hostname輸入下列內容:
master
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml輸入下列內容:
<property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value> file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value> </property>
Step5.設定master檔案
sudo gedit /usr/local/hadoop/etc/hadoop/master輸入下列內容:
master
Step6.設定slaves檔案
sudo gedit /usr/local/hadoop/etc/hadoop/slaves輸入下列內容:
data1 data2 data3
master SSH連線至data1並建立HDFS目錄
ssh data1 sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode sudo chown hduser:hduser -R /usr/local/hadoop exitmaster SSH連線至data2並建立HDFS目錄
ssh data2 sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode sudo chown hduser:hduser -R /usr/local/hadoop exitmaster SSH連線至data3並建立HDFS目錄
ssh data3 sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode sudo chown hduser:hduser -R /usr/local/hadoop exit5.9.建立與格式化NameNode HDFS 目錄
Step1 重新建立NameNode HDFS 目錄
sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode sudo chown -R hduser:hduser /usr/local/hadoopStep2 格式化NameNode HDFS 目錄
hadoop namenode -format5.10.啟動Hadoop
啟動全部
start-all.sh或
啟動start-dfs.sh,再啟動 start-yarn.sh
start-dfs.sh
start-yarn.sh查看目前所執行的行程
jps5.11.開啟Hadoop Resource-Manager Web介面
Hadoop ResourceManager Web介面網址
http://master:8088/5.12 開啟NameNode Web介面
開啟HDFS Web UI網址
http://master:50070/
以上內容節錄自這本書有詳細介紹:
Python+Spark 2.0+Hadoop機器學習與大數據分析實戰 http://www.tenlong.com.tw/items/9864341537?item_id=1023658
在5.3 設定 data1 伺服器 Step 10 用 ifconfig 確認網路設定是否正確時,並沒有看到如書上的設定結果(192.168.x.x IP address 都沒有顯示),是不是網路的設定有問題?
回覆刪除========================================================================================
hduser@data1:~$ ifconfig
enp0s3 Link encap:Ethernet HWaddr 08:00:27:ee:a4:39
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::1e45:232f:59c9:450f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:79 errors:0 dropped:0 overruns:0 frame:0
TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10254 (10.2 KB) TX bytes:14678 (14.6 KB)
enp0s8 Link encap:Ethernet HWaddr 08:00:27:97:ef:b2
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:19369 (19.3 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:141 errors:0 dropped:0 overruns:0 frame:0
TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:11607 (11.6 KB) TX bytes:11607 (11.6 KB)
hduser@data1:~$
Sorry, 剛發現我的 Ubuntu OS 是 16.04 版, 所以新版的 OS 應該在網路設定部分與舊版 OS 不同。是不是只要編輯 grub 檔做修改,重新執行產生 config 檔,就可以用相同的網路環境來模擬?
回覆刪除網卡名稱在ubuntu 15後就有變更囉~~~
回覆刪除要嘛就編輯grub,要嘛就是修正範例的網卡編號~
其實把eth0,eth1->改能enps03和enps08
回覆刪除# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet static
address 192.168.56.100
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
其他步驟完全一樣 就沒問題了
其實把eth0,eth1->改能enp0s3和enp0s8(我打錯了,是這樣才對)
刪除開啟NameNode Web介面,用PORT 50070,無法開出LIVE NODE資訊
回覆刪除將50070改成9870就能看到了
刪除作者已經移除這則留言。
回覆刪除按照書本的步驟完成設定,可以從master透過ssh到不同的datax看到正在執行的行程,但是從master的web介面卻無法看到有任何datanode上來,有可能漏掉哪些設定呢?謝謝
回覆刪除在master端start-all.sh前依序輸入 > ssh-copy-id -i .ssh/id_rsa.pub hostname(data1/2/3),即可成功
刪除作者已經移除這則留言。
刪除