第一次写博客,就当给自己做个笔记了。
毕业论文要用到hadoop,所以在自己笔记本上搭建一个伪分布式环境。
配置的方法网上很多,这里就不写了。注意要把防火墙关掉:sudo ufw disable。
配置完成后,格式化namenode,然后启动hdfs和yarn。
通过jps查看hadoop进程,发现唯独少了datanode的进程,所以运行测试例子的时候报错:could only be replicated to > 0 nodes, instead of 1。
问题产生的原因应该是我重复格式化namenode导致namenode和datanode的id不匹配了。
通过查看启动datanode时的日志文件,发现是namenode和datanode的clusterID不一致造成datanode无法启动。
解决方法是找到 /hadoop/dfs/name/current/VERSION中namenode的clusterID,赋给datanode的clusterID,这样即可启动datanode了。