美文网首页
promethues+grafana监控hadoop服务

promethues+grafana监控hadoop服务

作者: JX907 | 来源:发表于2022-03-14 20:03 被阅读0次

本文记录使用promethes、grafana监控告警Hadoop服务的过程,文末附上grafana dashboard配置,有需要的下载后对应修改即可使用,不要再去csdn下载收费的了。
一、原理
使用promethes监控hadoop服务的原理是基于javaagent技术将promethes提供的exporter jar包加载到每个服务的进程中,exporter将JMX统一格式后提供http接口供promethes server调用。
二、配置
1、上传export包到hadoop的每台服务器, 并修改访问权限
/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar
chmod 777 /opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar

2、在每台服务器的/opt/software/prometheus_export/目录下分别创建各个角色的yaml配置,文件会在第三步被引用,每份文件中只有hostPort不同,该hostPort与第三步中的-Dcom.sun.management.jmxremote.port需对应一致
端口对应关系:
namenode:1234
datanode:1235
jounalnode:1236
zkfc:1237
resourcemanager:1238
nodemanager:1239
hiveserver2:1240
hivemetastore:1241
zookeeper:1242

(各配置文件见文末有道笔记链接)

3、hdfs相关。
3.1修改hadoop-env.sh,此处涉及的角色:namenode、datanode、journalnode、zkfc、resoucemanager、nodemanager。(ambari对应配置: Advanced hadoop-env下面的hadoop-env template)

jmx_exporter#

export HDFS_NAMENODE_OPTS="$HDFS_NAMENODE_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1234 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9222:/opt/software/prometheus_export/namenode.yaml"

export HDFS_DATANODE_OPTS="$HDFS_DATANODE_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1235 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9322:/opt/software/prometheus_export/datanode.yaml"

export HADOOP_JOURNALNODE_OPTS="$HADOOP_JOURNALNODE_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1236 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9522:/opt/software/prometheus_export/journalnode.yaml"

export HDFS_ZKFC_OPTS="$HDFS_ZKFC_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1237 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9422:/opt/software/prometheus_export/zkfc.yaml"

4、yarn相关。
yarn-env.sh。(ambari对应配置: Advanced yarn-env下面的yarn-env template)
export YARN_RESOURCEMANAGER_OPTS="$YARN_RESOURCEMANAGER_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1238 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9622:/opt/software/prometheus_export/resourcemanager.yaml"

export YARN_NODEMANAGER_OPTS="$YARN_NODEMANAGER_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1239 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9722:/opt/software/prometheus_export/nodemanager.yaml"

5、hive相关
hive-env template 分别在if [ "SERVICE" = "metastore" ]; then和if [ "SERVICE" = "hiveserver2" ]; then的最后增加如下内容:
export HADOOP_OPTS="$HADOOP_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1240 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9822:/opt/software/prometheus_export/hivemetastore.yaml"

export HADOOP_OPTS="$HADOOP_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1241 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9922:/opt/software/prometheus_export/hiveserver2.yaml"

6、zookeeper
在ambari中修改zookeeper-env template配置,在export CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*后增加如下内容
########################prometheus start##################
export ZK_JMX_OPTS="-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=1242 -javaagent:/opt/software/prometheus_export/jmx_prometheus_javaagent-0.9.jar=9923:/opt/software/prometheus_export/zookeeper.yaml"
########################prometheus end###################

在zookeeper所在的每台服务器上修改zkServer.sh,ZK_JMX_OPTS为增加内容, start) echo -n "Starting zookeeper ... " if [ -f "ZOOPIDFILE" ]; then
if kill -0 cat "$ZOOPIDFILE" > /dev/null 2>&1; then
echo command already running as process `cat "ZOOPIDFILE"`.
exit 0
fi
fi
nohup "JAVA" "-Dzookeeper.log.dir={ZOO_LOG_DIR}" "-Dzookeeper.log.file={ZOO_LOG_FILE}" "-Dzookeeper.root.logger={ZOO_LOG4J_PROP}"
-cp "CLASSPATH"JVMFLAGS ZK_JMX_OPTSZOOMAIN "ZOOCFG" > "_ZOO_DAEMON_OUT" 2>&1 < /dev/null &

三、监控规则


image.png

四、grafana配置
https://note.youdao.com/s/bUh0T93W

相关文章

  • promethues+grafana监控hadoop服务

    本文记录使用promethes、grafana监控告警Hadoop服务的过程,文末附上grafana dashbo...

  • Ranger权限管理

    一、介绍 1.1 什么是Ranger Apache Ranger是一个用来在Hadoop平台上进行监控,启用服务,...

  • Cloudera Manager + CDH安装

    鉴于apache版本的Hadoop监控不完善,我们生产使用了CDH,同时使用Cloudera Manager监控,...

  • 监控端口状态

    监控主机服务状态监控目的监控方法监控实现一、监控目的实时掌握线上机器服务状态,保证服务正常运行 二、监控方法采用t...

  • Hadoop配置项随笔

    1. 控制hadoop监控页面中已经完成的application记录数量。

  • Prometheus+Grafana监控系统部署

    一、部署prometheus监控服务器: 安装监控服务器 修改配置文件 编写service文件,管理服务 查看监控...

  • lagou 爪哇 3-5 spring cloud (下) 笔记

    Spring Cloud 高级进阶 微服务监控之 Turbine 聚合监控 参考上⽂Hystrix部分 微服务监控...

  • 微服务应该有哪些监控点

    微服务由于服务众多,所以业务的监控是必不可少的,我们在做微服务监控的话,主要做了几个方面的监控 监控分类 metr...

  • graphite+grafana实现clickhouse集群的监

    可以通过两种方式监控clickhouse: 监控硬件资源 ClickHouse服务器指标 监控硬件 监控服务器的处...

  • 微服务-springcloud-turbine

    tubine的作用:用于服务的多节点监控,汇总dashboard的监控数据,进行整体的监控被监控的服务需要开启端点...

网友评论

      本文标题:promethues+grafana监控hadoop服务

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