先在 /etc/hosts
加入
192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
192.168.1.103 slave3
配置叢集/分散式環境
1. 我們需要修改 /usr/local/hadoop/etc/hadoop 的五個配置文件:
slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
2. 進入配置文件資料夾
cd /usr/local/hadoop/etc/hadoop
配置內容如下:
檔案名稱
—————————————————
檔案內容
slaves
—————————————————
把原先裡面的「localhost」刪除,改成
slave01
slave02
slave03
core-site.xml
—————————————————
將原先只有
< configuration>
< /configuration>
的部分,改成下列設定:
< configuration>
< property>
< name>fs.defaultFS
< value>hdfs://master:9000
< /property>
< property>
< name>hadoop.tmp.dir
< value>file:/usr/local/hadoop/tmp
< description>Abase for other temporary directories.
< /property>
< /configuration>
hdfs-site.xml
—————————————————
將原先只有
< configuration>
< /configuration>
的部分,改成下列設定:
< configuration>
< property>
< name>dfs.namenode.secondary.http-address
< value>master:50090
< /property>
< property>
< name>dfs.namenode.name.dir
< value>file:/usr/local/hadoop/tmp/dfs/name
< /property>
< property>
< name>dfs.datanode.data.dir
< value>file:/usr/local/hadoop/tmp/dfs/data
< /property>
< property>
< name>dfs.replication
< value>3
< /property>
< /configuration>
備註:因為我有 3 台 slave,所以 dfs.replicaton 值改成 3
mapred-site.xml
—————————————————
將原先只有
< configuration>
< /configuration>
的部分,改成下列設定:
< configuration>
< property>
< name>mapreduce.framework.name
< value>yarn
< /property>
< /configuration>
yarn-site.xml
將原先只有
< configuration>
< /configuration>
的部分,改成下列設定:
< configuration>
< property>
< name>yarn.resourcemanager.hostname
< value>master
< /property>
< property>
< name>yarn.nodemanager.aux-services
< value>mapreduce_shuffle
< /property>
< /configuration>
3. 接下來,我們要將 master 上面的 hadoop 資料夾打包,傳輸給所有 slave 主機:
cd /usr/local
rm -r ./hadoop/tmp
sudo tar -zcf ./hadoop.tar.gz ./hadoop
scp ./hadoop.tar.gz slave01:/home/hadoop
scp ./hadoop.tar.gz slave02:/home/hadoop
scp ./hadoop.tar.gz slave03:/home/hadoop
4. 傳輸完畢,我們分別到 slave01、slave02、slave03 主機裡,進行操作:
sudo tar -zxf ~/hadoop.tar.gz -C /usr/local
sudo chown -R hadoop:hadoop /usr/local/Hadoop
5. 完成後,我們回到 master 主機,準備正式啟動 Hadoop 軟體(「bin/hdfs namenode -format」這個指令,我們只要初次啟動的時候設定就好,以後不會用到):
cd /usr/local/hadoop/
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
6. 啟動完成,若沒有錯誤訊息,我們可以透過「jps」指令,來查看各個主機啟動的程序。圖八為master 的服務程序,原則上會有「SecondaryNameNode、ResourceManager、NameNode」;圖九為其它 slave 的服務程序,原則上會有「DataNode、NodeManager」:
reference: http://www.cc.ntu.edu.tw/chinese/epaper/0036/20160321_3609.html
[hadoop] 叢集作法
分類:hadoop