HDFS & Yarn 即Hadoop by Jmx on Promethues + Grafana的监控(二) —— Promethues数据源配置

注意:如果还未安装Promethues,参考HDFS & Yarn on Promethues + Grafana的监控(一) —— Promethues的安装

一、配置Promethues的数据源

1、下载jmx_prometheus_javaagent-0.13.0.jar包:

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.13.0/jmx_prometheus_javaagent-0.13.0.jar

2、配置jmx和promethues的连接

(1)创建一个文件夹并在这个文件夹下创建不同jmx的配置yaml(此步骤在各自的节点都要有这个配置文件)

a、创建文件夹
cd /data
mkdir hdfs

b、在/data/hdfs/目录下创建NameNode的JMX配置文件 (此步骤在各自的节点都要有这个配置文件)

vim /data/hdfs/nn.yaml

startDelaySeconds: 0
hostPort: 10.21.0.86:6444
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
c、在/data/hdfs/目录下创建DateNode的JMX配置文件 (此步骤在各自的节点都要有这个配置文件)

vim /data/hdfs/dn.yaml

startDelaySeconds: 0
hostPort: 10.21.0.86:6454
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
d、在/data/hdfs/目录下创建ResourceManager的JMX配置文件 (此步骤在各自的节点都要有这个配置文件)

vim /data/hdfs/rm.yaml

tartDelaySeconds: 0
#master为本机IP(一般可设置为localhost);6464为想设置的jmx端口
hostPort: 10.21.0.86:6464
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
e、在/data/hdfs/目录下创建NodeManager的JMX配置文件 (此步骤在各自的节点都要有这个配置文件)

vim /data/hdfs/nm.yaml

startDelaySeconds: 0
#master为本机IP(一般可设置为localhost);6474为想设置的jmx端口(可设置为未被占>用的端口)
hostPort: 10.21.0.86:6474
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false

(2)CDH版本&开源社区版本集群都建议这么弄:

a、修改hadoop的bin/hdfs这个启动命令文件,只需在上方加入下面这个环境变量

cdh的目录在这:/opt/cloudera/parcels/CDH/lib/hadoop-hdfs/bin/hdfs

##hdfs jmx monitor##
#######################
export HADOOP_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=6444 -javaagent:/data/hdfs/jmx_prometheus_javaagent-0.13.0.jar=17106:/data/hdfs/nn.yaml $HADOOP_NAMENODE_OPTS"
export HADOOP_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=6454 -javaagent:/data/hdfs/jmx_prometheus_javaagent-0.13.0.jar=17107:/data/hdfs/dn.yaml $HADOOP_DATANODE_OPTS"
#######################
b、在/opt/cloudera/parcels/CDH/lib/hadoop-yarn/bin/yarn
##yarn jmx monitor##
#######################
export 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=6464 -javaagent:/data/hdfs/jmx_prometheus_javaagent-0.13.0.jar=17104:/data/hdfs/rm.yaml $YARN_RESOURCEMANAGER_OPTS"
export 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=6474 -javaagent:/data/hdfs/jmx_prometheus_javaagent-0.13.0.jar=17105:/data/hdfs/nm.yaml $YARN_NODEMANAGER_OPTS"
#######################

注意:当然也可以参考其他大佬配置在/etc/hadoop/conf/hadoop-env.sh里添加这些配置,个人不喜欢去改命令,建议添加环境变量即可

(3)在promethues进行配置(我的promethues的目录是在/usr/local下面)

注意:像下面a、b这样的好处是修改target监控的节点是不用重启Promethues的,而直接配置在prometheus.yml是需要重启的

a、在promethues的目录下建个configs目录,再写好target的json配置文件
mkdir configs
cd configs

vim nn.json
--------------------------------------------------
[
 {
  "targets": ["nn的host:17106"]
 }
]
--------------------------------------------------

vim dn.json
--------------------------------------------------
[
 {
  "targets": ["dn1的host:17107","dn2的host:17107","dn3的host:17107"]
 }
]
--------------------------------------------------

vim rm.json
--------------------------------------------------
[
 {
  "targets": ["rm1host:17104","rm2host:17104"]
 }
]
--------------------------------------------------

vim nm.json
--------------------------------------------------
[
 {
  "targets": ["nm1host:17105","nm2host:17105","nm3host:17105"]
 }
]
--------------------------------------------------

b、再在promethues目录下修改prometheus.yml文件
vim prometheus.yml  
  
  - job_name: 'yarn-rm'
    file_sd_configs:
    - files:
      - configs/rm.json

  - job_name: 'yarn-nm'
    file_sd_configs:
    - files:
      - configs/nm.json

(4)重启prometheus

$ systemctl restart prometheus

二、验证数据源是否配置成功

1、验证是否配置成功,有两种方式:

(1)根据刚才配置target路径访问测试,如果有放回一堆数据,说明配置成功

curl "[http://rm1host:17104/metrics](http://localhost:17107/metrics)"

返回:
# HELP jmx_exporter_build_info A metric with a constant '1' value labeled with the version of the JMX exporter.
# TYPE jmx_exporter_build_info gauge
jmx_exporter_build_info{version="0.13.0",name="jmx_prometheus_javaagent",} 1.0
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 266.8
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.611046723427E9
# HELP process_open_fds Number of open file descriptors.

。。。。**等等 **

(2)或者访问Promethues的9090端口,查看target是否正常。

点击Status再点击Target看是否是绿色,红色则是配置失败

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oKewO9cW-1611311044018)(https://secure-static.wolai.com/static/82j7NqcK7KoNakU8AXuouS/image.png)]

三、配置Grafana

参考我的另外一篇文章 HDFS & Yarn on Promethues + Grafana的监控(三) —— Grafana的Dashboard配置(以 Yarn 为例)

Hadoop是一个开源的分布式计算框架,用于处理大规模数据集。配置Hadoop主要包括以下几个步骤: 1. **下载和安装Hadoop**: 首先,从Apache官方网站下载适合你操作系统的Hadoop版本。通常会包括Hadoop Distributed File System (HDFS) 和 MapReduce框架。 2. **设置环境变量**: - 添加Hadoop bin目录到系统路径(`export PATH=$PATH:/path/to/hadoop/bin`)。 - 设置JAVA_HOME环境变量指向Java的安装路径。 3. **配置核心文件**: - 修改`conf/core-site.xml`,设置HDFS的相关参数,如NameNode地址、DataNode数量等。 - 修改`conf/hdfs-site.xml`,配置HDFS副本数和块大小等。 4. **配置MapReduce**: - 在`conf/mapred-site.xml`中配置JobTracker和TaskTracker的地址,以及任务队列设置等。 5. **启动服务**: - 启动HDFS集群(`sbin/start-dfs.sh`),然后启动YARN集群(如果使用YARN替换经典MapReduce)(`sbin/start-yarn.sh`)。 - 可能还需要启动ResourceManager、NodeManager等。 6. **验证配置**: - 使用命令`hadoop fs -ls`检查HDFS是否正常工作。 - 查看job history(对于经典MapReduce)或yarn logs(对于YARN)来确认任务运行状态。 7. **安全配置**: - 如果你需要,还需配置Kerberos安全或Hadoop的其他安全选项,这一步比较复杂,涉及到密钥管理、用户认证等。 8. **持续监控**: - 使用Hadoop提供的工具如Hadoop Metrics2、JMX监控集群性能和健康状况。 以上是Hadoop的基本配置步骤,具体的配置细节可能会因版本差异而略有不同。如果你遇到问题,可以在网上查找针对你所使用的Hadoop版本的官方文档,或者查阅社区资源。如果你需要安装在特定的操作系统上,如Linux或Windows,还需要关注相关的安装指导。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值