和偽分布部署近似,就是略多一些步驟.
1.Linux環(huán)境搭建
學(xué)習(xí)環(huán)境:Linux(CentOS),VMware Workstation
為了節(jié)省時間,把原先偽分布模式下的環(huán)境克隆成三份

2.關(guān)閉各服務(wù)器的防火墻
(如果是偽分布模式克隆的可以省略)
2.1.Terminal : setup

2.2.選擇防火墻設(shè)置,關(guān)閉防火墻(空格鍵選擇, Tab 鍵移動)

2.3.測試防火墻是否關(guān)閉
Terminal : service iptables status
如果返回Firewall is not running.表示成功
3.修改各服務(wù)器的 ip 地址 (使用靜態(tài) ip 地址,便于訪問管理)

4.修改所有服務(wù)器的 機器名
4.1.Terminal: gedit /etc/sysconfig/network
4.2.修改 HOSTNAME=<機器名> 例如 HOSTNAME=hadoop0
4.3.重啟服務(wù)器
5.修改所有服務(wù)器的 hosts
5.1.Terminal: gedit /etc/hosts
5.2.添加所有主機的<ip> <主機名>
例如:
192.168.111.130 hadoop0
192.168.111.131 hadoop1
192.168.111.132 hadoop2
6.設(shè)置 ssh 自動登錄
6.1.Terminal: gedit /etc/selinux/config
6.2.設(shè)置SELINUX=disabled
6.3.Terminal:cd ~/.ssh
6.4.清空原key:Terminal:rm -rf *
6.5.生成 key:Terminal: sshkeygen -t dsa
設(shè)置登錄密碼為空(多次回車確認(rèn)即可)
6.6.Terminal:cat id_dsa.pub >>authorized_keys
注意:是authorized_keys,不是authorized.keys
6.7.重啟
6.8.驗證本機是否成功
Terminal:ssh + <機器名>
如果不要求輸入密碼即為成功(首次執(zhí)行可能要輸入 yes確認(rèn)連接)
6.9.將本機的 key 傳到其他服務(wù)器
ssh-copy-id -i /root/.ssh/id_dsa.pub hadoop2
ssh-copy-id -i /root/.ssh/id_dsa.pub hadoop1
6.10.可以先在一臺服務(wù)器中匯總所有 key,然后復(fù)制到其他服務(wù)器
6.10.1.驗證匯總是否成功
Terminal:cat authorized_keys 每各段尾有服務(wù)器的名稱,例如root@hadoop1,如果每臺服務(wù)器的信息都有,則key 傳送成功.
Terminal:ssh + <各機器名> 如果不要求輸入密碼即為成功
6.10.2.拷貝副本至其他服務(wù)器:
Terminal:scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/
6.11.驗證所有服務(wù)器是否成功
7.安裝 jdk
7.1.下載 jdk( 注意不是 jre)(測試成功版本1.6.0_24)
7.2.如果使用虛擬機,可以將安裝包復(fù)制到 Linux 中
7.3.修改權(quán)限
Terminal:chmod 777 jdk-6u24-linux-i586.bin
7.4.解壓
Terminal:
mv jdk-6u24-linux-i586.bin /usr/local/
cd /usr/local/
./jdk-6u24-linux-i586.bin
7.5.改名
mv jdk1.6.0_24 jdk
7.6.配置環(huán)境變量
Terminal:gedit /etc/profile
7.7.添加:
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
7.8.腳本生效
Terminal:soure /etc/profile
7.9.測試
Terminal:java -version
8.在各服務(wù)器中安裝 hadoop
8.1.下載 hadoop(測試成功版本 1.1.2)
8.2.如果使用虛擬機,可以通過復(fù)制安裝包到 Linux 中
8.3.修改權(quán)限
chmod 777 hadoop-1.1.2.tar.gz
8.4.移動
mv hadoop-1.1.2.tar.gz /usr/local
8.5.解壓,并重命名為 hadoop(方便使用)
tar -xvf hadoop-1.1.2.tar.gz
mv hadoop-1.1.2 hadoop
8.6.配置環(huán)境變量
gedit /etc/profile
添加:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
腳本生效
Terminal:soure /etc/profile
8.7.修改 hadoop 配置文件
cd /usr/local/hadoop/conf
分別在以下文件中添加內(nèi)容
8.7.1.hadoop-env.sh
export JAVA_HOME=/usr/local/jdk/
8.7.2.core-site.xml (修改為主服務(wù)器名稱)
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
8.7.3.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
8.7.4.mapred-site.xml(修改為主服務(wù)器名稱)
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
8.7.5.masters(SecondaryNameNode服務(wù)器)配置
修改為SecondaryNameNode備份服務(wù)器的名稱,建議和NameNode不同,例如hadoop1
8.7.6.slaves(TaskTracker\DataNode服務(wù)器)配置
例如:
hadoop1
hadoop2
8.8.啟動 hadoop
8.8.1.清空所有服務(wù)器 hadoop 下的 logs 和 tmp 文件
8.8.2.第一次啟動:在 hadoop0中格式化 namenode hadoop namenode -format
8.8.3.啟動:在 hadoop0 中輸入start-all.sh
8.8.4.驗證:在各服務(wù)器中輸入jps,可以看到各進程
8.8.5.停止:在 hadoop0中輸入: stop-all.sh
如果JobTracker`DataNode\TaskTracker\SecondaryNameNode\NameNode` 五個組件均啟動,則驗證成功.
注:如果缺少組件,一般為權(quán)限問題,把 hadoop 文件夾里的 temp\tmp 清空,把權(quán)限設(shè)置為777再重新啟動 hadoop 試試.
9.使用 hadoop
和偽分布模式一樣,在 java 中輸入輸出路徑只要填主服務(wù)器(例如hadoop0)的即可.
完成撒花~~~