摘要
在實際叢集上搭建 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--openjdk--.el7_1.x86_64
rpm -e --nodeps java--openjdk-devel--b27.el7_1.x86_64
rpm -e --nodeps java--openjdk--.el7_1.x86_64
rpm -e --nodeps java--openjdk-devel--.el7_1.x86_64
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
安裝Sun JDK1.7
從官網下載下傳 jdk-7u80-linux-x64.rpm
,上傳到 master
jdk-7u80-linux-x64.rpm
安裝 Sun JDK1.7
rpm -ivh jdk-u80-linux-x64.rpm
- 1
- 1
修改環境變量
在
/etc/profile
裡添加
export JAVA_HOME=/usr/java/jdk1._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-
- 1
- 1
添加環境變量
在
/etc/profile
裡添加
export HADOOP_HOME=/root/workspace/software/hadoop-./
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._80
export HADOOP_PREFIX=/root/workspace/software/hadoop-.
- 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._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. 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
DataNode
NameNode
Jps
SecondaryNameNode
[root@master hadoop]#
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
jps 指令分别檢視 slaver1 - slaver4 上的 Java 程序
[root@slaver1 hadoop]# jps
DataNode
Jps
- 1
- 2
- 3
- 1
- 2
- 3
檢視 NameNode 和 NameNode 資訊
浏覽器輸入
IP:/dfshealth.html#tab-datanode
- 1
- 1
IP 是你叢集的IP
啟動 ResourceManager 和 NodeManager
運作 start-yarn.sh , jps檢視程序如下:
[root@master hadoop]# jps
DataNode
ResourceManager
NameNode
Jps
NodeManager
SecondaryNameNode
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
切換到 slaver1-slaver4,jps檢視程序
[root@slaver1 hadoop]# jps
DataNode
Jps
NodeManager
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
成功了
Hadoop 叢集就已經啟動了。