对Cloudera Hadoop多一些了解

来源:互联网 发布:吉利知豆汽车价格 编辑:程序博客网 时间:2024/05/22 08:22

对Cloudera Hadoop多一些了解(不断完善中)

  • 对Cloudera Hadoop多一些了解(不断完善中)
    • 安装cloudera hadoop
    • cdh中的一些概念
    • cdh的作用
    • cdh的日志存储
    • cdh的监控体系
    • cdh的报警机制
      • 邮件报警转发机制
      • 脚本报警转发机制
    • Cloudera Management API

Cloudera hadoop (简称cdh) 是 Cloudera https://www.cloudera.com/ 公司开发的一套hadoop组件管理系统,可以对集群,主机,hadoop组件提供管理,监控等服务。

 编辑

安装cloudera hadoop

  • CDH安装过程说明以及注意事项
 编辑

cdh中的一些概念

cdh的管理分为三个级别,集群(cluster)管理,服务(server)管理,角色(role)管理。cluster主要指集群,主机的管理,包括主机服务的启动,重启,关闭,集群健康状况的监测,集群状态的监测;server主要指运行在cdh上的各种服务,例如hdfs, yarn, spark等等,cdh可以对它们进行各种指标监控,启动,重启,关闭等指令操作;role指的是server运行的各种进程,只有各个role健康运行,server才会健康运行。在这些概念中,role包含于server, server包含于cluster。在集群的所有主机中,有一台主机称为server,即cloudera server,也可以认为是主节点;其他主机为agent,即cludera agent,也可以称之为子节点。agent与server之间会不断的进行心跳通信,防止节点挂掉。

 编辑

cdh的作用

cdh为大数据集群用户提供各个组件的监控服务以及server的自动安装等,还可以根据用户的需求个性化设置监控报警阀值,监控类型等。

 编辑

cdh的日志存储

安装cloudera hadoop完成后,我们一般会查看cdh的日志,默认的cdh的日志存储位置为/var/log/cloudera-scm-agent /var/log/cloudera-scm-server, 而服务的日志一般存储在/var/log/***/中。为了防止日志写入造成磁盘占满,cdh提供了改写日志路径的功能。针对cloudera agent日志和cloudra server日志,可以通过以下方式进行修改:

对clouder manager server修改日志路径

$ sudo service cloudera-scm-server stop$ vim /etc/default/cloudera-scm-server    add export CMF_VAR=/opt$ sudo su$ cd /opt$ mkdir log$ chown cloudera-scm:cloudera-scm log$ mkdir /opt/log/cloudera-scm-server$ chown cloudera-scm:cloudera-scm log/cloudera-scm-server$ mkdir run$ chown cloudera-scm:cloudera-scm run$ sudo service cloudera-scm-server start

对coudera manager agent 修改日志路径

$ vim /etc/cloudera-scm-aent/config.ini        add        log_file=/opt/log/cloudera-scm-agent/cloudera-scm-agent.log$ sudo su$ cd /opt$ mkdir log$ chown cloudera-scm:cloudera-scm log$ mkdir /opt/log/cloudera-scm-agent$ chown cloudera-scm:cloudera-scm log/cloudera-scm-agent$ sudo service cloudera-scm-agent restart

对于cloudera-scm-alertpublisher/ , cloudera-scm-eventserver/ , cloudera-scm-firehose/,可以再cloudera managerment service中选择配置,找到日志目录项填写路径即可修改。

对于hdfs, yarn等服务的日志路劲,同样在配置中选择日志目录项填写路径即可。

日志中记载了各个服务,组件运行的状态,当某个组件,服务出现问题的时候,可以通过查看日志信息来确定问题。

 编辑

cdh的监控体系

cdh中提供了一整套组件,服务监控,并通过图表方式展现出来。

cdh同样提供了自定义查询的方式给用户展现当前集群某个指标的某种状态。在cdh中,提供了[tsquery Language](https://www.cloudera.com/documentation/enterprise/latest/topics/cm_dg_tsquery.html), 一种类sql的查询方式来查询cdh某种指标状态。在图表生产器中,输入tsquery Language查询语句查询并生产图表。并且可以把生产的图表添加到某仪表板中。

 编辑

cdh的报警机制

当大数据系统中有错误出现时,cdh会触发错误报警,并以某一种方式发生给用户。

在cdh中,错误的等级主要有三种:良好(good), 可能有问题(concerning)和有问题(bad)。在cdh中可以设置报警阀值。在cloudera management server中选择配置,找到运行状况警报阀值,选择bad或者concerning。这里表示当系统健康处在选择的状态的时候,cdh就会触发警报操作。

cdh提供了三种警报发送方式:
  • 邮件报警转发
  • SNMP报警转发 (未仔细研究)
  • 脚本报警转发
    当警报触发后,cdh会把所有的错误信息,监测信息等封装成一个json串,然后将json串通过报警转发机制将报警信息转发给用户。
 编辑

邮件报警转发机制

邮件报警转发机制把将整个json信息以邮件的方式转发给用户。首先要设置邮件服务器信息,在cloudera management server中选择配置,找到邮件服务器相关项,填写好信息,然后设置启动邮件报警服务。在有报警触发后,用户就会收到报警json信息。

 编辑

脚本报警转发机制

cdh同样提供了一种通过脚本报警转发报警信息机制。用户可以编辑脚本来获取相应的报警信息,并自定义处理方法。
我们在做报警监控的时候最主要研究脚本报警方式。

首先要设置脚本路径,在cloudera management server中选择配置,找到自定义警报脚本,填写好脚本路径(绝对路径)。注意, 脚本应该放置在安装cloudera server的服务器上。
具体操作可以参考这篇文章:CDH配置报警服务

编写脚本,$1指cdh封装的Json报警信息传递给脚本,脚本调用ParseJsonAlert.py进行处理。

CLUSTER=`cat $1`echo $CLUSTERCLUSTER_NAME=`cat $1 | python /opt/cloudera/ParseJsonAlert.py`echo $CLUSTER_NAME

自定义脚本处理流程如下图:

用户可以通过编程的方式查看各个组件,服务的信息状态,主要是通过cdh提供的api调用进行操作。

 编辑

Cloudera Management API

Cloudera 提供python 和java两种方式的api,详细使用方法请见API文档。

http://cloudera.github.io/cm_api/docs/python-client/
http://cloudera.github.io/cm_api/javadoc/5.8.0/index.html

对于python 首先需要添加第三方包,公司网络内不能使用pip安装,因此可以通过本地安装方式安装cm api第三方包。
下载第三方包:

https://pypi.python.org/pypi/cm-api/16.0.0

下载下来后解压进入文件,执行命令

 python setup.py install
直接安装即可。
原创粉丝点击