最近搞hadoop,网上很多教程,也买了书,可是左搞右搞,搞了几天,死活跑不起来,纳闷了,为什么别人就能跑起来,我按照他们的步骤一步一步走,就是不行呢?最终就是发现ssh配置的问题,原因是我配置的ssh无密码登录失败,每次登录都要密码,对,就是这个原因,导致我启动失败,因为启动的时候,要输入密码,因为我配置的是2台从服务器的原因,所以启动时,要你输入两台从服务器的密码,这时的问题是,它没有象正常那样走,先输入一台然后在输入一台,而是两台的提示一起蹦出来,当你输入的时候,前一台把后一台的提示当作密码处理了(个人以为,未经过大家认同),所以启动失败,卡在哪里不动了。好,说了一些废话,不是重点,以上内容可以忽略不看。
我按照书上说的网上说的步骤去配置ssh无密码登录,可惜,没有成功,一直都提示要输入密码,直到今天,参考了一位仁兄的方法,成功了,保留他的原创:
http://www.linuxso.com/linuxpeixun/18676.html
我在这里只说ssh的配置,这样也方便我自己查看。3台机器。ip分别为192.168.1.50、192.168.1.54、192.168.1.52
首先,要保证每台机器上都有“.ssh”文件夹,我是root用户,所以我文件夹路径为 “/root/.ssh” ,如果没有,创建,
第一步,在192.168.1.50操作,执行以下命令
ssh-keygen -t dsa
然后就一直按回车吧(中间有可能需要你输入:yes)。完成之后,在“.ssh”目录中多了几个文件 id_dsa 、id_dsa.pub 。
接着把“id_dsa.pub”文件拷贝到“/tmp”目录下,执行以下命令:
cp /root/.ssh/id_dsa.pub /tmp
复制到54机器上:
scp /root/.ssh/id_dsa.pub 192.168.1.54:/tmp
复制到52机器上:
scp /root/.ssh/id_dsa.pub 192.168.1.52:/tmp
最后,在三台机器上,分别执行以下命令:
cat /tmp/id_dsa.pub >> /root/.ssh/authorized_keys
执行完成后,就可以在随意一台机器上登录到另一台上面了,如:在50上面登录到52,执行
ssh 192.168.1.52
按照以上步骤,无密码登录就成功了,这里说一下,至少我测试是成功的,centos的版本是5.5,64位。至于不成功的,可以留言。
上面的步骤没有深究"为什么“,比如,为什么要拷贝到"/tmp"目录下,拷贝到其他目录下行不行,这种问题我没有去测试,也不知道为什么,因为这一块不是我工作的重点,所以,先配置成功后。如果知道的,可以告诉我下,感激不尽。
以下内容可以忽略不看。
再一次废话,附上hadoop启动成功后的图片:
50,是主服务器
然后看”从“服务器52和54.那就更简单了,直接jps查看就是了
首先54
然后52
这样,hadoop主、从服务器,就启动成功了