50节点hadoop无密码

h9vpoimq  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(298)

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

vlju58qv

vlju58qv1#

也许这能帮上忙:
为了无缝地工作,需要设置ssh以允许hadoop用户从集群中的计算机进行无密码登录。实现这一点的最简单方法是生成一个公钥/私钥对,并将其放置在整个集群共享的nfs位置。
首先,通过在hadoop用户帐户中键入以下内容来生成rsa密钥对:
%ssh-keygen-t rsa-f~/.ssh/id\u rsa
即使我们想要无密码登录,没有密码短语的密钥也不被认为是好的做法(在运行本地伪分布式集群时可以使用空密码短语,如附录a中所述),因此我们在提示输入密码短语时指定一个密码短语。我们将使用ssh代理来避免为每个连接输入密码。
私钥位于-f选项指定的文件~/.ssh/id\u rsa中,公钥存储在与.pub同名的文件~/.ssh/id\u rsa.pub中。
接下来,我们需要确保公钥位于要连接到的集群中所有计算机上的~/.ssh/authorized\u keys文件中。如前所述,如果hadoop用户的主目录是nfs文件系统,那么可以通过键入以下内容在集群中共享密钥:
%cat~/.ssh/id\u rsa.pub>~/.ssh/authorized\u密钥
如果没有使用nfs共享主目录,则需要通过其他方式共享公钥。
通过确保sshagent正在运行来测试您是否可以从主计算机ssh到工作计算机3,然后运行ssh add来存储您的密码短语。您应该能够通过ssh连接到一个worker,而无需再次输入密码短语。
来源:tom white,《hadoop:权威指南》,第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美元

flseospp

flseospp2#

您不需要在节点之间设置ssh,在主节点和从节点之间设置单向ssh就足够了(因此,只有主服务器才能访问从属服务器(无需密码)。
通常的方法是编写一个bash脚本,在从属文件上循环,并将主密钥复制到从属的授权密钥中,然后登录到从属文件中。
你可以在praveen sripati的博客上看到一个小的解决方案。
但是,我不是管理员,所以我不能告诉你是否有更聪明的方法。也许这更适合超级用户网站

相关问题