1.修改Linux主機名:/etc/hostname
ubuntu系統:vi /etc/hostname
將ubuntu默認的主機名ubuntu改爲suh01
2.修改IP:/etc/network/interfaces
修改配置文件/etc/network/interfaces
vi /etc/network/interfaces
#將原來的內容註釋掉:
#auto lo
#iface lo inet loopback
#然後添加以下內容:
auto eth0 #設置自動啓動eth0接口
iface eth0 inet static #配置靜態IP
address 192.168.1.101 #IP地址
netmask 255.255.255.0 #子網掩碼
gateway 192.168.1.1 #默認網關
3.修改主機名和IP的映射關係:/etc/hosts
vi /etc/hosts
#127.0.0.1 localhost
192.168.1.201 suh01
192.168.1.202 suh02
192.168.1.203 suh03
4.查看防火牆狀態、關閉防火牆:ufw status 、ufw disable
5.安裝JDK,配置環境變量等。
5.1上傳:使用ftp工具上傳jdk安裝文件
#創建文件夾,將安裝文件上傳至此目錄下
mkdir /usr/java
5.2解壓jdk
tar -zxvf jdk-7u76-linux-x64.tar.gz
5.3將java添加到環境變量中
vi /etc/profile
#在文件最後添加
export JAVA_HOME=/usr/java/jdk1.7.0_76
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
6.ssh免登陸:
6.1在suh01上執行:
ssh-keygen -t rsa (直接回車)
執行完這個命令後,會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
6.2然後將公鑰拷貝到要免登陸的機器上
ssh-copy-id suh01 (最好也給自己設置免登陸)
ssh-copy-id suh02
ssh-copy-id suh03
集羣規劃:
主機名 IP 安裝的軟件 運行的進程
suh01 192.168.1.201 jdk、hadoop NameNode、JobTracker、SecondaryNameNode
suh02 192.168.1.202 jdk、hadoop DataNode、TaskTracker
suh03 192.168.1.203 jdk、hadoop DataNode、TaskTracker
IP與主機名映射關係
-----------------------
192.168.1.201 suh01
192.168.1.202 suh02
192.168.1.203 suh03
-----------------------
安裝步驟:
1.安裝配置hadoop集羣(總共修改了六個配置文件:hadoo-env.sh、core-site.xml、hdfs-site.xml、slaves、yarn-site.xml、mapred-site.xml )
1.1上傳並解壓hadoop安裝包解壓
tar -zxvf hadoop-1.2.1.tar.gz
1.2配置相關文件(hadoop1.2.1所有的配置文件都在hadoop1.2.1/conf目錄下)
cd /home/suh/hadoop-1.2.1/conf
1.2.1修改hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_76
1.2.2修改core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://suh01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/suh/hadoop-1.2.1/tmp</value>
</property>
</configuration>
1.2.3修改hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
1.2.4 修改mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>suh01:9001</value>
</property>
</configuration>
1.2.5修改masters 文件,添加如下內容:
suh01
1.2.6修改slaves 文件,添加如下內容:
suh02
suh03
1.3將配置好的hadoop拷貝到其他節點(爲了拷貝更快速,建議把/home/hadoop-2.2.0/share 下的doc目錄刪掉:rm -rf doc)
scp -r /home/suh/hadoop-1.2.1/ suh@suh02:/home/suh/
scp -r /home/suh/hadoop-1.2.1/ suh@suh03:/home/suh/
======開始啓動集羣=======
2.1格式化HDFS
在hdfs的NameNode機器(suh01)上執行命令:
./bin/hadoop namenode -format
2.2啓動HDFS(在suh01上執行,這裏最好先配置好免登錄,不然會提示輸入密碼,免登陸配置在下文有配置步驟)
./bin/start-all.sh
執行成功後進行相關檢驗:
(1)、suh01上多了NameNode、JobTracker、SecondaryNameNode進程;
(2)、接着分別進入到suh02、suh03機器,運行jps命令查看,發現它也啓動好了DataNode、TaskTracker進程;
======hadoop集羣啓動成功後,進行測試======
3.1到此,hadoop1.2.1配置完畢,可以進行瀏覽器訪問:
http://192.168.1.201:50070
3.2運行wordcount測試
hdfs上創建目錄:
./bin/hadoop fs -mkdir /in
從linux上傳測試數據文件到hdfs上:
./bin/hadoop fs -put /home/suh/test1 /in
執行測試例子:
./bin/hadoop jar hadoop-examples-1.2.1.jar wordcount /in/ /out