1. 首页 > Hadoop教程 > 正文

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

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

通过本教程的学习,您将掌握大数据集群的日常巡检与健康检查方法,确保集群的稳定运行和性能优化。

目录大纲

Part01-基础概念与理论知识

1.1 日常巡检与健康检查概述

大数据集群日常巡检与健康检查是指定期对集群进行检查,确保集群的稳定运行和性能优化,主要包括:

  • 系统巡检:检查操作系统、硬件等基础设施
  • 服务巡检:检查集群服务的运行状态
  • 数据巡检:检查数据的安全性和完整性
  • 性能巡检:检查集群的性能状况
  • 安全巡检:检查集群的安全性

日常巡检与健康检查是大数据集群管理的重要组成部分,需要定期进行,以确保集群的稳定运行和性能优化,学习交流加群风哥微信: itpux-com

1.2 巡检内容

巡检内容包括:

  • 系统巡检:操作系统状态、硬件状态、网络状态等
  • 服务巡检:HDFS、YARN、MapReduce、Hive、HBase等服务的运行状态
  • 数据巡检:数据完整性、数据一致性、数据备份等
  • 性能巡检:CPU使用率、内存使用率、磁盘I/O、网络带宽等
  • 安全巡检:权限配置、加密状态、安全漏洞等

1.3 巡检工具

常用的巡检工具:

  • 命令行工具:如hdfs、yarn、hbase等
  • 监控工具:如Prometheus、Grafana、Zabbix等
  • 集群管理工具:如Ambari、Cloudera Manager等
  • 自动化工具:如Ansible、Puppet、Chef等
  • 日志分析工具:如ELK Stack、Graylog等

Part02-生产环境规划与建议

2.1 巡检规划

风哥提示:巡检规划应根据集群规模和业务需求,制定合理的巡检策略,确保巡检的有效性。

巡检规划建议:

  • 巡检频率:根据集群重要性,确定巡检频率,如每日、每周、每月等
  • 巡检内容:根据集群规模和业务需求,确定巡检内容
  • 巡检人员:明确巡检人员和职责
  • 巡检时间:选择业务低峰期进行巡检,减少对业务的影响
  • 巡检记录:建立巡检记录机制,记录巡检结果和问题

2.2 巡检流程

巡检流程建议:

  • 准备阶段:准备巡检工具和脚本,明确巡检内容和目标
  • 执行阶段:按照巡检计划执行巡检,收集巡检数据
  • 分析阶段:分析巡检数据,发现问题和异常
  • 处理阶段:处理发现的问题和异常,确保集群正常运行
  • 报告阶段:生成巡检报告,记录巡检结果和问题处理情况

2.3 巡检指标

巡检指标建议:

  • 系统指标:CPU使用率、内存使用率、磁盘使用率、网络带宽等
  • 服务指标:服务状态、服务响应时间、服务错误率等
  • 数据指标:数据完整性、数据一致性、数据备份状态等
  • 性能指标:作业执行时间、资源利用率、吞吐量等
  • 安全指标:权限配置、加密状态、安全漏洞等

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

3.1 系统巡检

配置系统巡检:

# 1. 系统巡检
## 1.1 操作系统状态
### 1.1.1 CPU使用率
top -b -n 1 | head -20

### 1.1.2 内存使用率
free -h

### 1.1.3 磁盘使用率
df -h

### 1.1.4 网络状态
netstat -tuln
ping fgedu01

### 1.1.5 系统负载
uptime

### 1.1.6 系统日志
tail -f /var/log/messages

## 1.2 硬件状态
### 1.2.1 磁盘状态
smartctl -a /dev/sda

### 1.2.2 内存状态
dmidecode -t memory

### 1.2.3 网络设备状态
ethtool eth0

## 1.3 系统服务状态
### 1.3.1 SSH服务
systemctl status sshd

### 1.3.2 防火墙服务
systemctl status firewalld

### 1.3.3 时间同步服务
systemctl status chronyd

3.2 服务巡检

配置服务巡检:

# 1. 服务巡检
## 1.1 HDFS服务
### 1.1.1 服务状态
jps | grep NameNode
jps | grep DataNode

### 1.1.2 HDFS状态
hdfs dfsadmin -report
hdfs fsck /

### 1.1.3 HDFS目录状态
hdfs dfs -ls /
hdfs dfs -df -h /

## 1.2 YARN服务
### 1.2.1 服务状态
jps | grep ResourceManager
jps | grep NodeManager

### 1.2.2 YARN状态
yarn node -list
yarn application -list

## 1.3 Hive服务
### 1.3.1 服务状态
ps aux | grep Hive

### 1.3.2 Hive查询测试
hive -e “SELECT COUNT(*) FROM fgedu_db.fgedu_table;”

## 1.4 HBase服务
### 1.4.1 服务状态
jps | grep HBase

### 1.4.2 HBase表状态
hbase shell
> list
> scan ‘fgedu_table’

## 1.5 ZooKeeper服务
### 1.5.1 服务状态
zkServer.sh status

### 1.5.2 ZooKeeper连接测试
zkCli.sh -server fgedu01:2181

3.3 数据巡检

配置数据巡检:

# 1. 数据巡检
## 1.1 数据完整性
### 1.1.1 HDFS数据完整性
hdfs fsck /

### 1.1.2 HBase数据完整性
hbase shell
> count ‘fgedu_table’

### 1.1.3 Hive数据完整性
hive -e “SELECT COUNT(*) FROM fgedu_db.fgedu_table;”

## 1.2 数据备份
### 1.2.1 HDFS备份状态
hdfs dfs -ls /user/fgedu/backup/

### 1.2.2 HBase备份状态
hbase shell
> list_snapshots

### 1.2.3 Hive备份状态
hive -e “SHOW TABLES IN fgedu_db;”

## 1.3 数据一致性
### 1.3.1 HDFS数据一致性
hdfs dfs -checksum /user/fgedu/data/file.txt

### 1.3.2 HBase数据一致性
hbase shell
> scan ‘fgedu_table’, {LIMIT => 10}

### 1.3.3 Hive数据一致性
hive -e “SELECT * FROM fgedu_db.fgedu_table LIMIT 10;”

Part04-生产案例与实战讲解

4.1 系统巡检实战

案例:系统巡检

# 检查CPU使用率

$ top -b -n 1 | head -20
top – 10:00:00 up 10 days, 2:34, 2 users, load average: 0.10, 0.05, 0.01
Tasks: 200 total, 1 running, 199 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.0 us, 2.0 sy, 0.0 ni, 92.0 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 64288.0 total, 48288.0 free, 8000.0 used, 8000.0 buff/cache
MiB Swap: 8192.0 total, 8192.0 free, 0.0 used. 54288.0 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12345 fgedu 20 0 123456 67890 23456 S 0.0 0.1 0:00.00 java
23456 fgedu 20 0 98765 45678 12345 S 0.0 0.1 0:00.00 java
34567 fgedu 20 0 87654 34567 11234 S 0.0 0.1 0:00.00 java

# 检查内存使用率

$ free -h
total used free shared buff/cache available
Mem: 63G 7.8G 47G 8.0G 7.8G 53G
Swap: 8.0G 0B 8.0G

# 检查磁盘使用率

$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 8.0G 24G 25% /run
/dev/sda1 50G 10G 40G 20% /
/dev/sdb1 100G 20G 80G 20% /bigdata

# 检查网络状态

$ netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9870 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8030 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8031 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8032 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8033 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9866 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9864 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9868 0.0.0.0:* LISTEN

4.2 服务巡检实战

案例:服务巡检

# 检查HDFS服务状态

$ jps
23456 NameNode
23678 DataNode
23890 SecondaryNameNode
24123 ResourceManager
24345 NodeManager
24567 Jps

# 检查HDFS状态

$ hdfs dfsadmin -report
Configured Capacity: 30963660800 (28.85 GB)
Present Capacity: 27867295744 (25.96 GB)
DFS Remaining: 27867293696 (25.96 GB)
DFS Used: 2048 (2 KB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

Live datanodes (3):

Name: 192.168.1.10:9866 (fgedu01)
Hostname: fgedu01
Decommission Status : Normal
Configured Capacity: 10321220266 (9.62 GB)
DFS Used: 683 (683 B)
Non DFS Used: 1032122026 (984 MB)
DFS Remaining: 9289100557 (8.65 GB)
DFS Used%: 0.00%
DFS Remaining%: 90.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: Mon Apr 08 10:00:00 CST 2026

Name: 192.168.1.11:9866 (fgedu02)
Hostname: fgedu02
Decommission Status : Normal
Configured Capacity: 10321220266 (9.62 GB)
DFS Used: 682 (682 B)
Non DFS Used: 1032122026 (984 MB)
DFS Remaining: 9289100558 (8.65 GB)
DFS Used%: 0.00%
DFS Remaining%: 90.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: Mon Apr 08 10:00:00 CST 2026

Name: 192.168.1.12:9866 (fgedu03)
Hostname: fgedu03
Decommission Status : Normal
Configured Capacity: 10321220266 (9.62 GB)
DFS Used: 683 (683 B)
Non DFS Used: 1032122026 (984 MB)
DFS Remaining: 9289100557 (8.65 GB)
DFS Used%: 0.00%
DFS Remaining%: 90.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: Mon Apr 08 10:00:00 CST 2026

# 检查YARN服务状态

$ jps
23456 NameNode
23678 DataNode
23890 SecondaryNameNode
24123 ResourceManager
24345 NodeManager
24567 Jps

# 检查YARN状态

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

# 检查Hive服务状态

$ ps aux | grep Hive
fgedu 12345 0.0 0.1 1000000 200000 ? Sl 10:00 0:00 /usr/bin/java -Xmx1024m
-Djava.net.preferIPv4Stack=true -Djavax.security.auth.useSubjectCredsOnly=false
-Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf -Xmx256m
-Dlog4j.configurationFile=/bigdata/app/hive/conf/log4j2.properties -cp
/bigdata/app/hive/conf:/bigdata/app/hive/lib/*:/bigdata/app/hadoop/etc/hadoop:/bigdata/app/hadoop/share/hadoop/common/lib/*:/bigdata/app/hadoop/share/hadoop/common/*:/bigdata/app/hadoop/share/hadoop/hdfs:/bigdata/app/hadoop/share/hadoop/hdfs/lib/*:/bigdata/app/hadoop/share/hadoop/hdfs/*:/bigdata/app/hadoop/share/hadoop/mapreduce/lib/*:/bigdata/app/hadoop/share/hadoop/mapreduce/*:/bigdata/app/hadoop/share/hadoop/yarn:/bigdata/app/hadoop/share/hadoop/yarn/lib/*:/bigdata/app/hadoop/share/hadoop/yarn/*
org.apache.hadoop.hive.metastore.HiveMetaStore
fgedu 23456 0.0 0.1 2000000 400000 ? Sl 10:00 0:00 /usr/bin/java -Xmx1024m
-Djava.net.preferIPv4Stack=true -Djavax.security.auth.useSubjectCredsOnly=false
-Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf -Xmx1024m
-Dlog4j.configurationFile=/bigdata/app/hive/conf/log4j2.properties -cp
/bigdata/app/hive/conf:/bigdata/app/hive/lib/*:/bigdata/app/hadoop/etc/hadoop:/bigdata/app/hadoop/share/hadoop/common/lib/*:/bigdata/app/hadoop/share/hadoop/common/*:/bigdata/app/hadoop/share/hadoop/hdfs:/bigdata/app/hadoop/share/hadoop/hdfs/lib/*:/bigdata/app/hadoop/share/hadoop/hdfs/*:/bigdata/app/hadoop/share/hadoop/mapreduce/lib/*:/bigdata/app/hadoop/share/hadoop/mapreduce/*:/bigdata/app/hadoop/share/hadoop/yarn:/bigdata/app/hadoop/share/hadoop/yarn/lib/*:/bigdata/app/hadoop/share/hadoop/yarn/*
org.apache.hive.service.server.HiveServer2

4.3 数据巡检实战

案例:数据巡检

# 检查HDFS数据完整性

$ hdfs fsck /
Connecting to namenode via http://fgedu01:9870/fsck?ugi=fgedu&path=%2F
FSCK started by fgedu (auth:SIMPLE) from /192.168.1.10 for path / at Mon Apr 08 10:00:00 CST 2026
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
Status: HEALTHY
Total size: 1342177280 B
Total dirs: 100
Total files: 1000
Total symlinks: 0
Total blocks (validated): 1000 (avg. block size 1342177 B)
Minimally replicated blocks: 1000 (100.0 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 3
Average block replication: 3.0
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Number of data-nodes: 3
Number of racks: 1
FSCK ended at Mon Apr 08 10:00:00 CST 2026 in 10 seconds

The filesystem under path ‘/’ is HEALTHY

# 检查HBase数据完整性

$ hbase shell
HBase Shell; enter ‘help‘ for list of supported commands.
Type “exit” to leave the HBase Shell
Version 2.4.12, rUnknown, Mon Apr 08 10:00:00 CST 2026

fgedu01:0> list
TABLE
fgedu_table
1 row(s) in 0.0440 seconds

fgedu01:0> count ‘fgedu_table’
2 row(s) in 0.1230 seconds

fgedu01:0> scan ‘fgedu_table’
ROW COLUMN+CELL
row1 column=cf1:col1, timestamp=1234567890, value=value1
row2 column=cf1:col1, timestamp=1234567891, value=value2
2 row(s) in 0.1230 seconds

# 检查Hive数据完整性

$ hive -e “SELECT COUNT(*) FROM fgedu_db.fgedu_table;”
10:00:00 INFO ql.Driver: Completed executing command(queryId=fgedu_20260408100000_1234567890)
OK
100000000
Time taken: 30.0 seconds, Fetched: 1 row(s)

Part05-风哥经验总结与分享

5.1 常见问题解决方案

常见问题解决方案:

  • CPU使用率高:检查进程,优化资源分配,减少不必要的计算
  • 内存不足:增加内存资源,优化内存配置,减少内存泄漏
  • 磁盘使用率高:清理不必要的文件,增加磁盘空间,优化存储策略
  • 网络故障:检查网络连接,修复网络问题,确保网络畅通
  • 服务启动失败:检查配置文件,查看日志,修复服务故障
  • 数据丢失:使用备份恢复数据,检查数据块状态,调整副本数

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,节假日休息