專家指導(dǎo) 如何進行Hadoop分布式集群配置
在學(xué)習(xí)Hadoop的過程中,你可能會遇到Hadoop分布式集群配置問題,本節(jié)和大家一起學(xué)習(xí)一下Hadoop分布式集群配置方法,希望通過本節(jié)的介紹大家能夠掌握其方法。
Hadoop分布式集群配置總結(jié)
假設(shè)用2臺機器配置hadoop分布式集群,192.168.11.13為主服務(wù)器namenode,192.168.11.17為數(shù)據(jù)節(jié)點datanode
1.配置SSH的無密碼公鑰
192.168.11.13
用root登錄
創(chuàng)建用戶linleran:adduserlinleran
設(shè)置密碼:passwdlinleran
切換用戶:sulinleran
到用戶linleran的目錄(/home/linleran)新建文件件.ssh:mkdir.ssh
修改目錄.ssh權(quán)限為:[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的內(nèi)容復(fù)制到authorized_keys后面。
修改authorized_keys的權(quán)限為[linleran@centos.ssh]$chmod644authorized_keys。
192.168.11.17同樣執(zhí)行以內(nèi)容,且將id_rsa.pub內(nèi)容添加到192.168.11.13的authorized_keys后面,同時將192.168.11.13的id_rsa.pub內(nèi)容添加過來,以確保2臺機器相互可以ssh連接。Hadoop分布式集群配置時還要在主服務(wù)器安裝hadoop。
2.在主服務(wù)器安裝hadoop
解壓tarzxvfhadoop-0.18.2.tar.gz
創(chuàng)建目錄
/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設(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部署到節(jié)點。scp–r/home/linleran/hadoop-0.18.2192.168.11.17:/home/linleran/hadoop-0.18.2
3.Hadoop分布式集群配置時在主服務(wù)器啟動
格式化一個新的分布式文件系統(tǒng)
bin/hadoopnamenode–format
啟動服務(wù)
bin/start-all.sh
4.測試
測試分布式文件系統(tǒng)
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權(quán)限,authorized_keys需要644權(quán)限,否則一直提示輸入密碼。
Linux防火墻開著,hadoop需要開的端口需要添加,或者關(guān)掉防火墻。否則會出現(xiàn)節(jié)點服務(wù)器一直無法連上主服務(wù)器。節(jié)點服務(wù)器的日志不斷的retry:
INFOorg.apache.hadoop.ipc.Client:Retryingconnecttoserver…
數(shù)據(jù)節(jié)點連不上主服務(wù)器還有可能是使用了機器名的緣故,還是使用IP地址比較穩(wěn)妥。
分布式文件系統(tǒng)報錯,java.lang.IllegalArgumentException:WrongFS:,hadoop-site.xml要配置正確,fs.default.name的value是hdfs://IP:端口/,mapred.job.tracker的value是IP:端口
【編輯推薦】
- HadoopStudio中實現(xiàn)MapReduce應(yīng)用
- Hbase和Hadoop操作文件性能測試
- Hadoop創(chuàng)建Hbase表方法指導(dǎo)
- Hadoop 從Yahoo向Google的技術(shù)轉(zhuǎn)折
- Hadoop初探