hadoop-2.5.0-cdh5.3.6集群搭建

安装环境说明

  • 操作系统:CentOS 7
  • hadoop版本:hadoop-2.5.0-cdh5.3.6.tar.gz
  • jdk版本:jdk 1.7
  • 安装用户:root
  • 相关软件下载
    https://pan.baidu.com/s/1drI1TO

机器与服务规划

  • 机器规划
hostname sparkproject1 sparkproject2 sparkproject3
内存 32G 16G 16G
  • 服务规划
hostname sparkproject1 sparkproject2 sparkproject3
HDFS NameNode、SecondaryNameNode DataNode DataNode
YARN ResourceManager NodeManager NodeManager

安装hadoop包

  • 下载hadoop-2.5.0-cdh5.3.6.tar.gz
    安装目录为:/usr/local
    将下载的hadoop-2.5.0-cdh5.3.6.tar.gz,上传到/usr/local目录下。

  • 将hadoop包进行解压缩

    1
    tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz
  • 对hadoop目录进行重命名

    1
    mv hadoop-2.5.0-cdh5.3.6 hadoop
  • 配置hadoop相关环境变量

    1
    2
    3
    4
    5
    6
    7
    #配置环境变量
    vi ~/.bashrc
    #添加hadoop环境变量
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    #使配置的环境变量生效
    source ~/.bashrc
  • 创建/usr/local/data目录

    1
    mkdir /usr/local/data
  • 测试是否配置成功

    1
    2
    hadoop version
    yarn version

    hadoop版本

修改配置文件

以下配置文件在:/usr/local/hadoop/etc/hadoop/目录下

  • 修改core-site.xml

    1
    2
    3
    4
    <property>
    <name>fs.default.name</name>
    <value>hdfs://sparkproject1:9000</value>
    </property>

    core-site.xml

    属性说明:
    fs.default.name:配置hdfs地址

  • 修改hdfs-site.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <property>
    <name>dfs.name.dir</name>
    <value>/usr/local/data/namenode</value>
    </property>
    <property>
    <name>dfs.data.dir</name>
    <value>/usr/local/data/datanode</value>
    </property>
    <property>
    <name>dfs.tmp.dir</name>
    <value>/usr/local/data/tmp</value>
    </property>
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>

    hdfs-site.xml

    属性说明:
    dfs.replication:hdfs副本数。
    总共3个节点,1个master,2个slave。所以设置成2个block副本

  • 修改mapred-site.xml
    重命名mapred-site.xml.template为mapred-site.xml

    1
    2
    3
    4
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>

    mapred-site.xml

  • 修改yarn-site.xml

    1
    2
    3
    4
    5
    6
    7
    8
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>sparkproject1</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

    yarn-site.xml

  • 修改slaves文件

    1
    2
    sparkproject2
    sparkproject3

    slaves

在另外两台机器上搭建hadoop

使用如上sparkproject1上配置hadoop,在另外两台机器上搭建hadoop。可以使用scp命令将sparkproject1上面的hadoop安装包和~/.bashrc配置文件都拷贝到sparkproject2、sparkproject3。

  • 将sparkproject1上的hadoop复制到sparkproject2

    • 在sparkproject1上执行

      1
      2
      3
      cd /usr/local
      scp -r hadoop root@sparkproject2:/usr/local
      scp ~/.bashrc root@sparkproject2:~/

      复制成功后sparkproject2上的hadoop:
      sparkproject2上的hadoop

    • 在sparkproject2上执行

      1
      2
      3
      4
      #对.bashrc文件进行source,以让它生效。
      source ~/.bashrc
      #创建data目录。
      mkdir /usr/local/data
  • 将sparkproject1上的hadoop复制到sparkproject3
    按照上面同样的步骤,同样的方式将sparkproject1上面的hadoop安装包和~/.bashrc配置文件都拷贝到sparkproject3。

  • 测试sparkproject2、sparkproject3是否配置成功
    在sparkproject2、sparkproject3分别执行如下命令:

    1
    2
    hadoop version
    yarn version

    hadoop、yarn版本查看

启动hdfs集群

  • 格式化namenode
    在sparkproject1上执行以下命令

    1
    hdfs namenode -format
  • 启动hdfs集群

    1
    start-dfs.sh

    启动hdfs集群.png

  • 验证启动是否成功
    sparkproject1:namenode、secondarynamenode
    sparkproject1-jps.png
    sparkproject2:datanode
    sparkproject2-jps.png
    sparkproject3:datanode
    sparkproject3-jps.png

启动yarn集群

  • 启动yarn集群

    1
    start-yarn.sh

    启动yarn集群.png

  • 验证启动是否成功
    sparkproject1:resourcemanager
    sparkproject1-yarn-jps.png
    sparkproject2:nodemanager
    sparkproject2-yarn-jps.png
    sparkproject3:nodemanager
    sparkproject3-yarn-jps.png