美文网首页
104-BigData-32CM和CDH

104-BigData-32CM和CDH

作者: AncientMing | 来源:发表于2019-10-07 23:55 被阅读0次

    上一篇:103-BigData-31HBase优化

    零、前言-CM和CDH的区别

    1.Cloudera Manager包括server端和agent;server端主要作用是监控集群,分发配置集群等,agent端主管集群各节点

    2.CDH是CM的安装包,本地或者云端,其中包括hadoop的生态系统需要的所有组件,通过Cloudera Manager统一管理和安装

    3.CDH除了可以通过cm安装也可以通过yum,tar,rpm安装

    一、Cloudera Manager

    1.1 cloudera manager的概念

    简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。

    1.2 cloudera manager的功能

    管理:对集群进行管理,如添加、删除节点等操作。
    监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。
    诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。
    集成:多组件进行整合。

    image.png

    1.3 cloudera manager的架构

    image.png

    Server:负责软件安装、配置,启动和停止服务,管理服务运行的群集。
    Agent:安装在每台主机上。负责启动和停止的过程,配置,监控主机。
    Management Service:由一组执行各种监控,警报和报告功能角色的服务。
    Database:存储配置和监视信息。
    Cloudera Repository:软件由Cloudera 管理分布存储库。(有点类似Maven的中心仓库)
    Clients:是用于与服务器进行交互的接口(API和Admin Console)

    二、环境要求

    1.1 内存分配

    将3台虚拟机分配好内存 建议8G、8G、8G

    1.2 本次安装需要的jar包

    #注意:必须是Oracle JDK、不要使用OpenJDK
    jdk-8u144-linux-x64.tar.gz
    CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel
    CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha
    cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz
    manifest.json
    mysql5.7
    

    1.3 更改Yum源

    在三台节点(所有agent的节点)上执行下载第三方依赖

    更改为阿里yum源

    
    wget -O /etc/yum.repos.d/CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-7.repo](http://mirrors.aliyun.com/repo/Centos-7.repo)
    
    yum clean all
    
    yum makecache
    
    

    1.4 安装JDK

    #建议放在在这个目录下
    tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
    #有时候会有权限问题的坑
    chown -R root:root /usr/java/
    

    1.5 关闭SELINUX和防火墙

    临时关闭:

    setenforce 0
    

    修改配置文件/etc/selinux/config(重启生效)

    #将SELINUX=enforcing 改为 SELINUX=disabled
    
    #关闭防火墙
    systemctl stop firewalld
    
    #禁用防火墙
    systemctl disable firewalld
    
    #查看防火墙是否关闭
    systemctl status firewalld
    

    1.6 hosts映射

    vi /etc/hosts
    
    192.168.1.111 bigdata111
    192.168.1.112 bigdata112
    192.168.1.113 bigdata113
    

    1.7 下载第三方依赖

    在三台节点(所有agent的节点)上执行下载第三方依赖

    yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
    

    1.8 ssh免密登录

    #生成公钥
    ssh-keygen -t rsa
    
    #拷贝公钥到其他节点(九遍)
    ssh-copy-id bigdata111
    ssh-copy-id bigdata112
    ssh-copy-id bigdata113
    

    1.9 NTP时间和时钟同步服务

    #查看时间帮助
    timedatectl --help
    
    #设置为上海的时区
    timedatectl set-timezone Asia/Shanghai
    
    #生产环境中一般会手动安装NTP服务(自己练习一下步骤可以省略)
    yum -y install ntp
    
    vi /etc/ntp.conf 
    
    添加如下
    #time 前四行是使用网络时间
    server 0.asia.pool.ntp.org
    server 1.asia.pool.ntp.org
    server 2.asia.pool.ntp.org
    server 3.asia.pool.ntp.org
    
    #生产中不能使用联网的话, 使用本地时间
    server 192.168.1.0 iburst local clock
    
    #可以让192.168.1网段下所有IP都可以同步
    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    
    #启动ntpd (仅在主节点)
    systemctl start ntpd
    
    #查看ntpd的状态
    systemctl status ntpd
    
    #关闭从节点时间同步
    systemctl stop ntpd 
    systemctl disable ntpd
    
    #查询ntpdate
    which ntpdate
    
    #让所有从节点与主节点同步 \ 注:集群中会每几个小时同步一次,保证时间一致
    /usr/sbin/ntpdate bigdata111
    
    #列出所有的时区
    timedatectl list-timezones
    

    1.10 安装配置mysql

    注意点:此处用的是5.7的版本,远程使用时,记得更改给root改为"%"权限

    (1)集群监控数据库
    create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
    
    (2)hive数据库 
    create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
    
    (3)oozie数据库
    create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
    
    (4)hue数据库
    create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    grant all on oozie.* TO 'hue'@'%' IDENTIFIED BY 'hue';
    

    三、CM安装部署

    CM下载地址

    离线库下载地址

    注:以下所有操作均使用root用户

    2.1 解压cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz

    tar -zxvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz -C /opt
    

    2.2 创建用户cloudera-scm(所有节点)

    [root@bigdata111 cloudera-scm-server]# useradd --system --home=/opt/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
    

    --system 创建一个系统账户
    --home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
    --no-create-home 不要创建用户的主目录
    --shell 用户的登录 shell 名
    --comment 用户的描述信息

    注意:
    Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。

    2.3 配置CM Agent

    vi /opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini
    #修改CM所在地址(所有节点)
    server_host=bigdata111
    

    2.4 配置CM的数据库

    1. 拷贝mysql jar文件到目录 /usr/share/java/

    [root@bigdata111 share]# mkdir /usr/share/java/

    [root@bigdata111 cm-5.12.1]# cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/

    [root@bigdata111 share]# mv /usr/share/java/mysql-connector-java-5.1.27-bin.jar /usr/share/java/mysql-connector-java.jar

    • 注意jar包名称要修改为mysql-connector-java.jar

    1. 在mysql中创建cm库

    [root@bigdata111 cm-5.12.1]# /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hbigdata111 -uroot -p000000 --scm-host bigdata111 scm scm scm

    -h:Database host

    -u:Database username

    -p:Database Password

    --scm-host:SCM server's hostname

    2.5 分发cloudera-manager

    [root@bigdata111 module]# scp -r /opt/ bigdata112:/opt/

    [root@bigdata111 module]# scp -r /opt/ bigdata113:/opt/

    2.6 创建Parcel-repo 目录

    1. Servre 节点创建目录/opt/cloudera/parcel-repo

    [root@bigdata111 module]# mkdir -p /opt/cloudera/parcel-repo

    [root@bigdata111 module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

    2.拷贝下载文件到/opt/cloudera/parcel-repo

    (1)CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel

    (2)CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1:需改名为CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha

    (3)manifest.json

    3.在Agent 节点(bigdata111,bigdata112,bigdata113)创建目录/opt/cloudera/parcels

    [root@bigdata111 module]# mkdir -p /opt/cloudera/parcels

    [root@bigdata111 module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

    2.7 关闭交换空间 & 大页面空间

    #Cloudera建议将交换空间设置为0,过多的交换空间会引起GC耗时的激增,所以还是关闭的为好 echo "vm.swappiness = 0" >> /etc/sysctl.conf
    
    #
    echo "10" > /proc/sys/vm/swappiness
    
    #关闭大页面压缩 echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    

    2.8 启动和关闭CM Server&Agent 服务

    服务节点:bigdata111

    [root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-server start

    Starting cloudera-scm-server: [确定]

    工作节点:bigdata111\bigdata112\bigdata113

    [root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start

    正在启动 cloudera-scm-agent: [确定]

    [root@bigdata112 module]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start

    正在启动 cloudera-scm-agent: [确定]

    [root@bigdata113 module]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start

    正在启动 cloudera-scm-agent: [确定]

    注意:启动过程非常慢,Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

    [root@bigdata111 init.d]# netstat -anp | grep 7180

    tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 5498/java

    查看被占用则表示安装成功了!!!

    访问http://bigdata111:7180,(用户名、密码:admin)

    关闭:

    服务节点:bigdata111

    [root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-server stop

    停止 cloudera-scm-server: [确定]

    工作节点:bigdata111\bigdata112\bigdata113

    [root@bigdata111 init.d]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent stop

    Stopping cloudera-scm-agent: [确定]

    下一篇:105-BigData-33NTP时间同步服务器和MySql安装

    相关文章

      网友评论

          本文标题:104-BigData-32CM和CDH

          本文链接:https://www.haomeiwen.com/subject/pixhpctx.html