• Cloudera Manger CDH 安装文档



    简介:

    Cloudera Manager 是 Cloudera 公司推出的 Hadoop 集群管理工具,通过该管理工具可以方便的部署、配置、监控集群。

    Cloudera 公司自己发布的 Hadoop 版本叫 CDH,全称 Cloudera Distribution Hadoop。

    环境介绍:

    192.168.47.10 master.hadoop C6.8 x64 CPU: 1 MEM: 4GB
    192.168.47.20 datanode01.hadoop C6.8 x64 CPU: 1 MEM: 1GB
    192.168.47.30 datanode02.hadoop C6.8 x64 CPU: 1 MEM: 1GB

    一、服务器初始化

    1、配置 hostname 、修改 hosts

    2、关闭 iptables 、selinux

    3、配置时间同步服务器 ntp

    # master.hadoop 、datanode.hadoop

    shell > cp -r /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 修改时区
    
    shell > yum -y install ntp

    # master.hadoop

    shell > vim /etc/ntp.conf
    
    # 允许客户端来同步时间的网段
    restrict 192.168.47.0 mask 255.255.255.0 nomodify
    # 该服务器从哪里同步时间
    server cn.pool.ntp.org prefer
    # 当无法与上游服务器联系时,采用本地时钟
    server 127.127.1.0
    fudge  127.127.1.0 stratum 10
    
    shell > chkconfig --del ntpd
    shell > echo 'ntpdate cn.pool.ntp.org | hwclock -w' >> /etc/rc.local
    shell > echo '/etc/init.d/ntpd start' >> /etc/rc.local
    
    shell > ntpdate cn.pool.ntp.org | hwclock -w
    shell > /etc/init.d/ntpd start
    
    shell > ntpstat 
    synchronised to local net at stratum 6 
       time correct to within 7948 ms
       polling server every 64 s
    
    # 现在是以本地时钟为主,因为还没有跟上游服务器建立连接,一般需要 15 分左右!
    
    shell > ntpq -p
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
     248.51-174-131. .INIT.          16 u    -   64    0    0.000    0.000   0.000
    *LOCAL(0)        .LOCL.           5 l    3   64    3    0.000    0.000   0.000

    # datanode.hadoop

    shell > crontab -e
    0 0 * * * /usr/sbin/ntpdate master.hadoop | hwclock -w > /dev/null 2>&1
    
    # 凌晨时间同步 ( 本来想采用 ntp 的方式,但是启动时间真是太长了 )

    二、安装 Cloudera-manager

    # https://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html 各版本地址
    # https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.6.0/RPMS/x86_64 本次实验版本地址

    # master.hadoop

    1、搭建 yum 本地源

    shell > yum -y install httpd createrepo
    
    shell > sed -i 's/#ServerName www.example.com:80/ServerName 127.0.0.1:80/' /etc/httpd/conf/httpd.conf
    
    shell > /etc/init.d/httpd start
    shell > chkconfig --level 35 httpd on
    
    shell > mkdir /var/www/html/clouder-manager; cd /var/www/html/clouder-manager
    shell > wget -c -r -nd -A .rpm https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.6.0/RPMS/x86_64/  # 建议使用加速下载
    
    shell > ls -1
    cloudera-manager-agent-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
    cloudera-manager-daemons-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
    cloudera-manager-server-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
    cloudera-manager-server-db-2-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
    enterprise-debuginfo-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
    jdk-8u111-linux-x64.rpm
    
    # 关于 clouder-manager 的软件包就这些,jdk 是我单独下载的
    
    shell > createrepo .  # 生成依赖

    # master.hadoop 、datanode.hadoop

    shell > vim /etc/yum.repos.d/local.repo
    [local]
    name=local cloudera manager
    baseurl=http://master.hadoop/cloudera-manager
    gpgcheck=0
    
    shell > yum clean all
    
    # 这样各节点就可以使用 yum 本地源了

    2、安装 clouder-manager

    # master.hadoop

    shell > yum -y install jdk1.8.0_111
    shell > yum -y install cloudera-manager-agent
    shell > yum -y install cloudera-manager-server-db-2
    
    shell > rpm -qa | grep cloudera
    cloudera-manager-server-db-2-5.6.0-1.cm560.p0.54.el6.x86_64
    cloudera-manager-agent-5.6.0-1.cm560.p0.54.el6.x86_64
    cloudera-manager-server-5.6.0-1.cm560.p0.54.el6.x86_64
    cloudera-manager-daemons-5.6.0-1.cm560.p0.54.el6.x86_64
    
    # 可以看到都已准备就绪 ( cloudera-manager-server 已经自动安装了 )

    # datanode.hadoop

    shell > yum -y install jdk1.8.0_111
    shell > yum -y install cloudera-manager-agent

    3、启动

    # master.hadoop

    shell > /etc/init.d/cloudera-manager-server-db start # TCP 7432
    
    shell > /etc/init.d/cloudera-scm-server start # TCP 7180 web、7182 agent
    
    # cloudera-manager-server 启动要花费比较长的时间
    # 建议 tail -f /var/log/cloudera-manager-server/cloudera-manager-server.log
    # 看到 Started SelectChannelConnector@0.0.0.0:7180 字样时,证明启动成功
    
    shell > /etc/init.d/cloudera-scm-agent start # TCP 900019001

    # datanode.hadoop

    shell > sed -i '/server_host/s/localhost/master.hadoop/' /etc/cloudera-scm-agent/config.ini # 修改 CM 地址
    
    shell > /etc/init.d/cloudera-scm-agent start

    4、访问

    http://192.168.47.10:7180 admin / admin

    > Yes, I accept the End User License Terms and Conditions. # 同意
    > 默认,企业试用版,60 天后自动降级为免费版

    # 到这里,cloudera-manager 就安装完成了,可以点击左上角logo查看状态,也可以继续配置集群
    # 再点击继续就开始配置集群了,请看下面

    三、Cloudera-manager 配置集群

    # 这里使用的离线的安装方式,建议使用迅雷等加速器下载后传到服务器,不然太费劲了...

    shell > cd /opt/cloudera/parcel-repo
    shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel
    shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1
    shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/manifest.json
    
    # el6 可以理解为 CentOS 6.x
    
    shell > mv CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1 CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha
    
    # 不改名,会导致 CM 去重新下载 .parcel 包,就那个 1.4G 的包
    
    shell > ls -1
    CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel
    CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha
    manifest.json
    
    # 最终就是这样
    
    shell > chown -R cloudera-scm.cloudera-scm .
    shell > /etc/init.d/cloudera-manager-server restart
    
    # 如果是在 server 启动后,下载的 CDH,那么需要重启一下 server,否则选择 CDH 版本的时候,没有该版本

    1、主页点击添加集群

    2、搜索主机,继续

    3、选择使用 parcel ( clouder 公司提供的一种包管理方式 );也可以把 CDH5 对应的软件包全部下载后做成本地 yum 源,选择使用数据包

    # 更多选项里面有一个<本地 Parcel 存储库路径>,默认就是 /opt/cloudera/parcel-repo
    # 下面的选择CDH版本列表就会有下载的 CDH-5.6.0-1.cdh5.6.0.p0.45,选择 继续

    4、集群安装,因为是下载好的本地包,所以需要等待的只是一个安装时间,由服务器性能决定 ( 这虚拟机让我等的好苦!)

    # 可以监控 cloudera-manager-server 的日志,好多 orld gc ,内存严重不足!机器反应慢!负载也高!

    5、检查主机正确性

    > vm.swappiness 默认 60,建议设为 0,系统使用 swap 的喜好,0 为尽量不使用
    > /sys/kernel/mm/transparent_hugepage 透明大页的问题,建议禁止

    # master.hadoop 、datanode01.hadoop

    shell > echo 'vm.swappiness = 0' >> /etc/sysctl.conf
    shell > sysctl -p
    
    shell > echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
    shell > echo 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag' >> /etc/rc.local

    # 点击重新运行

    6、安装服务,自定义服务,我这里只选择了 HDFS、YARN

    7、角色分配,选择默认

    8、数据库选择,选择嵌入式数据库,测试连接

    # master.hadoop:7432
    # rman / rman / MJ8ehj6PGN | 数据库 / 用户名 / 密码

    9、集群设置,这里是一些常用参数,多关注一下

    # dfs.block.size, dfs.blocksize HDFS 默认块大小 128MB
    # dfs.datanode.failed.volumes.tolerated DataNode 磁盘损坏数量,建议大于 1
    # dfs.data.dir, dfs.datanode.data.dir DataNode 数据目录
    # dfs.name.dir, dfs.namenode.name.dir NameNode 数据目录
    ......

    10、开始启动服务啦~

    # 有可能会因为服务器性能不足,导致超时,重试一般能好!该增加配置了... 主要是 Memory !!!

    11、恭喜您!服务已安装、配置并在群集中运行。

    四、集群调整

    # 集群主页可以看到 Cluster 1 状态为 红色 !表示运行状态不良、主机状态为 黄色!表示存在隐患!等

    # 这时服务器很卡,点击主机 配置问题,会发现 master.hadoop、datanode01.hadoop 内存不足!-> 关机加内存

    # 关闭 Cluster 1、Cloudera Manager Service ( 标签后面都有下拉菜单,点击停止 ),然后加内存!建议 8G/2G !

    # 再次启动服务器、等待 Cloudera-manager-server 启动后,web 界面启动 Cluster 1、Cloudera Manager Service

    # 点击<所有运行状态问题>,列出 Cluster 1 运行中的问题列表

    1、Cloudera Management Services

    > Alert Publisher (master) /var/log/cloudera-scm-alertpublisher
    > Event Server (master) /var/log/cloudera-scm-eventserver
    > Host Monitor (master) /var/log/cloudera-scm-firehose
    > Reports Manager (master) /var/log/cloudera-scm-headlamp
    > Service Monitor (master) /var/log/cloudera-scm-firehose

    # 分析发现:全部是由于磁盘空间不足,这种问题一般生产坏境不会出现!
    # 解决方法:1、磁盘扩容 2、修改日志目录可用空间监控绝对阈值 ( 由于是实验环境,这里选择第二种解决方案 )
    # 主页->配置->磁盘空间阈值->筛选器 范围 Cloudera Management Service->日志目录可用空间监控绝对阈值->警告 2 严重 1->保存更改
    # 这时再点击主页,之前这些警告就都消失了 ( 可能会有一点延迟 )

    > Event Server (master) /var/lib/cloudera-scm-eventserver
    > Host Monitor (master) /var/lib/cloudera-host-monitor
    > Reports Manager (master) /var/lib/cloudera-scm-headlamp
    > Service Monitor (master) /var/lib/cloudera-service-monitor

    # 还是熟悉的味道!
    # Event Server Index Directory 可用空间监控绝对阈值 2 1
    # Host Monitor Storage Directory 可用空间监控绝对阈值 2 1
    # Reports Manager Working Directory 可用空间监控绝对阈值 2 1
    # Service Monitor Storage Directory 可用空间监控绝对阈值 2 1

    2、Cluster 1

    > HDFS 副本不足的块

    # HDFS 默认为 3 个副本,我们只有一个

    > YARN (MR2 Included)
    > NameNode (master) /dfs/nn
    > SecondaryNameNode (master) /dfs/snn
    > master.hadoop /opt/cloudera/parcels

    # 还是磁盘空间问题,这次选择添加硬盘来解决问题 ( 当然也可以修改监控阈值 )

    # master.hadoop、datanode01.hadoop

    shell > mkfs.ext4 /dev/sdb
    shell > mkdir tmp; mv /dfs/* tmp/
    shell > mount -o noatime /dev/sdb /dfs
    shell > mv tmp/* /dfs
    shell > echo '/dev/sdb /dfs ext4 noatime 0 0' >> /etc/fstab
    
    shell > mkfs.ext4 /dev/sdc
    shell > mv /opt/* tmp/
    shell > mount -o noatime /dev/sdc /opt
    shell > mv tmp/* /opt
    shell > echo '/dev/sdc /opt ext4 noatime 0 0' >> /etc/fstab
    
    shell > mount -a

    # 启动集群即可

    五、向集群中添加节点

    # 准备好的服务器,也要经过初始化阶段!( 还有内核参数 ) ( jdk、agent 都可以不用装,也可以先安装好 )

    1、主机->模板->修改默认模板名称为 DataNode,应用该模板的主机将包含两个角色 DataNode、NodeManager

    2、状态->向集群添加新主机

    3、搜索主机 192.168.47.30 或 datanode02.hadoop ( 当前管理的主机中如有该主机直接勾选继续 )

    4、安装软件到该主机、检查主机正确性

    5、选择主机模板 DataNode 继续,安装、启动服务

    6、YARN (MR2 Included) 刷新集群配置

    # 完成

  • 相关阅读:
    Android——ArrayList 、LinkList、List 区别 & 迭代器iterator的使用 & HashMap、Hashtable、LinkedHashMap、TreeMap
    Android--List与ArrayList区别(转)
    android——inflater 用法(转)
    Android——列表视图 ListView(二)SimpleAdapter
    Odoo 仓库扫码打包方案
    Odoo 仓库调拨移动过程中 单位不允许错误的分析及解决方案
    Ubuntu FTP 配置
    attrs 中的 uid
    GitLab安装手记
    [转载]How To Add Swap on Ubuntu 12.04
  • 原文地址:https://www.cnblogs.com/wangxiaoqiangs/p/6626076.html
Copyright © 2020-2023  润新知