CentOS6 hadoop2.4完全分散式安裝文件

LuckyJiang-2019發表於2016-12-25

Hadoop叢集單機模式、偽分佈模式、完全分散式詳解: http://www.aboutyun.com/thread-6839-1-1.html


問題導讀:

1.mapred-site.xml.template與mapred-site.xml的關係是什麼?
2.與 hadoop2.4.0 安裝配置偽分佈的區別是什麼?
3.對比 hadoop2完全分散式最新高可靠安裝文件配置檔案是否發生變化?



包下載:hadoop2.4最新版本各種包下載

更詳細可參考:Hadoop 2.4 完全分散式環境安裝與配置及配置資訊介紹
這次搭建hadoop2.4分散式叢集,由於是在自己的筆記本上搭建叢集,所以必須在虛擬機器下安裝多linux系統來模擬真實的分散式叢集環境,我們用的虛擬機器是VmWare10,選擇的是linux發行版CentOs6.0,虛擬了三個CentOs系統(安裝CentOs的步驟省略,這裡不是我們這次學習的重點),一臺master   兩臺slave,使用者名稱全部為hadoop,具體如下(除了第一步使用root使用者操作,其他均使用hadoop使用者):
master       192.168.1.106
slave1       192.168.1.107
slave2       192.168.1.108
下面說明hadoop的詳細安裝過程:
1、給hadoop使用者增加sudo許可權以及修改host
     1)切換到root使用者,su    輸入密碼
     2)給sudoers增加寫許可權:chmod u+w /etc/sudoers
     3)編譯sudoers檔案:vi /etc/sudoers       
          在root ALL=(ALL)  ALL下方增加hadoop ALL=(ALL)NOPASSWD:ALL
     4)去掉sudoers檔案的寫許可權:chmod u-w /etc/sudoers
     5)修改host,vi /etc/hosts
           192.168.1.106節點修改為master
           192.168.1.107節點修改為slave1
           192.168.1.107節點修改為slave2

2、首先安裝jdk
我選擇的是jdk-6u31-linux-amd64.rpm,使用命令sudo yum install jdk-6u31-linux-amd64.rpm --nogpgcheck;安裝。安裝後java路徑為:/usr/java/jdk1.6.0_31

3、解壓hadoop-2.4.0.tar.gz檔案:
tar -xzvf hadoop-2.4.0.tar.gz

4、設定java環境變數以及hadoop環境變數
      sudo vim /ect/profile,
      在最後增加
      export JAVA_HOME=/usr/java/jdk1.6.0_31
      export HADOOP_PREFIX=/home/hadoop/hadoop-2.4.0
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin
      然後使用sudo source /ect/profile使之生效
5、做SSH免密碼登入
      分別在三個系統中(hadoop使用者)的終端執行:ssh-keygen -t rsa,一路回車
      會在當前使用者下.ssh目錄中生成兩個檔案一個是私鑰檔案,一個是公鑰檔案,我們複製公鑰檔案到當前目錄並重新命名為authorized_keys,分別把其他兩個系統的公鑰檔案內容複製到authorized_keys檔案中,其他兩個系統也做此操作,最後每個系統的authorized_keys檔案包含本系統的公鑰內容以及其他兩個系統公鑰的內容,使用SSH命令進行測試,如下圖:

 

6、進入/home/hadoop/hadoop-2.4.0/etc/hadoop目錄中,編輯hadoop-env.sh檔案,使用vim  hadoop-env.sh,修改內容如下:
     export JAVA_HOME=/usr/java/jdk1.6.0_31

7、編輯yarn-env.sh        vim  yarn-env.sh,修改內容如下:
     JAVA_HOME=/usr/java/jdk1.6.0_31

8、編輯core-site.xml,修改內容如下:
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.0/tmp</value>
</property>

9、編輯hdfs-site.xml,編輯內容如下:
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.4.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.4.0/dfs/data</value>
</property>

10、編輯mapred-site.xml(需要複製mapred-site.xml.template,並命名為mapred-site.xml),編輯內容如下:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>

11、編輯yarn-site.xml檔案,修改內容如下:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>

12、編輯slaves檔案,修改內容如下:
slave1
slave2

13、複製hadoop2.4到另外兩個節點,使用的命令是:
      scp -r ./hadoop-2.4.0 hadoop@192.168.1.107:/home/hadoop
      scp -r ./hadoop-2.4.0 hadoop@192.168.1.108:/home/hadoop

14、在master節點格式化hdfs檔案
      [hadoop@master hadoop-2.4.0]$ ./bin/hdfs namenode -format
      成功格式化後,如下圖:
 


15、啟動hadoop
     [hadoop@master hadoop-2.4.0]$ ./sbin/start-all.sh
      使用jps檢視執行的程式,表示master和slave節點成功執行的程式如下:
     master:
 
slave1:
 
slave2:
 
至此hadoop2.4叢集搭建完成。

相關文章