Hadoop 0.20.2集羣配置

1.機器準備:

如果沒有多餘機器,安裝vmware7.1後可模擬 臺機器,本處模擬三臺機器。

2. 修改hosts文件:(文件在/etc/hosts

說明:Master代表第一臺機器,主節點(IP: 192.168.1.126Slave代表後兩臺機器,數據節點(IP: 192.168.1.127,192.168.1.128

Master(Ubuntu1)上的 hosts 文件添加

192.168.1.126  Ubuntu1

192.168.1.127  Ubuntu2

192.168.1.128  Ubuntu3

Slave(Ubuntu2)上的 hosts 文件添加

192.168.1.126  Ubuntu1

192.168.1.127  Ubuntu2

192.168.1.128  Ubuntu3

Slave(Ubuntu3)上的 hosts 文件添加

192.168.1.126  Ubuntu1

192.168.1.127  Ubuntu2

192.168.1.128  Ubuntu3

由於hosts文件是隻讀的,所以在終端輸入:

cd /etc

sudo gedit  hosts

輸入密碼即可修改了。

3. 安裝ssh:

Hadoop運行過程中需要管理遠端Hadoop守護進程,ssh是用來進行通信連接的。

終端命令:sudo apt-get install ssh

提示輸入Y就行了


ssh配置:該配置主要是爲了實現在機器之間執行指令時不需要輸入密碼。在所有的機器上建立 .ssh 目錄。

終端命令: mkdir  .ssh

在Ubuntu1上生成密鑰對:

終端命令:ssh-keygen  -t  rsa

一直按enter鍵 就會按照默認的選項將生成的密鑰對保存在.ssh/id_rsa文件中。然後執行以下命令:

終端命令:cd  ~/.ssh       (即進入.ssh目錄)

          cp  id_rsa.pub authorized_keys

          scp authorized_keys  Ubuntu2:/home/taoxiang/.ssh  (這個依照自己的目錄,我的用戶名是taoxiang)

          scp authorized_keys  Ubuntu3:/home/taoxiang/.ssh

最後進入所有的機器的.ssh目錄,改變authorized_keys文件的許可權限:

chmod  644  authorized_keys

這是從Ubuntu1向其他機器發起ssh連接時,只要第一次登錄時需要輸入密碼,以後都不需要了。

4. 安裝jdk:

終端命令: sudo apt-get  install sun-java6-jdk

如果出現無法安裝:

終端命令:sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" 

          sudo apt-get update

          sudo apt-get install sun-java6-jdk

5. 下載hadoop-0.20.2

http://mirror.bjtu.edu.cn/apache/hadoop/core/hadoop-0.20.2/

6. 部署hadoop

在master 機器上更改配置,然後再拷貝到 slave 機器上,這樣所有機器上的 hadoop 就能保證一模一樣了。

解壓hadoop-0.20.2到根目錄下(我的是/home/taoxiang)

更改配置:(文件都在/ hadoop-0.20.2/conf裏面)

文件1:hadoop-env.sh

加入兩行:

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

export  HADOOP_HOME=/home/taoxiang/hadoop-0.20.2  (路徑根據自己的情況改)

文件2:masters

Ubuntu1

文件3:slaves

Ubuntu2

Ubuntu3

文件4:core-site.xml

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
 <property> 
  <name>fs.default.name</name> 
  <value>hdfs://192.168.1.126:9000</value> 
  <description>這裏 192.168.1.126 這個是指 master 機器 IP 地址,當然可以使用 Ubuntu1主機名,條件是 DNS 能夠解析,否則會有問題, datanode 連接 namenode 時會報連接不上的錯誤。所以實際應用中根據 master 機器的 IP 來更改吧,最好使用 IP 這樣就不存在問題了。.</description> 
</property> 
<property> 
  <name>hadoop.tmp.dir</name> 
  <value>/home/taoxiang/HadoopTemp</value> 
  <description>這裏這個 HadoopTemp 目錄需要自己手動建立,在 master 和 slave 機器上都需要手動創建 </description> 
</property> 
</configuration>
文件5:hdfs-site.xml

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
<property> 
  <name>dfs.replication</name> 
  <value>3</value> 
  <description>這裏指定數據文件默認保留幾份備份,默認的是 3 ,自己可以指定。  </description> 
</property> 
</configuration>
文件6:mapred-site.xml

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
<property> 
  <name>mapred.job.tracker</name> 
  <value> 192.168.1.126 :9001</value> 
  <description>同意這裏指定 Master 的 IP 或者 host ,最好指定 IP 。  </description> 
</property> 
</configuration>

至此master的Hadoop配置完成。接着複製到其他機器上

master的終端命令:

scp  –r  ~/hadoop-0.20.2  Ubuntu2:/home/taoxiang

scp  –r  ~/hadoop-0.20.2  Ubuntu3:/home/taoxiang

7. 啓動hadoop

Hadoop的命令在 /hadoop-0.20.2/bin/ 目錄下,啓動過程在 master 機器上進行。

啓動之前需要進行格式化,類似於Windows 文件系統格式化, hadoop 的文件系統也需要格式化後才能被 hadoop 使用。

Master終端命令:

cd ~/hadoop-0.20.2

bin/hadoop namenode -format

bin/start-all.sh

即可啓動所有的hadoop守護,包括namenode、datanode、JobTracker和Tasktrack。

這樣即可訪問

http://192.168.1.126:50070

http://192.168.1.126:50030

如下圖所示

上圖可知,Live Nodes個數爲2。



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