溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進行hadoop-0.20.2安裝及簡單使用

發(fā)布時間:2021-11-10 18:15:53 來源:億速云 閱讀:131 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關(guān)如何進行hadoop-0.20.2安裝及簡單使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

安裝步驟如下:

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)要相同并且有一個相同的用戶名的帳戶,我的默認路徑為/home/hadoop

1.4 ssh設(shè)置及關(guān)閉防火墻(需要用到root,su - )

1)fedora裝好后默認啟動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/ (注意其中目標機器后面的:與要傳到的文件路徑之間沒有空格,即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

<configuration>

<property>

      <name>hadoop.tmp.dir</name>     

<value>/home/hadoop/tmp</value>

   </property>

<property>

      <name>fs.default.name</name>     

<value>hdfs://sc706-26:9000</value>

   </property>

</configuration>

[hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/mapred-site.xml

<configuration>

<property>

     <name>mapred.job.tracker</name>  

      <value>hdfs://sc706-26:9001</value> 注意:sc706-26前能不能加hdfs://不太清楚,本人配了兩個集群,一個加了一個不加都能用

   </property>

</configuration>

[hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/hdfs-site.xml

<configuration>

<property>  

      <name>dfs.name.dir</name>  

      <value>/home/hadoop/name</value>

   </property> 

   <property>  

      <name>dfs.data.dir</name> 

      <value>/home/hadoop/data</value>

   </property>

<property>

      <name>dfs.replication</name> 

      <value>3</value>注意:如果設(shè)為1,數(shù)據(jù)只有一個副本,假如其中一個datanode出問題,將會導(dǎo)致整個job失敗

   </property> 

</configuration>

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)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI