解决集群搭建找不到datanode的问题
解决"no datanode to stop"问题
当我停止Hadoop时发现如下信息:
no datanode to stop
原因:每次namenode format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的数据,但是没有清空datanode下的数据,导致启动时失败,有两种解决方案:
第一种解决方案如下:
1)先删除"/usr/hadoop/tmp"
rm -rf /usr/hadoop/tmp
2)创建"/usr/hadoop/tmp"文件夹
mkdir /usr/hadoop/tmp
3)删除"/tmp"下以"hadoop"开头文件
rm -rf /tmp/hadoop*
4)重新格式化hadoop
hadoop namenode -format
5)启动hadoop
start-all.sh
使用第一种方案,有种不好处就是原来集群上的重要数据全没有了。假如说Hadoop集群已经运行了一段时间。
建议采用第二种。
第二种方案如下:
1)修改每个Slave的clusterID使其与Master的clusterID一致。
或者
2)修改Master的clusterID使其与Slave的clusterID一致。
该"namespaceID"位于"/home/zkpk/hadoopdata/dfs/name/current/VERSION"文件中,前面蓝色的可能根据实际情况变化,但后面红色一般是不变的。
例如:查看"Master"下的"VERSION"文件
本人建议采用第二种,这样方便快捷,而且还能防止误删。
总结一下,其实找不到datanode的原因可能往往是因为自己搭建集群的时候格式化多次了,当然不排除机子突然抽风了,本来集群搭建第一次格式化时namenode生成一个clusterID,并且复制给子节点了,当再次不小心格式化的时候导致namenode和datanode的clusterID不一样了,所以才会出现start-all.sh的时候找不到datanode了。
最新文章
- User and User Groups in Linux
- History(历史)命令用法
- 简单的计算最值的MapReduce程序
- 按键精灵 句柄 获得句柄 控制windows窗口 后台
- 耳机jack构造及在应用时可能出现的问题
- LeetCode16 3Sum Closest
- jquery全局加载函数的几种方式;
- C#调用webservers实现天气预报
- 不同WINDOWS平台下磁盘逻辑扇区的直接读写
- HTML文字与列表
- Flutter 布局(一)- Container详解
- Java中Enumeration接口的用法
- macOS &; USB stick
- tween 缓动动画
- UML类图中的六种关系(物理设计阶段)
- Java基础回顾Application(二)
- Selenium:利用select模块处理下拉框
- 008-spring cache-缓存实现-03-springboot redis实现
- Oracle 数据库维护管理之--dbms_lock
- 解决python3与python2的pip命令冲突问题冲突(window版)