一、环境说明
虚拟机:virtualBox
系统:centos6.5,64位
集群:3个节点
master 192.168.12.232
slave01 192.168.12.233
slave02 192.168.12.234
二、准备工作
3、创建hadoop用户
useradd hadoop #创建用户
passwd hadoop #设置密码,3台机器密码最好都一样
usermod -g root hadoop #将用户加入root用户组
id hadoop #验证
三、下载、上传并解压缩hadoop2.6
下载地址:http://hadoop.apache.org/releases.html#News,选择2.6.0,下载binary
上传:通过xtfp,把文件上传到hadoop用户的主目录下,即/home/hadoop/
解压缩:tar -zxvf hadoop-2.6.0.tar.gz
四、修改配置文件
位置:$HADOOP_HOME/etc/hadoop/
需修改文件:
hadoop-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
1、hadoop-env.sh、yarn-env.sh
这两个文件主要是修改jdk路径,如果前面 虚拟机centos6.5 --安装jdk 这一步,做好了,这两个文件可以不用修改;
hadoop-env.sh 文件末尾加上:export HADOOP_PREFIX=/home/hadoop/hadoop-2.6.0
2、core-site.xml,参考以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
注意:/home/hadoop/tmp,这个文件要手动提前创建好;9000端口要开放,否则会出现hadoop正常启动,但看不到datanode使用的情况,参考 虚拟机centos6.5 --开放端口。
3、hdfs-site.xml,参考以下内容:
<configuration>
<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:50020</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:50075</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.6.0/dfs/data</value>
</property>
</configuration>
注意:/home/hadoop/hadoop-2.6.0/dfs/name 和/home/hadoop/hadoop-2.6.0/dfs/data,这两个文件要手动创建;
4、mapred-site.xml,参考以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5、yarn-site.xml,参考以下内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6、slaves,参考以下内容:
slave01
slave02
7、将master上配置好的hadoop目录拷贝到slave01、slave02
scp -r hadoop-2.6.0 hadoop@slave01:/home/hadoop/
scp -r hadoop-2.6.0 hadoop@slave02:/home/hadoop/
注意:别忘了创建tmp、name 、data目录,路径和master保持一致
8、验证
master机器上,进入到hadoop根目录
8.1 格式化
bin/hdfs namenode -format
8.2 启动dfs
sbin/start-dfs.sh
8.3 启动yarn
sbin/start-yarn.sh
8.4 查看是否正常
a、通过命令jps查看,如果有以下内容,说明ok。
master下有:
12624 ResourceManager
12312 NameNode
12490 SecondaryNameNode
slave下有:
4593 DataNode
5240 NodeManager
b、浏览器访问:http://master:50070/ 和 http://master:8088/
c、查看状态, bin/hdfs dfsadmin -report
五、其他注意点
1、重新格式化时,需要把master、slave上的tmp、data、name都清空,否则会出现datanode启动不起来的情况;
2、master机器上,也可以做一个slave节点,需要修改slaves文件,把master加进去即可;
3、master机器开放8031端口,修改master和slave的yarn-site.xml配置文件,否则会出现slave机器的nodemanager会自动关闭的情况,参考以下内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
</configuration>
4、配置hadoop的环境变量,参考以下内容:
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0
JAVA_HOME=/app/programs/jdk1.8.0_60
JRE_HOME=/app/programs/jdk1.8.0_60/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH