1. 首页 > Hadoop教程 > 正文

大数据教程FG123-大数据集群日常巡检与健康检查实战

本教程主要介绍大数据集群日常巡检与健康检查的方法和实战技巧,包括系统状态检查、组件状态检查、性能检查等内容。风哥教程参考bigdata官方文档运维指南、配置说明等相关内容。

通过本教程的学习,您将掌握大数据集群的日常巡检与健康检查方法,实现对集群的定期检查和维护,确保大数据系统的稳定运行。

目录大纲

Part01-基础概念与理论知识

1.1 日常巡检概述

大数据集群日常巡检是指定期对集群的各个组件和系统进行检查,确保集群的正常运行,主要包括:

  • 系统状态检查:检查服务器硬件和操作系统状态
  • 组件状态检查:检查Hadoop、Hive、HBase等组件的运行状态
  • 性能检查:检查集群的性能指标
  • 安全检查:检查集群的安全状态
  • 备份检查:检查备份是否正常

日常巡检是大数据平台运维的重要组成部分,为大数据分析和处理提供可靠的运行保障,学习交流加群风哥微信: itpux-com

1.2 健康检查指标

健康检查指标包括:

  • 系统指标:CPU使用率、内存使用率、磁盘使用率、网络流量等
  • HDFS指标:NameNode状态、DataNode状态、存储空间使用情况、块状态等
  • YARN指标:ResourceManager状态、NodeManager状态、资源使用情况、作业执行情况等
  • Hive指标:Metastore状态、查询执行情况等
  • HBase指标:Master状态、RegionServer状态、表状态等
  • Kafka指标:Broker状态、Topic状态、消息生产消费情况等

1.3 巡检周期

巡检周期建议:

  • 日常巡检:每天进行,检查关键指标
  • 周巡检:每周进行,检查所有指标
  • 月巡检:每月进行,进行全面检查和性能评估
  • 季度巡检:每季度进行,进行全面的系统评估和优化

Part02-生产环境规划与建议

2.1 巡检计划制定

风哥提示:巡检计划应根据集群规模和业务需求,制定合理的巡检频率和内容,确保巡检的全面性和有效性。

巡检计划制定建议:

  • 明确巡检目标:确定巡检的目标和范围
  • 制定巡检内容:根据集群组件和系统状态,制定详细的巡检内容
  • 确定巡检频率:根据组件重要性和稳定性,确定巡检频率
  • 分配巡检责任:明确巡检的责任分工
  • 建立巡检流程:建立标准化的巡检流程

2.2 巡检工具选择

巡检工具选择建议:

  • 命令行工具:使用系统和Hadoop自带的命令行工具
  • 监控工具:使用Prometheus、Grafana等监控工具
  • 自动化脚本:编写自动化巡检脚本
  • 管理工具:使用Ambari、Cloudera Manager等管理工具

2.3 巡检报告模板

巡检报告模板建议:

  • 基本信息:巡检时间、巡检人员、集群名称等
  • 系统状态:服务器硬件和操作系统状态
  • 组件状态:各组件的运行状态
  • 性能指标:各组件的性能指标
  • 安全状态:安全检查结果
  • 问题汇总:发现的问题和处理建议
  • 结论与建议:巡检结论和改进建议

Part03-生产环境项目实施方案

3.1 系统状态检查

系统状态检查:

# 检查CPU使用率
top -b -n 1 | head -n 20

# 检查内存使用率
free -h

# 检查磁盘使用率
df -h

# 检查网络状态
netstat -tuln

# 检查系统负载
uptime

# 检查系统日志
tail -n 100 /var/log/messages

3.2 组件状态检查

组件状态检查:

# 检查HDFS状态
hdfs dfsadmin -report
hdfs haadmin -getServiceState nn1
hdfs haadmin -getServiceState nn2

# 检查YARN状态
yarn node -list
yarn application -list
yarn rmadmin -getServiceState rm1
yarn rmadmin -getServiceState rm2

# 检查Hive状态
jps | grep Metastore
hive –version

# 检查HBase状态
hbase status
jps | grep HMaster

# 检查Kafka状态
kafka-topics.sh –list –bootstrap-server fgedu01:9092

# 检查ZooKeeper状态
zkServer.sh status

3.3 性能检查

性能检查:

# 检查HDFS性能
hdfs dfs -test -d /user/fgedu
hdfs dfs -ls /user/fgedu

# 检查MapReduce性能
hadoop jar /bigdata/app/hadoop-3.3.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar pi 10
1000

# 检查Hive性能
hive -e “SELECT count(*) FROM fgedu.sales;”

# 检查HBase性能
hbase shell << 'EOF'
scan ‘fgedu_table’, {LIMIT => 10}
EOF

# 检查Kafka性能
kafka-producer-perf-test.sh –topic test –num-records 100000 –record-size 100 –throughput 1000
–producer-props bootstrap.servers=fgedu01:9092
kafka-consumer-perf-test.sh –topic test –broker-list fgedu01:9092 –fetch-size 1048576 –messages
100000

3.4 安全检查

安全检查:

# 检查防火墙状态
firewall-cmd –state
firewall-cmd –list-all

# 检查Kerberos状态
kinit -k -t /etc/security/keytabs/hdfs.keytab hdfs/fgedu01.fgedu.net.cn
klist

# 检查权限设置
hdfs dfs -ls -la /user
hdfs dfs -ls -la /tmp

# 检查审计日志
tail -n 100 /bigdata/fgdata/logs/hadoop-hdfs-namenode-fgedu01.log | grep audit

Part04-生产案例与实战讲解

4.1 日常巡检脚本

案例:编写日常巡检脚本

#!/bin/bash
# daily_check.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn`

echo “=== 系统状态检查 ===”
echo “CPU使用率:”
top -b -n 1 | head -n 20 | grep “%Cpu”
echo “\n内存使用率:”
free -h
echo “\n磁盘使用率:”
df -h
echo “\n系统负载:”
uptime

echo “\n=== HDFS状态检查 ===”
hdfs dfsadmin -report | grep -E “Configured Capacity|DFS Used%|Live datanodes”
hdfs haadmin -getServiceState nn1
hdfs haadmin -getServiceState nn2

echo “\n=== YARN状态检查 ===”
yarn node -list
yarn application -list
yarn rmadmin -getServiceState rm1
yarn rmadmin -getServiceState rm2

echo “\n=== Hive状态检查 ===”
jps | grep Metastore
echo “\n=== HBase状态检查 ===”
hbase status | head -n 10

echo “\n=== Kafka状态检查 ===”
kafka-topics.sh –list –bootstrap-server fgedu01:9092

echo “\n=== ZooKeeper状态检查 ===”
zkServer.sh status

echo “\n=== 巡检完成 ===”

# 执行巡检脚本

$ chmod +x daily_check.sh
$ ./daily_check.sh
=== 系统状态检查 ===
CPU使用率:
%Cpu(s): 2.3 us, 0.7 sy, 0.0 ni, 96.7 id, 0.2 wa, 0.0 hi, 0.1 si, 0.0 st

内存使用率:
total used free shared buff/cache available
Mem: 62G 8.2G 48G 1.2G 5.8G 52G
Swap: 8.0G 0B 8.0G

磁盘使用率:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 15G 33G 32% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 12M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdb1 500G 50G 425G 11% /bigdata

系统负载:
10:00:00 up 10 days, 8:30, 1 user, load average: 0.10, 0.15, 0.20

=== HDFS状态检查 ===
Configured Capacity: 1099511627776 (1024.0 GB)
DFS Used%: 19.99%
Live datanodes (3):
active
standby

=== YARN状态检查 ===
Total Nodes:3
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
fgedu01:45454 RUNNING fgedu01:8042 2
fgedu02:45454 RUNNING fgedu02:8042 1
fgedu03:45454 RUNNING fgedu03:8042 0
Total applications:0
Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL
active
standby

=== Hive状态检查 ===
12345 RunJar org.apache.hadoop.hive.metastore.HiveMetaStore

=== HBase状态检查 ===
1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load

=== Kafka状态检查 ===
test
sales
topic1

=== ZooKeeper状态检查 ===
ZooKeeper JMX enabled by default
Using config: /bigdata/app/zookeeper-3.6.3/conf/zoo.cfg
Mode: follower

=== 巡检完成 ===

4.2 健康检查实战

案例:健康检查实战

# 检查HDFS健康状态

$ hdfs dfsadmin -report
Configured Capacity: 1099511627776 (1024.0 GB)
Present Capacity: 879609302016 (819.2 GB)
DFS Remaining: 703687441664 (655.4 GB)
DFS Used: 175921860352 (163.8 GB)
DFS Used%: 19.99%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0

————————————————-
Live datanodes (3):

Name: 192.168.1.10:9866 (fgedu01)
Hostname: fgedu01
Decommission Status : Normal
Configured Capacity: 366503875925 (341.4 GB)
DFS Used: 58640620117 (54.6 GB)
Non DFS Used: 36650387593 (34.1 GB)
DFS Remaining: 271212868215 (252.7 GB)
DFS Used%: 16.00%
DFS Remaining%: 74.00%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Apr 08 10:00:00 CST 2026

Name: 192.168.1.11:9866 (fgedu02)
Hostname: fgedu02
Decommission Status : Normal
Configured Capacity: 366503875925 (341.4 GB)
DFS Used: 58640620117 (54.6 GB)
Non DFS Used: 36650387593 (34.1 GB)
DFS Remaining: 271212868215 (252.7 GB)
DFS Used%: 16.00%
DFS Remaining%: 74.00%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Apr 08 10:00:00 CST 2026

Name: 192.168.1.12:9866 (fgedu03)
Hostname: fgedu03
Decommission Status : Normal
Configured Capacity: 366503875925 (341.4 GB)
DFS Used: 58640620117 (54.6 GB)
Non DFS Used: 36650387593 (34.1 GB)
DFS Remaining: 271212868215 (252.7 GB)
DFS Used%: 16.00%
DFS Remaining%: 74.00%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Fri Apr 08 10:00:00 CST 2026

# 检查YARN健康状态

$ yarn node -list
Total Nodes:3
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
fgedu01:45454 RUNNING fgedu01:8042 2
fgedu02:45454 RUNNING fgedu02:8042 1
fgedu03:45454 RUNNING fgedu03:8042 0

$ yarn application -list
Total applications:0
Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL

4.3 巡检报告生成

案例:生成巡检报告

#!/bin/bash
# generate_report.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn`

DATE=$(date +”%Y-%m-%d”)
REPORT_FILE=”巡检报告_${DATE}.txt”

echo “# 大数据集群巡检报告” > $REPORT_FILE
echo “\n## 基本信息” >> $REPORT_FILE
echo “- 巡检时间:$(date)” >> $REPORT_FILE
echo “- 巡检人员:fgedu”
– 集群名称:fgedu-cluster” >> $REPORT_FILE
echo “\n## 系统状态” >> $REPORT_FILE
echo “### CPU使用率” >> $REPORT_FILE
top -b -n 1 | head -n 20 | grep “%Cpu” >> $REPORT_FILE
echo “\n### 内存使用率” >> $REPORT_FILE
free -h >> $REPORT_FILE
echo “\n### 磁盘使用率” >> $REPORT_FILE
df -h >> $REPORT_FILE
echo “\n## 组件状态” >> $REPORT_FILE
echo “### HDFS状态” >> $REPORT_FILE
hdfs dfsadmin -report | grep -E “Configured Capacity|DFS Used%|Live datanodes” >> $REPORT_FILE
hdfs haadmin -getServiceState nn1 >> $REPORT_FILE
hdfs haadmin -getServiceState nn2 >> $REPORT_FILE
echo “\n### YARN状态” >> $REPORT_FILE
yarn node -list >> $REPORT_FILE
yarn application -list >> $REPORT_FILE
echo “\n### Hive状态” >> $REPORT_FILE
jps | grep Metastore >> $REPORT_FILE
echo “\n### HBase状态” >> $REPORT_FILE
hbase status | head -n 10 >> $REPORT_FILE
echo “\n## 问题汇总” >> $REPORT_FILE
echo “- 无重大问题” >> $REPORT_FILE
echo “\n## 结论与建议” >> $REPORT_FILE
echo “- 集群运行正常” >> $REPORT_FILE
echo “- 建议定期进行备份” >> $REPORT_FILE
echo “- 建议关注磁盘使用情况” >> $REPORT_FILE

echo “\n巡检报告生成完成:$REPORT_FILE”

# 执行报告生成脚本

$ chmod +x generate_report.sh
$ ./generate_report.sh
巡检报告生成完成:巡检报告_2026-04-08.txt

$ cat 巡检报告_2026-04-08.txt
# 大数据集群巡检报告

## 基本信息
– 巡检时间:Fri Apr 8 10:00:00 CST 2026
– 巡检人员:fgedu
– 集群名称:fgedu-cluster

## 系统状态
### CPU使用率
%Cpu(s): 2.3 us, 0.7 sy, 0.0 ni, 96.7 id, 0.2 wa, 0.0 hi, 0.1 si, 0.0 st

### 内存使用率
total used free shared buff/cache available
Mem: 62G 8.2G 48G 1.2G 5.8G 52G
Swap: 8.0G 0B 8.0G

### 磁盘使用率
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 15G 33G 32% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 12M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdb1 500G 50G 425G 11% /bigdata

## 组件状态
### HDFS状态
Configured Capacity: 1099511627776 (1024.0 GB)
DFS Used%: 19.99%
Live datanodes (3):
active
standby

### YARN状态
Total Nodes:3
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
fgedu01:45454 RUNNING fgedu01:8042 2
fgedu02:45454 RUNNING fgedu02:8042 1
fgedu03:45454 RUNNING fgedu03:8042 0
Total applications:0
Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL

### Hive状态
12345 RunJar org.apache.hadoop.hive.metastore.HiveMetaStore

### HBase状态
1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load

## 问题汇总
– 无重大问题

## 结论与建议
– 集群运行正常
– 建议定期进行备份
– 建议关注磁盘使用情况

Part05-风哥经验总结与分享

5.1 常见问题解决方案

常见问题解决方案:

  • 磁盘空间不足:清理无用数据,扩展磁盘空间
  • 内存不足:增加内存配置,优化内存使用
  • CPU使用率高:优化作业执行,增加CPU资源
  • 网络延迟高:检查网络连接,优化网络配置
  • 组件状态异常:重启组件,检查配置
  • 数据块丢失:检查DataNode状态,修复数据块

5.2 最佳实践分享

风哥提示:在日常巡检中,应注重全面性和及时性,及时发现和解决问题,确保集群的稳定运行。

最佳实践分享:

  • 自动化巡检:编写自动化巡检脚本,定期执行
  • 监控与告警:配置监控系统,及时发现问题
  • 定期备份:定期备份数据和配置,确保可恢复性
  • 文档化:详细记录巡检结果,建立巡检档案
  • 持续改进:根据巡检结果,持续优化系统配置

5.3 巡检与维护建议

巡检与维护建议:

  • 制定巡检计划:根据集群规模和业务需求,制定合理的巡检计划
  • 明确巡检内容:确定巡检的具体内容和指标
  • 培训巡检人员:加强巡检人员的培训,提高巡检能力
  • 建立巡检制度:建立标准化的巡检制度和流程
  • 定期评估:定期评估巡检效果,持续改进巡检方法
  • 更多视频教程www.fgedu.net.cn

通过本教程的学习,您已经掌握了大数据集群日常巡检与健康检查的方法和实战技巧。在实际生产环境中,应根据具体业务场景和系统需求,建立完善的巡检制度,定期对集群进行检查和维护,确保大数据系统的稳定运行。学习交流加群风哥QQ113257174

更多学习教程公众号风哥教程itpux_com

from bigdata视频:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息