Hadoop基於3臺虛擬機下的集羣配置
1. 準備工作
先虛擬出3臺虛擬機 (本實驗使用的是fedora 18+VMware Workstation 9)
Jdk-6u16-linux-i586-rpm.bin
機器名 |
Ip地址 |
作用 |
master |
192.168.253.133 |
NameNode、JobTracker |
slave1 |
192.168.253.137 |
DataNode、TaskTracker |
slave2 |
192.168.253.135 |
DataNode、TaskTracker |
hadoop-1.2.1.tar.gz
2. 先設定主機名,每臺主機名都不一樣
2.1在192.168.253.133設置如下:
#echo “master” >hostname
#mv hostname /etc/hostname
#hostname –F /etc/hostname
檢查是否設置正確
#hostname
出現master則表示設置正確
2.2在192.168.253.137設置如下
#echo “slave1” >hostname
#mv hostname /etc/hostname
#hostname –F /etc/hostname
檢查是否設置正確
#hostname
出現slave1則表示設置正確
2.3在192.168.253.135設置如下
#echo “slave2” >hostname
#mv hostname /etc/hostname
#hostname –F /etc/hostname
檢查是否設置正確
#hostname
出現slave2則表示設置正確
2.4配置每臺機器的/etc/hosts 保證各臺機器之間通過機器名可以互訪,實例配置如下(每臺機器都配置)
192.168.253.133 master
192.168.253.137 slave1
192.168.253.135 slave2
3. 在3臺虛擬機上分別安裝jdk(方法相同,以下只舉一個實例,讀者可在3臺虛擬機上用同樣的方法配置)
2.1卸載fedora 18自帶的openjdk(因爲其javac命令不能用)#yum –y remove java 全名
2.2安裝Jdk-6u16-linux-i586-rpm.bin
#chmod +x jdk-6u16-linux-i586-rpm.bin
#./jdk-6u16-linux-i586-rpm.bin
然後ctrl+C翻頁 選擇yes
2.3配置/etc/profile(設置環境變量)
在done的後面、unset i的前面輸入
#set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_16
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
2.4測試是否成功
#java –version
能出現自己配置的java版本則說明已安裝配置成功。
3.安裝ssh
3.1 查看Fedora是否自帶有openssh
如果出現
則說明linux自帶有openssh
3.2設定三臺機器登入免密碼
在"master" 上操作
接着將key產生並複製到其他node上
# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""
# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
# scp -r ~/.ssh slave1:~/
# scp -r ~/.ssh slave2:~/
3.3 測試是否能無密碼登陸
4、安裝hadoop
4.1下載hadoop-1.2.1.tar.gz,
解壓:tar -zvxf hadoop-1.2.1.tar.gz
4.2配置hadoop:
hadoop 的主要配置都在 hadoop-1.2.1 /conf 下。
(1) 在 conf/hadoop-env.sh 中配置 Java 環境
export JAVA_HOME=jdk的路徑
(2) 配置 conf/core-site.xml, conf/hdfs-site.xml 及 conf/mapred-site.xml
core-site.xml的配置
<configuration>
<property>
<name> fs.default.name </name>
<value> hdfs://master:9000 </value>
</property>
</configuration>
hdfs-site.xml的配置 ( replication 默認爲 3 ,如果不修改, datanode 少於三臺就會報錯)
<configuration>
<property>
<name> dfs.replication </name>
<value> 1 </value>
</property>
</configuration>
mapred-site.xml的配置
<configuration>
<property>
<name>mapred.job.tracker</name>
<value> master:9001 </value>
</property>
</configuration>
4.3設定 主從節點(所有節點相同)
配置conf/masters和conf/slaves來設置主從結點,注意最好使用主機名,並且保證機器之間通過主機名可以互相訪問,每個主機名一行
4.4配置完成後
(1)格式化文件系統 #bin/hadoop namenode – format
(2)啓動hadoop:bin/start-all.sh
(3)用jps命令查看進程 master
slave2