最近在不同环境下使用hadoop分布式计算。
懒得重新配置新环境(相对比较复杂 而且配置稍不留神bug多多),考虑虚拟机移植的便捷性直接进行了移植。
但是移植后发现启动hadoop出现各种bug(比如:namenode datanode 间歇性失灵 )。
我不断尝试重新格式化 和 删除 tmp目录的方式,试了好几次,问题仍然没有解决。
【后来发现tmp目录所有结点全部删除才奏效 但是这样系统运行的一些重要数据会丢失 这种方法不到万不得已不可取】
记得印象中重新格式化系统会生成一个ID(具体名字不太记得),于是查了下,在hadoop目录下
对于NameNode /tmp/dfs/name/current/VERSION文件会有记录
对于DataNode 是/tmp/dfs/data/current/VERSION文件会有记录
因此,发现不需要重新格式化、删除tmp目录等方法。
解决方案:
将master的VERSION文件内的ID 改为与slaves一致即可
或 反过来
将slaves的VERSION文件内的ID 改为与master一致。