1、环境说明html
虚拟机:virtualBoxnode
系统:centos6.5,64位apache
集群:3个节点centos
master 192.168.12.232浏览器
slave01 192.168.12.233bash
slave02 192.168.12.234app
2、准备工做ssh
一、虚拟机centos6.5 --设置主机名oop
二、虚拟机centos6.5 --安装jdkspa
三、建立hadoop用户
useradd hadoop #建立用户 passwd hadoop #设置密码,3台机器密码最好都同样 usermod -g root hadoop #将用户加入root用户组 id hadoop #验证
3、下载、上传并解压缩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
4、修改配置文件
位置:$HADOOP_HOME/etc/hadoop/
需修改文件:
hadoop-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
一、hadoop-env.sh、yarn-env.sh
这两个文件主要是修改jdk路径,若是前面 虚拟机centos6.5 --安装jdk 这一步,作好了,这两个文件能够不用修改;
hadoop-env.sh 文件末尾加上:export HADOOP_PREFIX=/home/hadoop/hadoop-2.6.0
二、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 --开放端口。
三、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,这两个文件要手动建立;
四、mapred-site.xml,参考如下内容:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
五、yarn-site.xml,参考如下内容:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
六、slaves,参考如下内容:
slave01 slave02
七、将master上配置好的hadoop目录拷贝到slave0一、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保持一致
八、验证
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
5、其余注意点
一、从新格式化时,须要把master、slave上的tmp、data、name都清空,不然会出现datanode启动不起来的状况;
二、master机器上,也能够作一个slave节点,须要修改slaves文件,把master加进去便可;
三、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>
四、配置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