阅读 50

hadoop-2.5.0-cdh5.3.6集群搭建

安装环境说明

  • 操作系统:CentOS 7
  • hadoop版本:hadoop-2.5.0-cdh5.3.6.tar.gz
  • jdk版本:jdk 1.7
  • 安装用户:root
  • 相关软件下载
    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包进行解压缩

    tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz
    复制代码
  • 对hadoop目录进行重命名

    mv hadoop-2.5.0-cdh5.3.6 hadoop
    复制代码
  • 配置hadoop相关环境变量

    #配置环境变量
    vi ~/.bashrc
    #添加hadoop环境变量
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    #使配置的环境变量生效
    source ~/.bashrc
    复制代码
  • 创建/usr/local/data目录

    mkdir /usr/local/data
    复制代码
  • 测试是否配置成功

    hadoop version
    yarn version
    复制代码

    hadoop版本

修改配置文件

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

  • 修改core-site.xml

    <property>
      <name>fs.default.name</name>
      <value>hdfs://sparkproject1:9000</value>
    </property>
    复制代码

    core-site.xml

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

  • 修改hdfs-site.xml

    <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

    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    复制代码

    mapred-site.xml

  • 修改yarn-site.xml

    <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文件

    sparkproject2
    sparkproject3
    复制代码

    slaves

在另外两台机器上搭建hadoop

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

  • 将sparkproject1上的hadoop复制到sparkproject2

    • 在sparkproject1上执行

      cd /usr/local
      scp -r hadoop root@sparkproject2:/usr/local
      scp ~/.bashrc root@sparkproject2:~/
      复制代码

      复制成功后sparkproject2上的hadoop:

      sparkproject2上的hadoop

    • 在sparkproject2上执行

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

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

    hadoop version
    yarn version
    复制代码

    hadoop、yarn版本查看

启动hdfs集群

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

    hdfs namenode -format
    复制代码
  • 启动hdfs集群

    start-dfs.sh
    复制代码

    启动hdfs集群.png

  • 验证启动是否成功
    sparkproject1:namenode、secondarynamenode

    sparkproject1-jps.png

    sparkproject2:datanode
    sparkproject2-jps.png

    sparkproject3:datanode
    sparkproject3-jps.png

  • hdfs管理界面:
    http://sparkproject1:50070

    hdfs管理界面.png

  • 测试hdfs

    hdfs dfs -put hello.txt /hello.txt
    复制代码

启动yarn集群

  • 启动yarn集群

    start-yarn.sh
    复制代码

    启动yarn集群.png

  • 验证启动是否成功
    sparkproject1:resourcemanager

    sparkproject1-yarn-jps.png

    sparkproject2:nodemanager
    sparkproject2-yarn-jps.png

    sparkproject3:nodemanager
    sparkproject3-yarn-jps.png

  • yarn管理界面
    http://sparkproject1:8088/

    yarn管理界面.png