本技能提供 Linux 系统上开源大数据应用的分析诊断能力,包括服务状态确认、参数配置获取和调优、任务报错分析并提供优化建议。
服务进程名默认端口配置文件路径日志路径YARNResourceManager, NodeManager8088, 8042/etc/taihao-apps/hadoop-conf/yarn-site.xml/var/log/hadoop-yarn/HDFSNameNode, DataNode9870, 9864/etc/taihao-apps/hadoop-conf/hdfs-site.xml/var/log/hadoop-hdfs/HiveHiveServer2, Metastore10000, 9083/etc/taihao-apps/hive-conf/hive-site.xml/var/log/hive/SparkSpark Master, Worker8080, 8081/etc/taihao-apps/spark-conf/spark-env.sh/var/log/spark/Impalaimpalad, catalogd, statestored21050, 25010, 25020/etc/taihao-apps/impala-conf/impala-site.xml/var/log/impala/Trinotrino-server8080config.properties/var/log/trino/Tez(运行在 YARN 上)-tez-site.xml/var/log/hadoop-yarn/StarRocksfe, be8030, 9030/opt/starrocks/fe/conf/fe.conf/opt/starrocks/log/HBaseHMaster, RegionServer16010, 16030/etc/taihao-apps/hbase-conf/hbase-site.xml/var/log/hbase/Kafkakafka.Kafka9092/etc/taihao-apps/kafka-conf/server.properties/var/log/kafka/ZooKeeperQuorumPeerMain2181/etc/taihao-apps/zookeeper-conf/zoo.cfg/var/log/zookeeper/Rangerranger-admin, ranger-usersync6080, 6180ranger-admin-site.xml/var/log/ranger/OpenLDAPslapd389, 636slapd.conf/var/log/slapd.logHuerunserver8888hue.ini/var/log/hue/FlinkStandaloneClusterEntrypoint, TaskManager8081/etc/taihao-apps/flink-conf/flink-conf.yaml/var/log/flink/
配置文件路径说明: 优先查找 /etc/taihao-apps/<service>-conf/,如果不存在则回退到 /etc/ecm/<service>-conf/
用户输入: "帮我分析下这个集群的服务整体情况"
执行流程:
check_service_status.py all 获取所有服务状态bash
python3 {baseDir}/scripts/check_service_status.py all
用户输入: "YARN 服务正常吗?" / "检查 HDFS 状态"
bash
python3 {baseDir}/scripts/check_service_status.py <service_name>
用户输入:
执行流程:
analyze_logs.py <service> 分析日志bash
python3 {baseDir}/scripts/analyze_logs.py <service_name> [lines]
用户输入:
bash
python3 {baseDir}/scripts/check_config.py <service_name>
用户输入:
执行流程:
check_config.py 获取当前配置检查服务进程、端口监听、systemd 服务状态。
输出示例:
json
{
"name": "yarn",
"status": "RUNNING",
"processes": [
{"name": "ResourceManager", "running": true, "details": "..."},
{"name": "NodeManager", "running": true, "details": "..."}
],
"ports": [
{"port": 8088, "listening": true, "details": "..."}
],
"systemd": "active",
"version": "Hadoop 3.3.6"
}
分析服务日志,识别错误模式并提供修复建议。
识别的错误类型:
输出示例:
json
{
"service": "hive",
"status": "ANALYZED",
"error_summary": {
"OOM - 内存不足": 5,
"连接超时": 2
},
"suggestions": {
"OOM - 内存不足": ["增加 JVM 堆内存", "检查内存泄漏", ...]
},
"recommendations": ["优先处理内存问题 - 检查并调整 JVM 堆内存配置"]
}
获取服务配置参数并提供调优建议。
输出示例:
json
{
"service": "spark",
"config_file": "/etc/ecm/spark-conf/spark-env.sh",
"config_exists": true,
"params": {
"spark.executor.memory": "4g",
"spark.sql.shuffle.partitions": "200"
},
"suggestions": [
{
"param": "spark.executor.memory",
"current": "4g",
"suggestion": "根据数据量调整,一般 4g-8g 起步",
"reason": "Executor 内存影响任务处理能力"
}
]
}
text
用户:帮我分析下这个集群的服务整体情况
↓
1. 执行 check_service_status.py all
↓
2. 汇总各服务状态 (RUNNING/NOT_RUNNING)
↓
3. 识别异常服务
↓
4. 对异常服务执行 analyze_logs.py
↓
5. 输出健康报告 + 问题诊断 + 修复建议
text
用户:[粘贴报错日志]
↓
1. 识别报错所属服务 (关键词匹配)
↓
2. 执行 analyze_logs.py <service>
↓
3. 匹配错误模式
↓
4. 从 FIX_SUGGESTIONS 获取修复建议
↓
5. 输出错误分析 + 解决方案
text
用户:如何优化 Spark 查询性能
↓
1. 执行 check_config.py spark
↓
2. 获取当前关键配置参数
↓
3. 根据调优规则生成建议
↓
4. 输出配置现状 + 优化建议 + 预期效果
/etc/taihao-apps/<service>-conf//etc/ecm/<service>-conf/ (如果 taihao-apps 不存在)/var/log/hadoop-<service>//var/log/hive//var/log/spark/references/services.md错误原因解决方案Container killed by AM超时/OOM增加 executor 内存,检查任务耗时NodeManager unavailable进程挂掉/网络检查 NM 进程,查看 NM 日志Queue full capacity队列资源满等待任务完成或增加队列容量
错误原因解决方案SafeMode磁盘满/块损坏清理空间,运行 fsckDataNode unavailableDN 失联检查 DN 进程和网络Missing blocks数据块丢失从备份恢复,检查副本数
错误原因解决方案ExecutorLostFailureExecutor 挂掉检查 OOM,增加内存OutOfMemoryError内存不足调大 -Xmx,减少数据量Task not serializable序列化问题检查闭包变量
错误原因解决方案Metastore connection failedDB 连接问题检查 MySQL 服务,连接串OutOfMemoryError内存不足增加 Container 大小Permission denied权限问题检查 HDFS/Ranger 权限
错误原因解决方案NotLeaderForPartitionLeader 选举等待选举完成TimeoutException超时增加 timeout 配置OutOfMemoryError内存不足增加 heap 大小
大数据应用分析诊断工具 - 让集群运维更高效 🔍