CDH02_cdh 添加内存监控-程序员宅基地

技术标签: BigData  

一、解读CDH

1、CM服务

(1)状态

(2)Cloudera Management Service实例: 5个进程

(3)配置

(4)单个服务的配置

服务: HDFS Kafka
角色/实例: 所属的服务的进程

以HDFS为例:

2、自定义监控图表

(1)查询图标库

选定一个服务,选择图表库

(2)打开图表

(3)复制查询语句

SELECT cpu_user_rate_across_datanodes WHERE entityName = "hdfs" AND category = SERVICE

(4)打开图表生成器

(5)输入语句,构建图表

(6)起名

(7)保存

 

二、如何停止、启动集群

Stop:
1.cm web http://139.198.188.104:7180
a.stop Cluster1
b.stop Cloudera Management Service

2.stop agent and server
[root@sh-datascienceresearch-01 ~]# service cloudera-scm-agent stop
[root@sh-datascienceresearch-02 ~]# service cloudera-scm-agent stop
[root@sh-datascienceresearch-03 ~]# service cloudera-scm-agent stop
[root@sh-datascienceresearch-04 ~]# service cloudera-scm-agent stop
[root@sh-datascienceresearch-05 ~]# service cloudera-scm-agent stop

[root@sh-datascienceresearch-01 ~]# service cloudera-scm-server stop

3.stop cm database
sh-datascienceresearch-01.telenav.cn:mysqladmin:/usr/local/mysql:>service mysql stop


Start:
1.start cm database
sh-datascienceresearch-01.telenav.cn:mysqladmin:/usr/local/mysql:>service mysql start

2.start server and agent
[root@sh-datascienceresearch-01 ~]# service cloudera-scm-server start

###wait 1min

[root@sh-datascienceresearch-01 ~]# service cloudera-scm-agent start
[root@sh-datascienceresearch-02 ~]# service cloudera-scm-agent start
[root@sh-datascienceresearch-03 ~]# service cloudera-scm-agent start
[root@sh-datascienceresearch-04 ~]# service cloudera-scm-agent start
[root@sh-datascienceresearch-05 ~]# service cloudera-scm-agent start

3.cm web http://172.16.102.63:7180/
a.start Cluster1
b.start Cloudera Management Service

###假如web界面出现,host等等图表信息读取错误,那么再手工重启 Cluster1 或者 Cloudera Management Service

###可以抑制就抑制,需要修改堆内存就修改堆内存

三、CM架构和配置文件

1、架构

总结:

页面请求服务到Server,Server从MySQL查询并存储新服务,再分配任务给Agent操作,更新配置以及执行命令,最终返回到页面。

2、配置文件存储的位置:

cm server  /etc/cloudera-scm-server
cm agent   /etc/cloudera-scm-agent

3、组件的配置文件

HDFS:

kafka: hadoop001 hadoop002

客户端:
/etc/kafka/conf 
实例的当前服务端配置:
/var/run/cloudera-scm-agent/process/74-kafka-KAFKA_BROKER

总结:

修改配置还是通过界面修改

四、CDH 集群正确启动和停止顺序

1.Start

a. MySQL node: service mysql start
b. CM(server) node: service cloudera-scm-server start
c. Agent nodes: service cloudera-scm-agent start
d. Start Cloudera Management Services

e. Start Cluster1

###假如 web 界面出现,host 等等图表信息读取错误,
1.wait 1 小会
2.那么再手工重启 Cluster1 或者 Cloudera Management Service --夯住
3. 等待一会,刷新 web,假如还是这样,那么就移除下面两个文件夹(/var/lib/cloudera-host-monitor 、
/var/lib/cloudera-service-monitor),
 然后通过 web 界面删除掉 对应的服务,
 然后再重新添加,
 最后重启 CM service 和刷新 web

2.Stop

a. Stop Cluster1 

b. Stop Cloudera Management Services

c. Agent nodes: service cloudera-scm-agent stop
d. CM(server) node: service cloudera-scm-server stop
e. MySQL node: service mysql stop

3.个人理解总结

Web 界面修改------>数据库表 configs 表------->/etc/hadoop/*------->/var/run/cloudera-scmagent/process/*
1. web 界面修改参数,保存,到 configs 表
2. 重新部署客户端,到/etc/hadoop/的某个目录下,然后通过 alternatives 命令动态更新到 conf
文件夹;且会在/var/run/cloudera-scm-agent/process/目录下生成 deploy 文件夹
若泽数据 www.ruozedata.com Page 12
3. 重启集群或者重启单个服务,会在/var/run/cloudera-scm-agent/process/目录下生成各个组件
的运行的配置文件夹(是有序号标识的)
 CDH 安装完成后,服务启动时,Hadoop 各组件配置文件会被放置于/var/run/cloudera-scm-agent/process/目录下。 
例如:/var/run/cloudera-scm-agent/process/193-hdfs-NAMENODE/core-site.xml。这些配置文件是通过 Cloudera 
Manager 启动相应服务(如 HDFS)时生成的,内容从数据库中获得(即通过界面配置的参数)。
在 CM 界面上更改配置是不会立即反映到配置文件中,这些信息会存储于数据库中,等下次重启服务时才会生成配
置文件。且每次启动时都会产生新的配置文件。
CM Server 主要数据库为 scm/cmf 中放置配置的数据表为 configs。里面包含了服务的配置信息
每一次配置的更改会把当前页面的所有配置内容添加到数据库中,以此保存配置修改历史

六. CDH 常规管理

1. 监控

a. 自带 Charts
b. 脚本
Python/Shell/Jmx/CDH Api
Access http://cm-host:7180/api/version to find out the highest supported version.
Reference: http://cloudera.github.io/cm_api/docs/quick-start/
Example: 
 CDH4.8.6 http://cloudera.github.io/cm_api/apidocs/v5/index.html
 CDH5.4.8 http://cloudera.github.io/cm_api/apidocs/v10/index.html
假如 shell 脚本,datanode 进程是否存在,
若泽数据 www.ruozedata.com Page 13
Apache hadoop--> hadoop-daemon.sh start datanode
CDH --> hadoop-daemon.sh start datanode 能启动,但是有个问题,web 界面不会同步信息
CDH API-->推荐

curl -X GET -u "admin:admin" -i \
http://139.198.188.104:7180/api/version 

curl -X GET -u "admin:admin" -i \
http://139.198.188.104:7180/api/v17/clusters/HBinz_Cluster

七、动态资源池

默认的

g1-pool 33%
g2-pool 33%
g3-pool 33%  user job需求较大 用完了,可以去其他组资源借

放置规则:
子栋 group3 spark submit --queue group3

    Placement Rule    Actions
Use the pool Specified at run time,
only if the pool exists.     

Use the pool root.default. 
This rule is always satisfied. Subsequent rules are not used.

g1
g2
g3
--queue

hadoop001user g1
hadoop002user g2

hadoop001user: spark submit
所属的用户组g1

Use the pool root.[primary group], only if the pool exists.

七、配置预警邮箱

1. 开启 QQ 邮箱的 SMTP,获取授权码 
1.1 这里使用了 QQ 邮箱的 SMTP,需要做以下配

2. 关闭SCM机器的 sendmail 服务,开启 postfix 服务

#sendmial
service sendmail stop
chkconfig sendmail off
#postfix
service postfix start
chkconfig postfix on

3. 创建证书文件 

mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN
CERTIFICATE-/,/-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
cd

4. 在/etc/mail.rc 文件末尾添加以下

set [email protected]
set smtp=smtp.qq.com
set smtp-auth-user=1542293291
#授权码
set smtp-auth-password=yfhxpycvqnfbjdbb
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/root/.certs

5. 命令行验证邮件服务

echo hello word | mail -s " title" [email protected]
# [email protected] 会收到一封邮件
#当然实时查看 Linux 日志
tail –f /var/log/maillog

6. CDH 配置邮件,测试 
6.1.先单击 Edit,输入 1542293291@qq,然后保存重启生效服务配置

6.2.再单击 Send Test Ale

#查看 Alert 服务的 log
[root@hadoop35 ~]# tail -F /var/log/cloudera-scm-alertpublisher/mgmt-cmf-mgmtALERTPUBLISHER-hadoop35.log.out

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Binbinhb/article/details/88928996

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签