基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

Apache Hadoop存在版本管理混乱、部署过程繁琐、升级过程复杂、兼容性差、安全性低等问题,CDH是Hadoop商业发行版之一,本文介绍基于Cloudera Manager的Cloudera  Hadoop 6.1.0大数据平台搭建,简单易上手

基础环境准备

1、CM和CDH包

准备cm的rpm包,cdh的parcel包,第1个链接内的需要完全下载,第2个链接内根据linux版本(centos6 or 7)下载;

cm的rpm包:
https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/
cdh的parcels包:
https://archive.cloudera.com/cdh6/6.1.0/parcels/

2、网络

若是在虚拟机上配置(须满足内存>6G,磁盘划分/至少40G,/data/10G),保证NAT模式下所有主机在同网段,且能访问外网。修改IP、网关、DNS;

vim /etc/sysconfig/network-scripts/ifcfg-ens33

首先,修改ifcfg-en33的dhcp自动分配修改为静态寻址,增加ip/掩码/网关配置;(网关不管怎么配,都不要配192.168.x.1,因为1号IP是VMnet8网卡的IP)。

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="5ed941c2-deb4-48ae-a76d-838503c8683c"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.242.134"
GATWAY="192.168.242.2"
NETMASK="255.255.255.0"
DNS1="192.168.242.2"

 配置完成后通过service network restart 重启网卡设置,依然无法连接外网(ping www.baidu.com),可以增加默认dns;

    route add default gw 192.168.242.2

    其次,增加主机和主机名映射(/etc/hosts),关闭防火墙,关闭SElinux,设置多主机免密,开启http服务;

    #cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.242.134 hadoop1
    #关闭防火墙,centos7之前版本
    systemctl disable firewalld
    #关闭防火墙,centos7之后版本
    systemctl disable firewalld.service
    #重启生效
    #vi /etc/selinux/config
    SELINUX=disabled
    SELINUXTYPE=targeted

    3、免密

    主机免密的方法:

    主机A/B/C为例,设置免密登录的方法:
    ① 每台机器上执行 ssh-keygen -t rsa ,敲3次回车会在家目录/home/csap下生成隐藏的.ssh目录,首先需要给此目录赋权限700: chmod 700 .ssh;这个目录下有两个文件:id_rsa 私钥和id_rsa.pub 公钥;
    ② 在此目录中创建 authorized_keys 文件并赋权:
    cd .ssh
    touch authorized_keys
    chmod 644 authorized_keys
    ③ 以机器A为例,执行以上操作后,如果不知道其他机器的密码,比如绑定4A;把自己的 id_rsa.pub 公钥 以及其他两台机器的公钥粘贴到 authorized_keys文件中,然后把这个文件复制到其他2台机器即可。等于所有机器都有其他机器的公钥,即可完成ssh 免密登录;
    ④ 如果知道其他机器密码,可以直接执行这个把公钥写到其他机器的authorized_keys文件中:ssh-copy-id -i ~/.ssh/id_rsa.pub?root@127.0.0.1

    4、时钟同步

    时钟同步(保证其他节点同cm节点时钟一致):

    1、所有机器安装ntp :yum -y install ntp
    2、CM节点配置时钟与自己同步:vim /etc/ntp.conf,删除其他server,加入:
    server 127.127.1.0 # local clock
    fudge 127.127.1.0 stratum 10
    3、其他非CM节点,同步CM节点的时间,vim /etc/ntp.conf,加入:
    server xxx.xxx.xxx.xx
    4、重启所有机器的ntp服务
    systemctl restart ntpd或者service ntpd restart
    systemctl status ntpd或者service ntpd status
    5、验证同步
    所有节点执行ntpq –p,左边出现*号表示同步成功。
    6、若不成功;
    /usr/sbin/ntpdate stdtime.gov.hk
    ntpdate xxx.xxx.xxx.xxx
    手动同步时间

    5、http服务

    开启http服务,/var/www/html/目录下会自动创建cm和cdh目录

    yum -y install httpd
    systemctl start httpd 或service httpd start

    6、制作yum源

    ① 开启http服务
    #创建目录,并上传本地的cdh和cm到制定文件夹
    cd /var/www/html/
    mkdir cm-6.1.0 cdh-6.1.0
    #完成后在浏览器打开url:http://192.168.242.134/cm-6.1.0,能够访问则成功;
    ② 制作本地yum源
    #下载yum源工具包
    yum -y install yum-utils createrepo
    # 在cm-6.1.0目录下生成rpm元数据:
    createrepo /var/www/html/cm-6.1.0
    #并对/var/www/html下的所有目录和文件赋权:
    chmod -R 755 /var/www/html
    #创建本地Cloudera Manager的repo源,创建/etc/yum.repos.d/myrepo.repo,加入一些配置项:
    [myrepo]
    name = myrepo
    baseurl = http://192.168.242.134/cm-6.1.0
    enable = true
    gpgcheck = false
    #也可以直接修改Centos-Base.repo文件添加上面几行;
    #完成后,使用yum repolist验证是否成功,会列出可以用源;
    yum repolist

    完成后,可通过rul查看文件,确保repodata文件夹一定要成功生成,不然后续无法通过!!!!

    基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

    安装CDH

    1、安装Cloudera-manager

    这里使用默认的pgsql作为元数据库,可以自己安装mysql库,并将其作为元数据库;

    # ① 安装必要rpm包
    cd /var/www/html/cm-6.1.0/
    chmod +x cloudera-manager-installer.bin
    # 安装jdk
    rpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
    # 安装cm-agent、cm-daemon、cm-server、cm-server-db的rpm包,步骤有一定约束:
    rpm -ivh cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm
    rpm -ivh cloudera-manager-server-6.1.0-769885.el7.x86_64.rpm
    rpm -ivh cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm (报错)
    # 报错因为server-db 依赖postgresql-server >= 8.4 ,使用yum 安装,自动下载依赖
    yum install -y cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm
    # server-agent 需要依赖更多
    rpm -ivh cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm
    #警告:cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID b0b19c9f: NOKEY错误:依赖检测失败:
    # 解决办法是分别yum安装依赖包;
    yum install -y lsb
    yum install -y mod_ssl
    yum install -y openssl-devel
    yum install -y python-psycopg2
    yum install -y MySQL-python
    #完成后,重新安装server-agent依赖
    # ② 上面的rpm依赖完成安装后,启动cm的installer
    ./cloudera-manager-installer.bin --skip_repo_package=1
    # ③ 删除/etc/cloudera-scm-server/db.properties
    rm /etc/cloudera-scm-server/db.properties

    安装完成后提示如下说明cm安装成功,启动7180端口,用户名和密码都是admin;

    基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

    验证:

    (1)netstat -lnpt | grep 7180 端口有运行;

    (2)查看日志:tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log 提示ScmActive completed successfully

    (3)web查看xx.xx.xx.xx:7180是否可以访问;

    2、安装CDH

    使用本地parcel包安装cdh(坑很多),cm的安装,web访问192.168.242.134:7180登录cm页面按照指引进行cdh安装。

    ① 存储库选择http://192.168.242.134/cm-6.1.0(确认http服务已开启,可以url访问)基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

    ② 修改cdh的parcels文件名称:

      mv CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha256 CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha

      ③ 经常出现无法读取本地cdh的parcels包问题,需要重启installer;一般没用,还是外网下载。。。

      # 卸载重装
      /opt/cloudera/installer/uninstall-cloudera-manager.sh
      rm /etc/cloudera-scm-server/db.properties
      ./cloudera-manager-installer.bin --skip_repo_package=1

      帖子上说可以重启scm-server解决,但无效,可以在其下载一半返回页面,重新扫描可以解决;

      基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

      2、配置cdh中的大数据相关组件

      按照指引进行,记住数据库的登录名和密码;

      基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

      初始化组件安装时容易出现主机资源不足,前期应该给cm节点足够的存储空间;

      基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

      能够完成组件安装,就可以看见实时监控页面,后续扩容将后面补充;

      基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

      基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建

      发表评论

      相关文章