這篇文章將為大家詳細(xì)講解有關(guān)如何進行hadoop-0.20.2安裝及簡單使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、化州網(wǎng)站維護、網(wǎng)站推廣。
安裝步驟如下:
1.1 機器說明
總共有4臺機器:sc706-26、sc706-27、sc706-28、sc706-29
IP地址分別為:192.168.153.89、192.168.153.90、192.168.153.91、192.168.153.92
操作系統(tǒng)為:Linux的fedora12
jdk版本為:jdk-6u19-linux-i586
hadoop版本為:hadoop-0.20.2
sc706-26作為NameNode、JobTracker,其他三臺作為DataNode、TaskTracker
1.2 用機器名Ping通機器
用root登錄,修改NameNode和DataNode上的/etc/hosts文件,加入四臺機器的IP地址和機器名,如下:
192.168.153.89 sc706-26
192.168.153.90 sc706-27
192.168.153.91 sc706-28
192.168.153.92 sc706-29
設(shè)置好后驗證下各機器間是否ping通,用機器名或是IP地址都可以,例如ping sc706-27或ping 192.168.153.90
1.3 新建hadoop用戶
Hadoop要求所有機器上hadoop的部署目錄結(jié)構(gòu)要相同并且有一個相同的用戶名的帳戶,我的默認(rèn)路徑為/home/hadoop
1.4 ssh設(shè)置及關(guān)閉防火墻(需要用到root,su - )
1)fedora裝好后默認(rèn)啟動sshd服務(wù),如果不確定的話可以查一下 [root@sc706-26 hadoop]# service sshd status
如沒有啟動的話,先啟動 [root@sc706-26 hadoop]# service sshd start
建立ssh無密碼登錄,在NameNode上 [hadoop@sc706-26 ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
會在~/.ssh/生成兩個文件:id_dsa和id_dsa.pub,這兩是成對出現(xiàn)的,把id_dsa.pub文件追加到DataNode上的authorized_keys
[hadoop@sc706-26 ~]$ scp id_dsa.pub sc706-27:/home/hadoop/ (注意其中目標(biāo)機器后面的:與要傳到的文件路徑之間沒有空格,即sc706:與/home/hadoop/之間沒有空格)
scp id_dsa.pub sc706-28:/home/hadoop/
scp id_dsa.pub sc706-29:/home/hadoop/
登錄到DataNode上,[hadoop@sc706-27 ~]$ cat id_dsa.pub >> ~/.ssh/authorized_keys ,其余兩臺一樣,NameNode上也要追加。注意:追加完后必須修改NameNode和DataNode上的.ssh和authorized_keys的權(quán)限,chmod命令,參數(shù)755,完成后測試下,例如ssh sc706-27時不需要密碼就可以登錄,就可以知道ssh設(shè)置成功。
2)關(guān)閉防火墻(NameNode和DataNode都必須關(guān)閉)
[root@sc706-26 ~]# service iptables stop
注意:每次重新開機啟動hadoop前都必須關(guān)閉
1.5 安裝jdk1.6(幾臺機子都一樣)
在官網(wǎng)http://java.sun.com下載jdk-6u19-linux-i586.bin,之后直接安裝[root@sc706-26 java]#chmod +x jdk-6u19-linux-i586.bin [root@sc706-26 java]# ./jdk-6u19-linux-i586.bin,我的安裝路徑為:/usr/java/jdk1.6.0_19,安裝后添加如下語句到/etc/profile中:
export JAVA_HOME=/usr/java/jdk1.6.0_19
export JRE_HOME=/usr/java/jdk1.6.0_19/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
1.6 安裝hadoop
在官網(wǎng)http://apache.etoak.com//hadoop/core/下載hadoop-0.20.2.tar.gz
[hadoop@sc706-26 ~]$ tar xzvf hadoop-0.20.2.tar.gz
將hadoop的安裝路徑添加到/etc/profile中:
export HADOOP_HOME=/home/hadoop/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH
為了讓/etc/profile生效,source一下 [hadoop@sc706-26 ~]$ source /etc/profile
1.7 配置hadoop
其配置文件在/conf目錄下
1)配置JAVA環(huán)境
[hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_19
2)配置conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml文件
[hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/core-site.xml
[hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/mapred-site.xml
[hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/hdfs-site.xml
3)將NameNode上完整的hadoop拷貝到DataNode上,可先將其進行壓縮后直接scp過去或是用盤拷貝過去
4) 配置NameNode上的conf/masters和conf/slaves
masters:192.168.153.89
slaves:192.168.153.90
192.168.153.91
192.168.153.92
1.8 運行hadoop
1)格式化文件系統(tǒng)
[hadoop@sc706-26 hadoop-0.20.2]$ hadoop namenode -format
注意:格式化時要防止NameNode的namespace ID與DataNode的namespace ID的不一致,因為每格式化一次會產(chǎn)生Name、Data、tmp等臨時文件記錄信息,多次格式化會產(chǎn)生很多,會導(dǎo)致ID的不同,造成hadoop不能運行
2)啟動hadoop
[hadoop@sc706-26 hadoop-0.20.2]$ bin/start-all.sh
3)用jps命令查看進程,NameNode上的結(jié)果如下:
25325 NameNode
25550 JobTracker
28210 Jps
25478 SecondaryNameNode
4)查看集群狀態(tài)
[hadoop@sc706-26 hadoop-0.20.2]$ hadoop dfsadmin -report
確保運行的DataNode個數(shù)是正確的,我的是3個,這樣可以查看哪個DataNode沒有運行
5)用hadoop的web方式查看
[hadoop@sc706-26 hadoop-0.20.2]$ links http://192.168.153.89(即為master):50070
1.9 運行Wordcount.java程序
1)先在本地磁盤上建立兩個文件f1和f2
[hadoop@sc706-26 ~]$ echo ”hello Hadoop goodbye hadoop” > f1
[hadoop@sc706-26 ~]$ echo ”hello bye hadoop hadoop” > f2
2)在hdfs上建立一個input目錄
[hadoop@sc706-26 ~]$ hadoop dfs -mkdir input
3)將f1和f2拷貝到hdfs的input目錄下
[hadoop@sc706-26 ~]$ hadoop dfs -copyFromLocal /home/hadoop/f* input
4)查看hdfs上有沒有input目錄
[hadoop@sc706-26 ~]$ hadoop dfs -ls
5)查看input目錄下有沒有復(fù)制成功f1和f2
[hadoop@sc706-26 ~]$ hadoop dfs -ls input
6)執(zhí)行wordcount(確保hdfs上沒有output目錄)
[hadoop@sc706-26 hadoop-0.20.2]$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output
7)運行完成,查看結(jié)果
[hadoop@sc706-26 hadoop-0.20.2]$ hadoop dfs -cat output/part-r-00000
關(guān)于如何進行hadoop-0.20.2安裝及簡單使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。