一、搭建环境:
CentOS 6.7、JDK8、hadoop2.7.7
三个节点,一主(master),二从(slave1,slave2)
二、搭建步骤:
1.在master主节点上进行解压和配置,再copy到其他两个节点上
cd /home
tar -zvxf hadoop-2.7.7.tar.gz
接下来就是修改配置文件了,主要需要配置etc/hadoop/hadoop-env.sh,etc/hadoop/core-site.xml, etc/hadoop/hdfs-site.xml, etc/hadoop/yarn-site.xml ,etc/hadoop/mapred-site.xml等文件
cd hadoop-2.7.7/etc/hadoop/
vim hadoop-env.sh
将默认的JAVA_HOME的值改为本机的值
vim core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/tmp</value> </property> </configuration>
vim hdfs-site.xml
<configuration> <property> <name>dfs.namenode.http-address</name> <value>master:50070</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/dfs/name</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/dfs/data</value> </property> </configuration>vim yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>vim mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapred.local.dir</name> <value>/home/hadoop/var</value> </property> </configuration>最后,编辑slaves文件,删掉 localhost,添加master、slave1、slave2 各占一行。完成配置后,将hadoop安装目录连同配置一起拷贝到slave1和slave2节点的相同目录下,并为slave节点添加环境变量配置
注:上面配置文件中所有关于路径的value是用户定义的,可以根据自己的Hadoop基础路径进行更改。
2.配置环境变量:
依次配置JAVA_HOME,HADOOP_HOME,我这里的配置路径是我本机路径,具体配置时要根据自己机器的jdk和hadoop路径来写
vim /etc/profile
#java
JAVA_HOME=/usr/java/jdk1.8.0_181 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH
# hadoop export HADOOP_HOME=/home/hadoop-2.7.7 export PATH=$PATH:$HADOOP_HOME/bin:/$HADOOP_HOME/sbin
3.三个节点需要配置免密登录,方便互相访问,关于免密登录可参考其它资料,这里不作赘述,提供一下修改节点名的方法:
例如主节点机器(192.168.4.238)用户名修改为master
方法一:临时修改用户名
sudo hostname master
方法二:用久修改用户名
vi /etc/sysconfig/network
指定主机名 HOSTNAME=master 然后 vi /etc/hosts ,
192.168.4.238 master
三、启动集群
完成这些配置之后就可以启动集群了,不过在启动之前,必须要对hadoop namenode 进行一次格式化操作,格式化本质是进行文件系统的初始化操作,创建一些hadoop自己所需要的文件,格式化之后且集群启动成功后,后续再也不需要进行格式化,格式化的操作只在主节点上进行即可。
cd /home/hadoop-2.7.7/bin
执行命令 ./hadoop namenode -format
格式化完成以后,将路径切换到/home/hadoop-2.7.7/sbin下
执行./start-all.sh 即可