[Hadoop係列]Hadoop的安裝-3.完全分布模式
inkfish原創,請勿商業性質轉載,轉載請注明來源(https://blog.csdn.net/inkfish )。
Hadoop是Apache基金會下的一個開源雲計算平台項目。當前最新版本是hadoop 0.20.1。下麵就hadoop 0.20.1為藍本,介紹在Ubuntu Linux 9.10下安裝hadoop的方法。(來源:https://blog.csdn.net/inkfish)
支持的平台:(來源:https://blog.csdn.net/inkfish)
Linux,可作為開發和產品部署的平台;
Windows,可作為開發平台。
事先需要的軟件:(來源:https://blog.csdn.net/inkfish)
1.JavaTM1.6.x,必須安裝,建議選擇Sun公司發行的Java版本;
2.ssh必須安裝,並保證sshd運行,hadoop將以ssh進行通訊;
3.如果是windows,則需要裝Cygwin,用以支持shell命令。
安裝可用的模式:(來源:https://blog.csdn.net/inkfish)
1.本地模式;
2.偽分布模式;
3.完全分布模式。
完全分布模式安裝步驟(這裏的步驟隻讓hadoop能跑,不帶任何調優步驟):
1.下載並解壓hadoop到集群中某台服務器目標目錄。
2.配置/etc/hosts文件
2.1確認集群中所有服務器均有hostname,並記錄IP
2.2每一台服務器的/etc/hosts文件裏配置hostname和IP對應關係,加快解析速度。
3.配置SSH免密碼登陸
3.1每台服務器上運行:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3.2把各台服務器的~/.ssh/authorized_keys文件內容合並到一個總的authorized_keys文件;
3.3把那個總的authorized_keys文件scp到每台服務器,替換原有的authorized_keys文件;
3.4互相SSH對方機器,確認SSH登陸不需要密碼
4.配置各台服務器時間,確保每台服務器時間相同;
5.配置hadoop
5.1配置conf/hadoop-env.sh文件
配置JAVA_HOME一行,配置正確的路徑。
5.2配置conf/core-site.xml文件
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://host:9000</value>
</property>
</configuration>
注:這裏的host必須改為對應的namenode的hostname
5.3配置conf/hdfs-site.xml文件
如果不修改使用默認設置也可以。
5.4配置conf/mapred-site.xml文件
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
注:這裏的host必須改為對應的namenode的hostname
6.配置conf/slaves和conf/master文件
slaves文件裏寫datanode的hostname或IP,master裏寫namenode、secondary namenode的hostname或IP,每行寫一個服務器,以#開頭的行視為注釋。
7.分發hadoop
直接通過scp,把hadoop整個目錄複製到各台服務器的相同目錄即可
8.格式化hadoop的namenode
執行命令:$ bin/hadoop namenode -format
9.啟動hadoop
執行命令:$ bin/start-all.sh
至此,完全分布式安裝完畢,通常啟動到所有服務器完全識別出來需要一定的時間(我這裏是5分鍾左右),要耐心等待,在namenode節點上,打開瀏覽器,輸入https://localhost:50070/即可看到整個hadoop情況,JobTracker情況可以看每一個服務器的https://localhost:50030/。
最後更新:2017-04-02 04:01:44