基于docker的hadoop集群实现最小生成树的MapReduce程序总结
用于记录自己在做课程实验时遇到的问题以及解决办法。
0.多个docker容器之间通信
在做实验时,配置多个docker容器的ip地址,但配置完成后,容器之间并不能通信。使用docker默认的路由(即 docker0),不更改任何docker容器上的网络配置即可解决问题。
1.多个docker容器之间需要完成免密码登录
免密码登录ssh一定要空格跳过,不应该设置密码,设置密码会出错,还需要更改docker的centos容器ssh配置文件。
2.hadoop集群结点之间通信的设置
在配置/etc/hosts时,只配置了namenode的ip映射,并没有配置datanode映射,导致datanode总是连接不上。
参考链接
3.datanode设置
由于两个datanode的配置文件是通过复制进行的,因此两个子节点的ID相同,需要更改相应配置文件。
参考解决方法
4.解决运行MapReduce程序时,内存不够的错误
在运行MapReduce程序时,出现虚拟内存不够的情况。
参考解决方式