1. Hadoop自带监控工具
Hadoop原生提供多维度监控能力,覆盖基础状态查看与实时数据获取:
jps命令可查看Hadoop关键进程(NameNode、DataNode、ResourceManager、NodeManager等)是否运行;hdfs dfsadmin -report生成HDFS详细状态报告(包括总容量、已用空间、DataNode列表及健康状况);yarn node -list列出YARN集群中所有NodeManager的状态及资源分配情况;yarn application -list查看当前正在运行的YARN应用程序(如MapReduce、Spark作业)的进度、状态及资源使用情况。2. 日志文件监控
Hadoop组件日志集中存储在$HADOOP_HOME/logs目录下(如NameNode日志为hadoop-<user>-namenode-<hostname>.log),通过tail -f命令可实时跟踪日志输出(如DataNode心跳异常、NameNode故障);使用grep命令结合关键字(如“ERROR”“WARN”)可快速定位特定错误信息(如磁盘空间不足、网络连接中断)。
3. 第三方监控工具
针对大规模集群,推荐使用专业监控方案实现自动化、可视化监控:
check_hdfs)监控HDFS状态(如块缺失、DataNode不可用),适用于传统企业级环境。4. 自定义脚本监控
通过Shell或Python脚本定期检查集群状态,实现个性化监控需求:
curl命令获取NameNode Web UI数据,解析返回结果判断集群是否健康(如curl -s http://<namenode-host>:9870/dfshealth.html | grep "Healthy"),若未检测到“Healthy”关键字则发送邮件报警。top(查看系统CPU使用率)、df -h(查看磁盘剩余空间)、netstat -tuln(查看网络端口监听状态)等命令,监控集群所在Linux服务器的系统资源,确保硬件资源充足。