个人觉得,原因很有可能是master上存在hadoop的临时文件导致的,解决办法就是删除master上的tmp临时文件和所有日志文件。然后重新将master的hadoop文件压缩打包,再传递给slaver。然后将slaver上的旧hadoop删除掉,把传过来的新的hadoop解压安装。重点:这个方法会导致HDFS中存储的所有文件丢失。
代码:
在master上执行下列代码
- cd /usr/local
- sudo rm -r ./hadoop/tmp # 删除 Hadoop 临时文件
- sudo rm -r ./hadoop/logs/* # 删除日志文件
- tar -zcf ~/hadoop.master.tar.gz ./hadoop # 先压缩再复制
- cd ~
- scp ./hadoop.master.tar.gz Slave1:/home/hadoop
然后在slavers上执行下列代码
- sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在)
- sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
- sudo chown -R hadoop /usr/local/hadoop