• 大数据平台搭建 cdh5.11.1 hadoop集群安装


     

    一、前言

    由于线下测试的需要,需要在公司线下(测试)环境搭建大数据集群。

    那么CDH是什么?

    hadoop是一个开源项目,所以很多公司再这个基础上进行商业化,不收费的hadoop版本主要有三个,分别是:

    (1)Apache,最原始的版本,所有发行版均基于这个版本进行改进

    缺点:版本部署混乱,部署过程繁杂,升级过程繁杂,兼容性差,安全性差

    (2)CDH版本,在Apache基础上,进行了封装,处理了不同版本的兼容问题。有用户管理界面

    (3)Hotnowork版本。

    由于公司测试环境的内存有限(8G),cloudera manager需要大量的内存运行服务,所以这里我们选择cdh的tar包安装的方式

    二、集群准备

     至少三台linux机器,我的配置是:

    Linux软件版本:Red Hat Enterprise Linux Server release 6.8 (Santiago)

    硬件配置:8核 8G内存120G磁盘空间

    一下操作三台机器都需要

    (1)所有的安装包都在普通用户下安装,所以要新增一个用户:

    useradd hadoop

    passwd hadoop

    (2)设置普通用户hadoop的sudo权限(root用户)

    chmod u+w /etc/sudoers

    vi /etc/sudoers

    (在首行加入)

    hadoop ALL=(root)NOPASSWD:ALL

    chmod u-w /etc/sudoers

    (3)修改主机名(切换到普通hadoop用户)

    sudo vi /etc/sysconfig/netword

    (修改:)

    HOSTNAME=hadoop001

    (其他两台机器修改为hadoop002,hadoop003)

    (4)Ip与主机名的映射

    sudo vi /etc/hosts

    (最末尾加入)

    hadoop001 10.7.131.1

    hadoop002 10.7.131.2

    hadoop003 10.7.131.3

    (5)关闭防火墙

    sudo service iptables stop
    sudo chkconfig iptables off
    (6)禁用Ipv6
    sudo vi /etc/sysconfig/selinux
    (修改为其中的选项)
    SELINUX=disabled
    (7)设置文件打开数量和用户最大进程数
    sudo vi /etc/security/limits.conf
    (最末尾加上)
    * soft nofile 65535
    * hard nofile 65535
    * soft nproc 32000
    * hard nproc 32000
    (8)配置机器和集群之间的无密码访问
    在三台机器上生成密钥
    ssh-keygen -t rsa
    一路回车即可
     
    cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
    分别配置三台机器两两之间的无密码登录
    在hadoop001上:
    ssh-copy-id hadoop002
    ssh-copy-id hadoop003
    验证:
    ssh hadoop002
    ssh hadoop003
    其他两台机器同理
    (9)集群时间同步
    选择hadoop001作为时间服务器
    sudo vi /etc/ntp.conf

    第一个红框处:

    restrict 后面的变成机器的网段,比如目前的机器ip是10.7.131.1,那么就填入10.7.131.0

    第二个红框处:

    注释掉原来的

    第三个红框处:

    去掉两行注释

     

    sudo vi /etc/sysconfig/ntpd

    (首行加入)

    SYNC_HWCLOCK=yes

    启动ntpd服务

    sudo service ntpd status

    sudo service ntpd start

    sudo chkconfig ntpd on

     

    让hadoop001时间和国家授时中心保持同步(root用户)

     crontab -e
    (加入)
    0-59/5 * * * * sudo /usr/sbin/ntpdate -u ntp.api.bz
    重启crond服务
    service crond restart
     
    最后,其他两台机器保持和hadoop001时间同步(root用户)
    crontab -e
    0-59/5 * * * * /usr/sbin/ntpdate hadoop001
     
    (10)最后,重启三台机器
    reboot
     

    三、安装hadoop

    1.目录准备

    在hadoop用户目录下,规划好目录

    app 应用软件安装的地方

    software 应用软件包

    shell 运行的脚本

    data 所有的数据

     

    1.下载hadoop 安装包

    http://archive.cloudera.com/cdh5/cdh/5/

    所有大数据组件都可以从这里下载到

    打开,找到hadoop-2.6.0-cdh5.11.1.tar.gz,下载到本地,并上传到服务器上/home/hadoop/software下

    2.解压

    tar -zxvf /home/hadoop/software/hadoop-2.6.0-cdh5.11.1.tar.gz -C /home/hadoop/app/

    mv /home/hadoop/software/hadoop-2.6.0-cdh5.11.1.tar.gz hadoop

    3.hadoop各组件规划

    4.配置

    1.创建hadoop临时目录

    mkdir -p /home/hadoop/app/hadoop/tmp

    2.修改hadoop-env.sh

    export JAVA_HOME=/home/hadoop/app/jdk

    3.修改core-site.xml(/home/hadoop/app/hadoop/etc/hadoop)

    <configuration>
      <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop001:8020</value>
        </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/app/hadoop/tmp</value>
        </property>
      <property>
        <name>fs.trash.interval</name>
        <value>4320</value>
        </property>
      <property>
    	  <name>hadoop.proxyuser.hue.hosts</name>
    	  <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hue.groups</name>
        <value>*</value>
    </property>
    </configuration>

     3.修改hdfs-site.xml

    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop002:50090</value> </property> </configuration>

    4.修改mapred-env.sh

    同样是修改jdk

    export JAVA_HOME=/home/hadoop/app/jdk
    

    5.修改mapred-site.xml

    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop002:10020</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop002:19888</value>
    </property> </configuration>

    6.修改yarn-env.sh

    if [ "$JAVA_HOME" != "" ]; then
      #echo "run java in $JAVA_HOME"
      JAVA_HOME=/home/hadoop/app/jdk
    fi
    

    7.修改yarn-site.xml

    <configuration>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop002</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
      </property>
      <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>4</value>
      </property>
      <!--下面两个配置使日志聚集功能,使日志上传到hdfs上-->
      <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
      </property>
      <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>640800</value>
      </property>
    </configuration>
    

    8.格式化hdfs文件系统

    bin/hdfs namenode -format

    9.启动hdfs

    sbin/start-dfs.sh

    10.验证

    jps

    11.启动yarn

    sbin/start-yarn.sh

    12.启动jobhistoryserver,运行oozie任务的时候,需要

    sbin/mr-jobhistory-daemon.sh start historyserver

    12.hdfs web界面访问

    hadoop001:50070

    13.yarn web界面访问

    hadoop002:8088

      

      

      

  • 相关阅读:
    堆排序
    快速排序
    hpp头文件与h头文件的区别
    c++_ url
    C++11:POD数据类型
    Android 触摸手势基础 官方文档概览2
    札记:android手势识别,MotionEvent
    强迫自己学习(心态篇),国庆,你准备去哪疯?
    深入理解计算机系统(2.5)---二进制整数的加、减法运算(重要)
    深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断
  • 原文地址:https://www.cnblogs.com/nicekk/p/9028341.html
Copyright © 2020-2023  润新知