解决 Docker Hadoop ssh "Connection to * closed".问题
Docker 最近很火, 可以快速轻量级地虚拟出多个node,所以打算在Docker中跑Hadoop伪分布式应用。
其实要做出个简单的版本倒是不难,主要在 建立ssh无密码登录本机时,出现刚登录上去,立刻就退出来的问题。
解决办法如下:
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key (一直回车) sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key (一直回车) sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak sudo vim /etc/ssh/sshd_config(把PermitRootLogin改为yes,把UsePAM改为no) sudo /etc/init.d/ssh restart
此时再执行
ssh localhost
发现问题解决。
接着执行
hdfs namenode -format start-dfs.sh start-yarn.sh
JPS后发现:
1393 DataNode 1314 NameNode 1811 Jps 1700 ResourceManager 1556 SecondaryNameNode 1781 NodeManager
运行Hadoop自带的WordCount例子,一切OK!
参考文献:
http://www.tuicool.com/articles/QBryi23
http://www.baidu.com/link?url=0B2TZo7hTSbK1p5b0yih-uCuN8sMcY60NibPffEEYj70aPju_Tz4j7FDKBzmrkUa