50个节点hadoop无密码

时间:2012-12-24 17:46:33

标签: hadoop hdfs

我的问题非常简单,我想设置50个节点的hadoop集群,如何在50个节点之间设置无密码。如果手动操作非常困难!提前谢谢!

3 个答案:

答案 0 :(得分:1)

您不需要在节点之间设置SSH,在主服务器和从服务器之间使用单向就足够了。 (因此只有主设备必须在没有密码的情况下访问从设备。)

通常的方法是编写一个bash脚本,它遍历你的从属文件并登录到你的从属服务器,将主服务器的公钥复制到从服务器的授权密钥中。

You can see a small workthrough on Praveen Sripati's blog.

然而,我不是管理员所以我不能告诉你是否有更聪明的方法。也许这更适合Superuser.com

答案 1 :(得分:0)

也许这会有所帮助:

  

要无缝工作,需要设置SSH以允许无密码   从群集中的计算机登录hadoop用户。最简单的   实现这一目标的方法是生成公钥​​/私钥对,以及   将其放在群集中共享的NFS位置。

     

首先,   通过在hadoop用户中键入以下内容来生成RSA密钥对   帐号:

     

%ssh-keygen -t rsa -f~ / .ssh / id_rsa

     

即使我们想要   无密码登录,没有密码短语的密钥不被认为是好的   练习(运行本地时可以使用空密码   伪分布式集群,如附录A)所述,因此我们指定   提示输入密码时的密码短语。我们将使用ssh-agent来避免   需要为每个连接输入密码。

     

私钥是   在-f选项指定的文件中,〜/ .ssh / id_rsa和public   key存储在附加.pub的同名文件中,   的〜/ .ssh / id_rsa.pub。

     

接下来,我们需要确保公钥存在   集群中所有计算机上的〜/ .ssh / authorized_keys文件   我们想要连接到。如果hadoop用户的主目录是   如前所述,NFS文件系统可以共享密钥   通过键入以下内容跨集群:

     

%cat~ / .ssh / id_rsa.pub>>   〜/ .ssh / authorized_keys

     

如果未使用NFS共享主目录,   那么公钥需要通过其他方式共享。

     

测试   您可以通过确保从主服务器SSH到工作机器   sshagent正在运行,3然后运行ssh-add来存储你的密码。   您应该能够在不输入密码的情况下ssh给工作人员   试。

来源: Tom White,Hadoop:The Definitive Guide,page 301

在这里发现谷歌搜索: https://www.google.rs/url?sa=t&rct=j&q=&esrc=s&source=web&cd=22&cad=rja&ved=0CDYQFjABOBQ&url=http%3A%2F%2Fbigdata.googlecode.com%2Ffiles%2FOreilly.Hadoop.The.Definitive.Guide.3rd.Edition.Jan.2012.pdf&ei=sGzZULb6OfOM0wWhlYDYAw&usg=AFQjCNGvNUZcQBvM_Ucqf_K0JGAlCRxr3A&sig2=Qpa_KZyP1mXXm9yQv0ynRw&bvm=bv.1355534169,d.d2k

答案 2 :(得分:-1)

您可以使用其中一个商业hadoop发行版(Hortonworks,Cloudera,IBM BigInsights等),他们都有安装程序。 特别是Cloudera有一个Cloudera Manager的版本,最多可以有50个节点(我想你很幸运:))。

( - 删除了对Apache Ambari的引用)