Hadoop叢集安裝詳細教程

zhenghaishu發表於2017-04-20

一、安裝環境

因為安裝Hadoop叢集需要的主機數量必須為奇數,這裡我用虛擬機器搭了三臺主機。為了防止IP變動,IP應該設為靜態IP

IP

主機名

作業系統

作用

192.168.121.201

Master.Hadoop

CentOS6.6_x64

NameNode

ResourceManager

SecondaryNameNode

192.168.121.202

Slave1.Hadoop

CentOS6.6_x64

DataNode

NodeManager

192.168.121.203

Slave2.Hadoop

CentOS6.6_x64

DataNode

NodeManager

 

二、所需軟體

1 JDK

可以去下載JDK,也可以用CentOS系統自帶的OpenJDK

若用系統自帶的OpenJDK,只需在/etc/profile中設定並啟用:

# vi /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 

    使變數立馬生效並檢驗

# source /etc/profile

# echo $JAVA_HOME

/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64

 

2 Hadoop

下載地址:

這裡我下載的是2.8.0binary版本。

 

三、配置主機間的無密碼登入

在每臺主機的/etc/hosts中新增

192.168.121.201 Master.Hadoop

192.168.121.202 Slave1.Hadoop

192.168.121.203 Slave2.Hadoop

 

接下來,可參考http://blog.chinaunix.net/uid-29485627-id-4232161.html

 

四、Hadoop叢集安裝

1 解壓縮hadoop並移動到/usr/Hadoop

[root@Master 桌面]# mv hadoop-2.8.0.tar.gz /usr/

[root@Master 桌面]# cd /usr/

[root@Master usr]# tar -zxvf hadoop-2.8.0.tar.gz

[root@Master usr]# mv hadoop-2.8.0 hadoop

 

2 建立hadoop存放臨時檔案的資料夾

# cd /usr/hadoop

# mkdir tmp

 

3 修改配置檔案

(1)配置hadoop-env.sh中的JAVA_HOME

[root@Master usr]# cd etc/hadoop/

[root@Master hadoop]# vi hadoop-env.sh

export JAVA_HOME=${JAVA_HOME}

改為export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64


(2)配置core-site.xml

<configuration>

        <!-- 指定hdfsnameservicens1 -->

        <property>

                <name>fs.defaultFS</name>

                <value>hdfs://Master.Hadoop:9000</value>

        </property>

        <!-- Size of read/write buffer used in SequenceFiles. -->

        <property>

         <name>io.file.buffer.size</name>

         <value>131072</value>

       </property>

        <!-- 指定hadoop臨時目錄,自行建立 -->

        <property>

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

                <value>/usr/hadoop/tmp</value>

        </property>

</configuration>

 

(3)配置hdfs-site.xml

<configuration>

    <property>

      <name>dfs.namenode.secondary.http-address</name>

      <value>Master.Hadoop:50090</value>

    </property>

    <property>

      <name>dfs.replication</name>

      <value>2</value>

    </property>

    <property>

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

      <value>file:/usr/hadoop/hdfs/name</value>

    </property>

    <property>

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

      <value>file:/usr/hadoop/hdfs/data</value>

    </property>

</configuration>

 

(4)配置yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<!-- Configurations for ResourceManager -->

     <property>

          <name>yarn.nodemanager.aux-services</name>

          <value>mapreduce_shuffle</value>

     </property>

     <property>

           <name>yarn.resourcemanager.address</name>

           <value>Master.Hadoop:8032</value>

     </property>

     <property>

          <name>yarn.resourcemanager.scheduler.address</name>

          <value>Master.Hadoop:8030</value>

      </property>

     <property>

         <name>yarn.resourcemanager.resource-tracker.address</name>

         <value>Master.Hadoop:8031</value>

     </property>

     <property>

         <name>yarn.resourcemanager.admin.address</name>

         <value>Master.Hadoop:8033</value>

     </property>

     <property>

         <name>yarn.resourcemanager.webapp.address</name>

         <value>Master.Hadoop:8088</value>

     </property>

</configuration>

 

(5)配置mapred-site.xml

<configuration>

  <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

  </property>

  <property>

          <name>mapreduce.jobhistory.address</name>

          <value>Master.Hadoop:10020</value>

  </property>

  <property>

          <name>mapreduce.jobhistory.address</name>

          <value>Master.Hadoop:19888</value>

  </property>

</configuration>


(6)配置slaves檔案

[root@Master hadoop]# vi slaves

Slave1.Hadoop

Slave2.Hadoop

 

4 複製hadoop配置好的包到其他主機上

# scp -r /usr/hadoop Slave1.Hadoop:/usr/

# scp -r /usr/hadoop Slave2.Hadoop:/usr/

 

5 在三臺機器上配置Hadoop環境變數

# vi /etc/profile

export HADOOP_HOME=/usr/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

  

使變數立馬生效並檢驗:

# source /etc/profile

# echo $HADOOP_HOME

# echo $PATH

 

五、格式化節點

Master.Hadoop主機上執行

# cd /usr/hadoop/bin

# ./hdfs namenode -format

Hadoop叢集安裝詳細教程 

 

六、Hadoop叢集全部啟動

1 Master.Hadoop主機上執行

# cd /usr/hadoop/sbin

# ./start-dfs.sh

Hadoop叢集安裝詳細教程

# ./start-yarn.sh

Hadoop叢集安裝詳細教程


2
Master.Hadoop主機上執行jps

[root@Master sbin]# jps

6348 NameNode

6694 ResourceManager

6960 Jps

6546 SecondaryNameNode

 

3 Slave1.Hadoop主機上執行jps

[root@Slave1 hadoop]# jps

6016 DataNode

6251 Jps

6126 NodeManager

 

4 Slave2.Hadoop主機上執行jps

[root@Slave2 hadoop]# jps

5815 DataNode

6051 Jps

5923 NodeManager

 

5 在三臺CentOS主機上隨便開啟firefox瀏覽器,輸入http://192.168.121.201:8088

Hadoop叢集安裝詳細教程

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-2137702/,如需轉載,請註明出處,否則將追究法律責任。

相關文章