專家指導 如何進行Hadoop分布式集群配置
在學習Hadoop的過程中,你可能會遇到Hadoop分布式集群配置問題,本節和大家一起學習一下Hadoop分布式集群配置方法,希望通過本節的介紹大家能夠掌握其方法。
Hadoop分布式集群配置總結
假設用2臺機器配置hadoop分布式集群,192.168.11.13為主服務器namenode,192.168.11.17為數據節點datanode
1.配置SSH的無密碼公鑰
192.168.11.13
用root登錄
創建用戶linleran:adduserlinleran
設置密碼:passwdlinleran
切換用戶:sulinleran
到用戶linleran的目錄(/home/linleran)新建文件件.ssh:mkdir.ssh
修改目錄.ssh權限為:[linleran@centos~]$chmod755.ssh
配置SSH的無密碼公鑰,一路回車。
[linleran@centos~]$ssh-keygen-trsa
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/home/linleran/.ssh/id_rsa):
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/home/linleran/.ssh/id_rsa.
Yourpublickeyhasbeensavedin/home/linleran/.ssh/id_rsa.pub.
Thekeyfingerprintis:
df:99:37:84:a1:04:34:06:60:45:b9:ce:43:af:54:77linleran@centos.test
進入.ssh目錄,將id_rsa.pub的內容復制到authorized_keys后面。
修改authorized_keys的權限為[linleran@centos.ssh]$chmod644authorized_keys。
192.168.11.17同樣執行以內容,且將id_rsa.pub內容添加到192.168.11.13的authorized_keys后面,同時將192.168.11.13的id_rsa.pub內容添加過來,以確保2臺機器相互可以ssh連接。Hadoop分布式集群配置時還要在主服務器安裝hadoop。
2.在主服務器安裝hadoop
解壓tarzxvfhadoop-0.18.2.tar.gz
創建目錄
/home/linleran/hadoop-0.18.2/hadoopfs/name
/home/linleran/hadoop-0.18.2/hadoopfs/data
/home/linleran/hadoop-0.18.2/tmp/
配置hadoop-env.sh設置jdk路徑exportJAVA_HOME=/home/linleran/jdk1.5.0_15
配置conf/hadoop-site.xml
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://192.168.11.13:9000/</value>
- </property>
- <property>
- <name>mapred.job.tracker</name>
- <value>192.168.11.13:9001</value>
- </property>
- <property>
- <name>dfs.name.dir</name>
- <value>/home/linleran/hadoop-0.18.2/hadoopfs/name</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/home/linleran/hadoop-0.18.2/hadoopfs/data</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/home/linleran/hadoop-0.18.2/tmp/</value>
- </property>
- </configuration>
配置conf/masters
將主機ip添加192.168.11.13
配置conf/slaves
將datanodeIP添加192.168.11.17
將配置好的hadoop通過scp部署到節點。scp–r/home/linleran/hadoop-0.18.2192.168.11.17:/home/linleran/hadoop-0.18.2
3.Hadoop分布式集群配置時在主服務器啟動
格式化一個新的分布式文件系統
bin/hadoopnamenode–format
啟動服務
bin/start-all.sh
4.測試
測試分布式文件系統
mkdirtest-in
echo“helloword”>file1.txt
echo“hellohadoop”>file2.txt
bin/hadoopdfs–puttest-ininput
bin/hadoopjarhadoop-0.18.2-examples.jarwordcountinputoutput
bin/hadoopdfs–getoutputresult
catresult/*
5.Hadoop分布式集群配置過程中遇到的問題
SSH無密碼訪問不成功。.ssh目錄需要755權限,authorized_keys需要644權限,否則一直提示輸入密碼。
Linux防火墻開著,hadoop需要開的端口需要添加,或者關掉防火墻。否則會出現節點服務器一直無法連上主服務器。節點服務器的日志不斷的retry:
INFOorg.apache.hadoop.ipc.Client:Retryingconnecttoserver…
數據節點連不上主服務器還有可能是使用了機器名的緣故,還是使用IP地址比較穩妥。
分布式文件系統報錯,java.lang.IllegalArgumentException:WrongFS:,hadoop-site.xml要配置正確,fs.default.name的value是hdfs://IP:端口/,mapred.job.tracker的value是IP:端口
【編輯推薦】
- HadoopStudio中實現MapReduce應用
- Hbase和Hadoop操作文件性能測試
- Hadoop創建Hbase表方法指導
- Hadoop 從Yahoo向Google的技術轉折
- Hadoop初探