在配置hadoop集群的时候,需要在master主机和slave主机之间进行无密钥通信,我的两个机器上的用户名都是hadoop,通信是在两台机器的hadoop用户之间通信,而不是root用户。

先查看在两台机器上/home/hadoop下有没有.ssh文件夹,这是一个隐藏文件夹,用命令ls -a查看,如果没有,需要mkdir -p .ssh新建

分别在两台机器上的hadoop用户下输入命令ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa     这个命令会在.ssh文件夹下生成两个文件,id_dsa和id_dsa.pub,分别是一个私钥和一个公钥

输入命令cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys把公钥加到用于认证的公钥文件中,注意这其中.ssh文件夹和authorized_keys文件的权限都需要是可执行才能修改成功,用命令

chmod -fR 700 .ssh和chmod -fR 700 authorized_keys

将master主机上的authorized_keys文件复制到slave主机上:scp ~/.ssh/authorized_keys hadoop@slave:/home/hadoop/.ssh/           但是要注意,这里面复制到slave主机上时本来是要和hadoop用户交互,但是第一次需要提供hadoop的密码,而你可能怎么输入hadoop的密码都无法连接,这时,就需要用root用户通信:scp ~/.ssh/authorized_keys root@slave:/home/hadoop/.ssh/记得要改权限

但是在这之前,你一点要给slave机器设置好主机名slave,否则上述命令不认slave主机,在两个机器的/home/hadoop/hadoop安装目录/conf下分别有一个masters和slaves文件

conf/masters:

master

conf/slaves:

slave

在这之前要分别在/etc/sysconfig/network和 /etc/hosts文件以root身份修改主机名

然后ssh -version查看ssh是否安装成功

ssh -localhost查看是否能与本机通信

在master上ssh slave进行验证

相关文章:

  • 2022-03-10
  • 2021-11-23
  • 2021-08-11
  • 2022-12-23
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-04-21
猜你喜欢
  • 2021-11-28
  • 2021-06-10
  • 2021-11-21
  • 2022-01-14
  • 2021-09-08
  • 2022-12-23
  • 2021-11-03
相关资源
相似解决方案