Hadoop集群配置ssh免密码登录

因需要搭建hadoop集群,共有4个节点,因此需要实现各个节点之间的免密码登录。
要实现ssh的免密码登录,就要求目标主机的authorized_keys文件中存放该主机的公钥信息。

配置前的准备
  • 安装ssh服务
yum -y install openssh-server openssh-clients
  • 关闭防火墙
# 查看防火墙状态
service iptables status
# 关闭防火墙
service iptables stop
# 禁止开机自启动
chkconfig iptables off
# 查看
chkconfig --list iptables
  • 配置/etc/hosts文件,在该文件中新增如下映射
192.168.48.201  hadoop201
192.168.48.202  hadoop202
192.168.48.203  hadoop203
192.168.48.204  hadoop204
  • 建立一个新的用户,不能使用root
useradd ray
passwd ray
开始设置免密码登录
  • 切换到ray用户身份,不能再root身份下进行免密码登录设置
[root@hadoop201 .ssh]$ sudo su - ray
  • hadoop201节点上生成密钥对
# 指定使用rsa算法
[ray@hadoop201 .ssh]$ ssh-keygen -t rsa

结果如下:
在这里插入图片描述

  • hadoop201上的公钥分别发送到4个节点(包括自己)
# 将hadoop201生成的公钥发送到hadoop201 ~ hadoop204
[ray@hadoop201 .ssh]$ ssh-copy-id hadoop201
[ray@hadoop201 .ssh]$ ssh-copy-id hadoop202
[ray@hadoop201 .ssh]$ ssh-copy-id hadoop203
[ray@hadoop201 .ssh]$ ssh-copy-id hadoop204

注意,hadoop201节点自身也需要做设置密码登录,为了方便后续将authorized_keys文件分发到其他的三个节点。
结果如下:
在这里插入图片描述

  • 验证
[ray@hadoop201 .ssh]$ ssh hadoop202
[ray@hadoop202 ~]$ logout
Connection to hadoop202 closed.
[ray@hadoop201 .ssh]$ 

如上所示,hadoop201免密登录hadoop202成功

  • hadoop201之外的三个节点的公钥发送到hadoop201节点上
[ray@hadoop202 .ssh]$ ssh-copy-id hadoop201
[ray@hadoop203 .ssh]$ ssh-copy-id hadoop201
[ray@hadoop204 .ssh]$ ssh-copy-id hadoop201
  • hadoop201节点上的authorized_keys文件分发到其他三个节点
[ray@hadoop201 .ssh]$ scp ~/.ssh/authorized_keys hadoop202:~/.ssh/authorized_keys
[ray@hadoop201 .ssh]$ scp ~/.ssh/authorized_keys hadoop203:~/.ssh/authorized_keys
[ray@hadoop201 .ssh]$ scp ~/.ssh/authorized_keys hadoop204:~/.ssh/authorized_keys
  • hadoop201节点上的known_hosts分发到其他的三个节点上
scp ~/.ssh/known_hosts hadoop202:~/.ssh/known_hosts
scp ~/.ssh/known_hosts hadoop203:~/.ssh/known_hosts
scp ~/.ssh/known_hosts hadoop204:~/.ssh/known_hosts

至此,hadoop集群4个节点间ssh免密码登录已完成,快尝试下吧。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop 集群中,为了实现节点之间的密钥登录,您需要遵循以下步骤: 1. 在每个节点上生成 SSH 密钥对。您可以运行以下命令: ``` ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa ``` 这将在每个节点的 `~/.ssh/` 目录下生成一个 RSA 密钥对文件:`id_rsa` 和 `id_rsa.pub`。 2. 将公钥(`id_rsa.pub`)拷贝到所有其他节点的 `authorized_keys` 文件中。您可以运行以下命令: ``` cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 然后使用 `scp` 命令将 `authorized_keys` 文件拷贝到其他节点上的 `~/.ssh/` 目录下: ``` scp ~/.ssh/authorized_keys user@node2:~/.ssh/ scp ~/.ssh/authorized_keys user@node3:~/.ssh/ ``` 这样,您就可以从一个节点登录到另一个节点,而无需输入密码。 3. 测试 SSH 连接。您可以从一个节点上运行以下命令来测试: ``` ssh user@node2 ``` 如果一切正常,您应该能够在没有要求输入密码的情况下登录到节点 2。 4. 对于 Hadoop 集群,您需要在 `core-site.xml` 文件中指定 SSH 用户和私钥的路径。例如: ``` <property> <name>dfs.ssh.user</name> <value>user</value> </property> <property> <name>dfs.ssh.private.key</name> <value>/home/user/.ssh/id_rsa</value> </property> ``` 这将允许 Hadoop 使用 SSH 连接到其他节点,而无需输入密码。 这些步骤应该能够帮助您在 Hadoop 集群中实现节点之间的密钥登录。如果您遇到任何问题,请告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值