叢集安裝配置hadoop
叢集節點:node4、node5、node6、node7、node8。具體架構:
<col>
node4
namenode,secondnamenode,jobtracker
node5
datanode,tasktracker
node6
node7
node8
作業系統為:centos release 5.5 (final)
安裝步驟
一、建立hadoop使用者組。
二、安裝jdk。下載下傳安裝jdk。安裝目錄如下:
三、修改機器名,修改檔案/etc/hosts。如下:
四、安裝ssh服務。指令:yum install openssh-server。
五、建立ssh無密碼登陸。
(一)切換到hadoop使用者。su – hadoop
(二)建立ssh-key,利用ssh-keygen指令,采用rsa方式生成密鑰。指令:ssh-keygen -t rsa -f ~/.ssh/id_rsa,産生公鑰:~/.ssh/id_rsa.pub。
(三)将公鑰添加至authorized_keys中。指令:
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
(四)修改authorized_keys檔案權限:
(五) 編輯sshd配置檔案/etc/ssh/sshd_confi把#authorizedkeysfile .ssh/authorized_keys前面的注釋取消掉。
(六)重新啟動sshd服務。
(七)将authorized_keys檔案複制到其他節點上(node5——8)。如下:
(八)測試ssh連接配接。連接配接時會提示是否連接配接,按回車後會将此公鑰加入至knows_hosts中,指令:
ssh localhost;
連接配接成功後,記得exit,退出遠端機器。
六、将hadoop相關程式下載下傳上傳到node4上。
下載下傳使用的hadoop版本為1.2.1。
七、安裝配置hadoop
(一)登陸node4,切換hadoop使用者。建立安裝目錄,解壓hadoop,指令:
mkdir hadoop_program //建立hadoop安裝目錄。
cp hadoop/hadoop-1.2.1.tar.gz hadoop_program/ //将hadoop程式cp到hadoop安裝目錄下。
cd hadoop_program/ //cd到該目錄。
tar -xvf hadoop-1.2.1.tar.gz //解壓hadoop程式。
mv hadoop-1.2.1 hadoop //将hadoop目錄改名字
(二)建立環境hadoop相關環境變量。
修改conf/hadoop-env.sh。找到#export java_home=...,去掉注釋#,然後加上本機的jdk路徑(在第二步安裝的路徑),如下:
添加hadoop_home環境變量,指令:vim ~/.bashrc。添加如下:
(三)修改hadoop配置檔案
修改conf/core-site.xml檔案。
修改mapred-site.xml檔案
修改hdfs-site.xml
修改masters檔案
修改slaves檔案
八 将配置好的hadoop和jdk複制到其他節點上:
九。啟動hadoop測試是否安裝成功。
指令:hadoop namenode -format(首先格式化namenode)。
指令:start-all.sh (啟動hadoop)。
指令:cd到jdk的bin目錄下。運作jps指令。察看:
node4:
運作正常。
node5-8:
十。遇到問題。
1、安裝的過程發現node5-8無法啟動datanode和tasktracker,後來發現原因為node5-8機器中已經運作了java程式。用ps -ef|grep java察看,關閉相關程序後,再啟動hadoop後正常。
2、使用過程中,出現錯誤:bad connect ack with firstbadlink,解決辦法:
1) ‘/etc/init.d/iptables stop‘ -->stopped firewall
2) selinux=disabled in ‘/etc/selinux/config‘ file.-->disabled selinux