Centos7 下 Hadoop 2.6.4 分佈式集羣環境搭建

摘要

在實際集羣上搭建 Hadoop 2.6.4 分佈式集羣環境。

集羣準備

有五臺機器,通過已經更改機器名稱爲master,slaver1,slaver2,slaver3,slaver4,並設置了面密碼ssh登錄。可以參考這裏


機器名稱 ip
master 192.168.122.1
slaver1 192.168.122.2
slaver2 192.168.122.3
slaver3 192.168.122.4
slaver4 192.168.122.5

安裝JDK

Centos7 默認是openJDK

這裏寫圖片描述

卸載CentOS 7 下的openJDK,安裝Sun JDK1.7

查看openJDK安裝路徑

rpm -qa | grep java
  • 1
  • 1

這裏寫圖片描述

卸載openJDK

 rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64
 rpm -e --nodeps  java-1.8.0-openjdk-devel-1.8.0.60-2.b27.el7_1.x86_64
 rpm -e --nodeps  java-1.6.0-openjdk-1.6.0.36-1.13.8.1.el7_1.x86_64
 rpm -e --nodeps  java-1.6.0-openjdk-devel-1.6.0.36-1.13.8.1.el7_1.x86_64
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

安裝Sun JDK1.7

從官網下載 jdk-7u80-linux-x64.rpm,上傳到 master

這裏寫圖片描述

安裝 Sun JDK1.7

rpm -ivh jdk-7u80-linux-x64.rpm 
  • 1
  • 1

這裏寫圖片描述

修改環境變量

在 /etc/profile裏添加

export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

這裏寫圖片描述 
這裏寫圖片描述

source 生效 
這裏寫圖片描述

檢驗安裝

這裏寫圖片描述

安裝 Hadoop 2.6.4

下載 ,解壓

從官網下載 Hadoop 2.6.4 , 並解壓在 master 上 
解壓路徑自己選擇,我這裏是解壓在

/root/workspace/software/hadoop-2.6.4
  • 1
  • 1

這裏寫圖片描述

添加環境變量

在 /etc/profile裏添加

export HADOOP_HOME=/root/workspace/software/hadoop-2.6.4/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 1
  • 2
  • 1
  • 2

修改 Hadoop 配置文件

hadoop-env.sh

在 hadoop 解壓路徑下面,/etc/hadoop/hadoop-env.sh 增加下面兩行

export JAVA_HOME=/usr/java/jdk1.7.0_80
export HADOOP_PREFIX=/root/workspace/software/hadoop-2.6.4
  • 1
  • 2
  • 1
  • 2

core-site.xml

在 hadoop 解壓路徑下面,/etc/hadoop/core-site.xml增加下面內容

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000/</value>
    </property>
    <property>
         <name>hadoop.tmp.dir</name>
         <value>/root/workspace/software/hadoop-2.6.4/tmp</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

hdfs-site.xml

在 hadoop 解壓路徑下面,/etc/hadoop/hdfs-site.xml 增加下面內容

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

這裏設置成3,表示數據有3個副本。

mapred-site.xml

在 hadoop 解壓路徑下面,/etc/hadoop/mapred-site.xml 增加下面內容

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

yarn-env.sh

在 hadoop 解壓路徑下面,/etc/hadoop/yarn-env.sh 增加下面,增加 Java-HOME 配置

export JAVA_HOME=/usr/java/jdk1.7.0_80
  • 1
  • 1

yarn-site.xml

在 hadoop 解壓路徑下面,/etc/hadoop/yarn-site.xml 增加下面內容

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
  <property> 
  <description>The address of the applications manager interface in the RM.</description> 
  <name>Yarn.resourcemanager.address</name> 
  <value>master:18040</value> 
  </property> 

  <property> 
  <description>The address of the scheduler interface.</description> 
  <name>Yarn.resourcemanager.scheduler.address</name> 
  <value>master:18030</value> 
  </property> 

  <property> 
  <description>The address of the RM web application.</description> 
  <name>Yarn.resourcemanager.webapp.address</name> 
  <value>master:18088</value> 
  </property>

  <property> 
  <description>The address of the resource tracker interface.</description> 
  <name>Yarn.resourcemanager.resource-tracker.address</name> 
  <value>master:8025</value> 
  </property> 
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

這裏添加的一些端口號,方便從遠程通過瀏覽器查看集羣情況,推薦按照這樣添加。

slaves

在 hadoop 解壓路徑下面,/etc/hadoop/slaves 增加下面內容

master
slaver1
slaver2
slaver3
slaver4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

部署 slaver1-slaver4

按照上面流程,把 slaver1-slaver4 上的環境變量添加好,然後直接

scp -r /hadoop2.6.4 root@slaverX:/root/workspace/software/
  • 1
  • 1

X 是 1- 4,分別複製到 slaver1 - slaver4 下面

啓動 hadoop 集羣

格式化文件系統

hdfs namenode -format
  • 1
  • 1

啓動 NameNode 和 DateNode

/root/workspace/software/hadoop-2.6.4/sbin , 運行

start-dfs.sh
  • 1
  • 1

使用 jps 命令查看 master 上的Java進程

[root@master hadoop]# jps
27130 DataNode
27927 NameNode
12379 Jps
27422 SecondaryNameNode
[root@master hadoop]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

jps 命令分別查看 slaver1 - slaver4 上的 Java 進程

[root@slaver1 hadoop]# jps
6130 DataNode
1264 Jps
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

查看 NameNode 和 NameNode 信息

瀏覽器輸入

IP:50070/dfshealth.html#tab-datanode
  • 1
  • 1

IP 是你集羣的IP

這裏寫圖片描述

啓動 ResourceManager 和 NodeManager

運行 start-yarn.sh , jps查看進程如下:

[root@master hadoop]# jps
27130 DataNode
28777 ResourceManager
27927 NameNode
12379 Jps
28916 NodeManager
27422 SecondaryNameNode
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

切換到 slaver1-slaver4,jps查看進程

[root@slaver1 hadoop]# jps
27130 DataNode
12379 Jps
28916 NodeManager
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

成功了

Hadoop 集羣就已經啓動了。

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