摘要
在實際集羣上搭建 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 集羣就已經啓動了。