虚拟机centos6.5 --hadoop2.6集群环境搭建

时间:2023-03-08 16:42:46

一、环境说明

   虚拟机:virtualBox

   系统:centos6.5,64位

   集群:3个节点

      master   192.168.12.232

      slave01  192.168.12.233

      slave02  192.168.12.234

二、准备工作

  1、虚拟机centos6.5 --设置主机名

  2、虚拟机centos6.5 --安装jdk

  3、创建hadoop用户

useradd hadoop    #创建用户
passwd hadoop #设置密码,3台机器密码最好都一样
usermod -g root hadoop #将用户加入root用户组
id hadoop #验证

  4、虚拟机centos6.5 --ssh免密码登录

三、下载、上传并解压缩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