• CentOS7安装CDH 第六章:CDH的管理-CDH5.12


    相关文章链接

    CentOS7安装CDH 第一章:CentOS7系统安装

    CentOS7安装CDH 第二章:CentOS7各个软件安装和启动

    CentOS7安装CDH 第三章:CDH中的问题和解决方法

    CentOS7安装CDH 第四章:CDH的版本选择和安装方式

    CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0

    CentOS7安装CDH 第六章:CDH的管理-CDH5.12

    CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置

    CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作

    CentOS7安装CDH 第九章:CDH中安装Kafka

    CentOS7安装CDH 第十章:CDH中安装Spark2

    CentOS7安装CDH 第十一章:离线升级CDH版本

    CentOS7安装CDH 第十二章:YARN的资源调优

    CentOS7安装CDH 第十三章:CDH资源池配置

    CentOS7安装CDH 第十四章:CDH的优化

    1. CDH体系架构剖析

    1.1. 2个注意

    • 所有的配置修改,都是从 7180 端口的 web 界面修改。当在web界面修改配置信息后会提示需要集群重启,此时选择重启,并选中其中的“重新部署客户端配置”。
    • kill -9 cm 进程/hdfs 进程,supervisord 会启动被 kill 掉的进程。
    • 修改配置信息步骤:Web 界面修改------>数据库表 configs 表------->/etc/hadoop/*------->/var/run/cloudera-scm-agent/process/*
      • web 界面修改参数,保存,到 configs 表
      • 重新部署客户端,到/etc/hadoop/的某个目录下,然后通过 alternatives 命令动态更新到 conf文件夹;且会在/var/run/cloudera-scm-agent/process/目录下生成 deploy 文件夹
      • 重启集群或者重启单个服务,会在/var/run/cloudera-scm-agent/process/目录下生成各个组件的运行的配置文件夹(是有序号标识的)

    1.2. 架构剖析

    • CM 分为 Server 与 Agent 两部分及数据库(MySQL)。它主要做三件事件:
      • 管理监控集群主机,包含自己。
      • 统一管理配置,提供 web 端。
      • 管理维护 Hadoop 平台系统。
    • 实现采用 C/S 架构,Agent 为客户端,负责执行服务端发来的命令,执行方式一般为使用 python调用相应的服务 shell 脚本。Server 端为 Java REST 服务,提供 REST API,Web 管理端通过 REST API调用 Server 端功能,Web 界面使用富客户端技术(Knockout)。
      • Server 端主体使用 Java 实现。
      • Agent 端主体使用 Python, 服务的启动通过调用相应的 shell 脚本进行启动,如果启动失败会重复 4 次调用启动脚本。
      • Agent 与 Server 保持心跳,使用 Thrift RPC 框架。

    2. CM中的常用命令

    service cloudera-scm-server start|stop|restart|status

    service cloudera-scm-agent start|stop|restart|status

    查看进程:jps / jps -l /jps –m

    注意:

    当使用jps命令时,出现如下情景:

    1101 -- process information unavailable

    但ps -ef|grep 1101 找不到该进程,那么就是残留文件,

    此时cd /tmp/hsperfdata_hdfs/等类似文件夹中,找到 1101文件,删除即可。

    3. CDH集群正确启动和停止顺序

    3.1. 启动

    1.su – mysqladmin service mysql start
    2.service cloudera-scm-server start
    3.service cloudera-scm-agent start (每台)
    4.web: cms
    5.web: cluster1

    3.2. 停止

    1.web: cluster1
    2.web: cms
    3.service cloudera-scm-agent stop (每台)
    4.service cloudera-scm-server stop
    5.su – mysqladmin service mysql stop

    3.3. 注意点

    cms 和 cluster1 无论哪个关闭、启动等等操作,会造成web界面的图表的 不绘制情景,此时可以采取如下操作:
    1.cms 和 cluster1 都要启动 ,稍微等待 ,正在恢复中(30s)
    2.先cluster1关闭,再重启cms服务

    4. CDH配置QQ预警邮箱

    4.1. 开启QQ邮箱的SMTP 

    这里使用了QQ邮箱的SMTP,需要获取QQ邮箱的授权码:

    4.2. 安装并开启和关闭centos7对应的邮箱服务

    # 卸载原有邮箱服务,并安装新的邮箱服务
    yum remove postfix
    yum install postfix
    
    # 关闭机器的sendmail服务
    systemctl stop sendmail.service
    systemctl disable sendmail
    
    # 开启postfix服务
    systemctl start postfix.service
    systemctl enable postfix

    4.3. 创建证书文件

    mkdir -p /root/.certs/
    echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGINCERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
    certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
    certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
    certutil -L -d /root/.certs
    cd /root/.certs
    certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

    4.4. 在/etc/mail.rc文件末尾添加以下授权码

    set from=1043797615@qq.com
    set smtp=smtp.qq.com
    set smtp-auth-user=1043797615
    #授权码
    set smtp-auth-password=cgnrvyvbbsufbcbd
    set smtp-auth=login
    set smtp-use-starttls
    set ssl-verify=ignore
    set nss-config-dir=/root/.certs

    4.5. 命令行验证邮箱服务

    echo hello word | mail -s " title" 1028344078@qq.com
    # 此时1028344078@qq.com 会收到一封邮件

    4.6. CDH配置邮件测试

    #查看 Alert 服务的 log
    tail -F /var/log/cloudera-scm-alertpublisher/mgmt-cmf-mgmt-ALERTPUBLISHER-hadoop35.log.out
    
    # 实时查看Linux中的邮件日志
    tail -f /var/log/maillog

    选择警报,再选择编辑收件人:

    点击发送测试警报,对应的邮箱会收到测试邮件。

    4.7. 预警邮件中的坑

    在Alert Publisher服务中,默认的邮件发件人地址如下,当邮件发送过多时,邮件的服务商会默认设置此地址为骚扰邮件,之后就不能接收到警告邮件了,此时可以在邮件网页中,点击回复,给此地址回复一封邮件,建立信任关系,就可以继续收到此地址发送的邮件了。

    5. CDH集群不能运行时的一些问题汇总

    在CDH中有如下服务:

    db(mysql)

    server (cmf)

    agent  本次被删除了

    cms(5个进程,amon )

    HDFS/yarn/zk/hive 元数据

    5.1. 数据库服务没有启动

    CDH集群中,CM的server需要引用数据库中的cmf库,cms(Cloudera Management Service)需要引用数据库中的amon库,所以当数据库不能使用时,CDH集群启动不了,CDH中的数据库配置在/etc/cloudera-scm-server/db.properties路径中。(在cms中,一共有5个子服务)

    5.2. 一个节点中agent完全崩溃

    1.此时先检查节点中agent的状态,将agent的遗留文件删除。
    2.进入/var/www/html/cm5/redhat/7/x86_64/cm/5.12.0/RPMS/x86_64文件夹中,安装agent服务,安装命令:yum install cloudera-manager-agent-5.12.0-1.cm5120.p0.120.el7.x86_64.rpm。
    3.进入/etc/cloudera-scm-agent文件夹中,配置config.ini配置文件。
    4.修改其中的server_host为cm的server安装机器的IP地址(可以查看其他能运行的节点的该配置文件的IP地址)。
    5.使用service cloudera-scm-agent start命令启动该节点的agent,再去web界面重启CMS。
    上述问题说明CMS也是通过agent来启动和管理的。

    5.3. 地址已被使用问题

    当CDH的启动异常,并报如下错误时有几种解决方法:

    Caused by: java.net.BindException: Address already in use

    1、此时为地址被占用,使用ps/netstat查看该进程号,并kill掉该进程即可。

    例:

    ps -ef | grep alert                          #查看alert的进程号

    netstat -nlp |grep 12704                    #查看该进程的端口号

    kill -9 12704                     #kill掉该进程,然后再查看端口号即可

    2、可以在web界面将有问题的服务删除,在添加该实例:

    3、可以将cloudera-scm-agent服务停止,在kill父进程super(ps –ef|grep super),然后再启动cloudera-scm-agent服务,再去web界面重启。

    4、实在不行重启服务器

    6. CDH中的日志介绍

    stdout/stderr/role log

    查看顺序:role log -> stderr -> stdout

  • 相关阅读:
    Mybatis 使用 mapper 接口规范的 一对一, 一对多,多对多映射
    mybatis mapper接口开发dao层
    使用 maven 搭建web开发基本架构
    mybatis dao 层开发简易版 非整合 spring
    mybatis 不整合spring 入门小例子
    spring+spring mvc+JdbcTemplate 入门小例子
    PythonCharm 配置本地反向代理激活
    Python 算法实现
    不写一行代码,绿色三层我也行
    pythonday
  • 原文地址:https://www.cnblogs.com/yangshibiao/p/10868021.html
Copyright © 2020-2023  润新知