HADOOP 主节点启动了datanode但是从节点没有的解决办法(所有节点没有datanode也都适用)

问题描述:

HADOOP集群启动的时候,用jps指令查看各个节点的服务进程启动情况发现hadoop01正常启动,hadoop02缺少一个datanode

情况如下:

 

主要原因:

多次hdfs namenode -format格式化导致


解决方法:

1.首先停掉集群:

输入stop-dfs.sh 和 stop-yarn.sh

2.先进入到主节点hadoop01解压包下的etc/hadoop/目录

输入:cd /export/servers/hadoop/etc/hadooop   

注:我之前重命名过hadoop安装

### Hadoop DataNode 丢失解决方案 当 `bin/hadoop jps` 报告异常并显示 `java.lang.NullPointerException` 错误时,通常表明存在环境配置问题。如果 `/tmp` 文件夹被意外删除,则可能导致多个服务无法正常启动,包括 Hive 和 JPS 工具[^1]。 对于 DataNode 丢失的情况,可能的原因有: - **临时文件路径损坏**:如上述提到的 `/tmp` 路径缺失会影响整个 HDFS 的运行状态。 - **网络连接不稳定**:NameNode 和 DataNode 之间的通信中断也会造成节点不可见。 - **防火墙设置不当**:阻止必要的端口通讯会妨碍集群成员间的交互。 - **主机名解析失败**:DNS 或者 hosts 文件配置错误使得各节点间相互识别出现问题。 针对这些问题的具体修复措施如下: #### 配置检查与调整 确认所有 Slave 节点上的 hadoop-env.sh 中 JAVA_HOME 设置正确无误,并且确保 $HADOOP_LOG_DIR 变量指向有效的日志存储位置而不是已移除的 `/tmp` 目录。 ```bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ export HADOOP_LOG_DIR=${HADOOP_HOME}/logs ``` #### 日志审查 查看 NameNode 和相应 DataNode 上的日志记录 (`$HADOOP_HOME/logs`) 来定位具体故障点。特别关注是否有权限不足、磁盘空间满或者其他资源耗尽提示的信息。 #### 主机映射验证 编辑每台机器上的 `/etc/hosts` 文件来保证所有节点都能通过 IP 地址准确访问彼此的名字和服务端口号。例如,在 Master 和 Slaves 上都应包含类似下面的内容: ```plaintext 192.168.x.y master.example.com master 192.168.x.z slave1.example.com slave1 ... ``` #### 网络连通测试 利用 ping 命令检测各个节点之间能否互相到达;telnet 测试指定端口是否开放可用(默认情况下 Namenode 使用的是 8020, Datanodes 是 50010)。这有助于排除因物理链路或安全策略引起的可达性障碍。 #### 数据同步处理 假如某些数据块只存在于部分 DataNodes 上而其他地方找不到副本的话,可以尝试执行平衡器操作让它们均匀分布在整个集群内。此外还可以考虑重启有问题的服务实例以便刷新其内部缓存表项。 最后提醒一点就是关于时间戳的一致性维护——不同步的时间可能会引发一系列认证方面的问题从而间接影响到 DataNode 正常加入集群的行为模式。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值