Hadoop平臺研究和搭建

【安裝JDK】

首先,從http://www.oracle.com/technetwork/java/javase/downloads/index.html中下載jdk,我的版本是jdk1.6.0_24,我下載的是bin文件,我將下載的jdk1.6.0_24.bin文件置於/usr/lib/jvm/openjdk中,然後,在shell中執行。

$ sudo chmod u+x /usr/lib/jvm/openjdk/jdk1.6.0_12.bin

修改bin文件權限,使其可執行。然後,執行

$ sudo /usr/lib/jvm/java/jdk1.6.0_12.bin

安裝完畢。

配置下列文件

$ sudo gedit /etc/environment

增加

PATH="......:/usr/lib/jvm/openjdk/jdk1.6.0_24/bin"
 CLASSPATH=.:/usr/lib/jvm/openjdk/jdk1.6.0_24/lib
 JAVA_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24

$ sudo gedit /etc/profile

增加

export JAVA_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24

export JRE_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24/jre

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

最後註銷當前用戶,登錄後執行

$ java -version

檢測版本

【Hadoop 分佈式計算環境搭建】

一、軟件環境: 集羣機系統-Ubuntu10.10

jdk1.6.0_24

hadoop-0.20.2

二、集羣環境:

1.用戶名:dic,環境:UBUNTU10.10,IP:10.13.30.79,作用:mater
 2.用戶名:dic,環境:UBUNTU10.10,IP:10.13.30.35,作用:slave1

解釋:相同的用戶名是爲了保證hadoop的目錄結果一樣(只有這個是hadoop要求的,ssh與jdk的目錄是各異的),都是[/home/dic/hadoop-0.20.2],hdfs目錄是[/home/dic/hadooptmp]。

【1】SSH無密碼驗證配置

步驟:

[master]

A. 安裝SSH,並生成id_rsa私鑰和id_rsa.pub公鑰(~/.ssh)

$ sudo apt-get install ssh

$ ssh-keygen -t rsa

B. master(10.13.30.79)公鑰傳給slaver1(10.13.30.35)

$ scp /home/dic/.ssh/id_rsa.pub [email protected]:/home/dic/.ssh/10.13.30.79

[slave1]

A. 安裝SSH,同master

B. slaver1(10.13.30.35)公鑰傳給master(10.13.30.79)

$ scp /home/dic/.ssh/id_rsa.pub [email protected]:/home/dic/.ssh/10.13.30.35

C. 把生成的 id_ras.pub 文件改名爲 authorized_keys

$ cp id_ras.pub >> authorized_keys

$ cat 10.13.30.79 >> authorized_keys

D. 重啓

$ ssh-agent

$ sudo /etc/init.d/sshd restart

[master]

C. 把生成的 id_ras.pub 文件改名爲 authorized_keys

$ cp id_ras.pub >> authorized_keys

$ cat 10.13.30.35 >> authorized_keys

D. 重啓

$ ssh-agent

$ sudo /etc/init.d/sshd restart

【2】配置/etc/hosts文件,添加主機名與ip集羣中主機名與ip的映射關係

[master]

$ sudo vi /etc/hosts

添加

10.13.30.35 qlee-desktop

[slave1]

$ sudo vi /etc/hosts

添加

10.13.30.79 cl-desktop

【3】Hadoop配置

這裏只敘述如何配置master。slaves的配置方法是,將master的[~/hadoop-0.20.2]文件傳給所有的slave1,置於slaves的相同位置。

3.1 conf/hadoop-env.sh

$ export JAVA_HOME=/usr/lib/jvm/java-6-sun

3.2 配置masters文件和slaves文件

conf/masters

cl-desktop

conf/slaves

qlee-desktop

cl-desktop

注:僞分佈式中這裏的slaves還是10.13.30.79

3.3 配置conf/core-site.xml,確定 HDFS 主節點,它定義namenode的主機和端口,如果作爲namenode啓動,是需要讀入此配置的。

<property>

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

<value>/home/dic/hadooptmp</value>

<description>A base for other temporary directories.</description>

</property>

<!-- file system properties -->

<property>

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

<value>hdfs://cl-desktop:9000</value>

</property>

3.4 配置conf/hdfs-site.xml 定義默認數據副本

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

3.5 配置mapred-site.xml-- jobtracker

<property>

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

<value>cl-desktop:9001</value>

</property>

3.6 copy master的hadoop文件夾到各個slave,完成配置

[master]

$ scp /home/dic/hadoop-0.20.2 [email protected]:/home/dic/hadoop-0.20.2

【4】Hadoop啓動[master]

4.1 格式化名稱節點

$ bin/hadoop namenode -format

$ bin/start-all.sh

$ jps

注:可以不使用start-all.sh,分開分別調用start-dfs.sh start-mapred.sh。如下圖:

每個節點的啓動腳本和守護進程的關係

4.2 驗證與測試

4.2.1

驗證啓動進程--jps

dic@cl-desktop:~# jps

7367 NameNode

7842 JobTracker

7938 Jps

7522 SecondaryNameNode

dic@qlee-desktop:~# jps

7785 DataNode

8114 Jps

7991 TaskTracker

查看集羣狀態--hadoop dfsadmin -report

測試 HDFS

hadoop-0.20 fs -ls /

hadoop-0.20 fs -mkdir test

hadoop-0.20 fs -ls test

hadoop-0.20 fs -rmr test

hadoop-0.20 fsck /

4.3 Web 管理界面

namenode

http://localhost:50070/

jobtracker

http://localhost:50030/

 

 

【5】執行一個 MapReduce 作業[master]

5.1 生成輸入數據

$ hadoop fs -mkdir input

$ hadoop fs -put /home/dic/input/163 input

$ hadoop fs -put /home/dic/input/sina input

$ hadoop-0.20 fs -ls input

5.2 在集羣上運行 MapReduce wordcount 作業

$ hadoop jar ~/hadoop-0.20.2/hadoop-0.20.2-examples.jar wordcount input output

5.3  檢測 MapReduce 作業的輸出

$ hadoop fs -ls  /user/dic/output

$ hadoop fs -cat /user/dic/output/part-r-00000

參考網站:

http://www.ibm.com/developerworks/cn/linux/l-hadoop-1/

http://www.ibm.com/developerworks/cn/linux/l-hadoop-2/

http://www.ibm.com/developerworks/cn/linux/l-hadoop-3/

http://bxyzzy.blog.51cto.com/854497/352692

【安裝eclipse】

(官方下載地址:http://www.eclipse.org/downloads/

首要說明:Linux(繼承自Unix)的文件系統構架中,用戶手動選擇安裝目錄是不必要的。

有人就問了,不能自己做主,這樣不是不好嗎? 這套系統是很聰明滴,她很更瞭解什麼東西該放在什麼位置,根本不用操心。若是非要操心,非要自己指定位置,指錯了說不定會出故障歐!——因爲提供軟件的人 也信任這套系統最佳,呵呵~這種規範已經實行幾十年了,事實證明這就是最好的!所以就不需要我們操心安裝位置了(事實上安裝時也沒提示你選擇安裝目錄)


 通常情況下,linux會這樣放軟件的組件:

程序的文檔->/usr/share/doc; /usr/local/share/doc
程序->/usr/share; /usr/local/share
程序的啓動項->/usr/share/apps; /usr/local/share
程序的語言包->/usr/share/locale; /usr/local/share/locale
可執行文件->/usr/bin; /usr/local/bin

而有的軟件爲了和系統組件分隔開,選擇棲息於 /opt,但目錄結構往往是一樣的,把/usr或/usr/local 替換爲了/opt/"軟件名"

基於以上說明,我們將eclipse拷貝至/opt。此外,爲了方面以後安裝使用自己的軟件,更改當前用戶(非root用戶)對/opt操作權限。

chmod 777 /opt -R

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章