Hadoop2.7.2分布式部署2(创建hadoop用户配置ssh免密码登录)

来源:互联网 发布:威瑞森数据泄露报告 编辑:程序博客网 时间:2024/06/06 15:00

上一章节介绍了配置master、node1、node2的主机名以及IP地址之间的映射,可以通过ssh ip地址并输入密码来登录。

今天这一章节介绍创建Hadoop用户,并且配置ssh免密码登录,让后续我们的master节点可以通过ssh无须输入密码来进行登录。


1、创建Hadoop用户。

sudo groupadd hadoop   #建立一个hadoop的组
sudo useradd -s /bin/bash -d /home/hadoop -m hadoop -g hadoop  #添加一个hadoop的用户, 并且在home下面创建hadoop的用户目录, 并添加到hadoop组里
sudo passwd hadoop   #为hadoop设置密码

以上命令需要在master、node1、node2上执行一遍,每台节点都必须创建这个hadoop的用户。


2.配置ssh免密码登录

使用root用户

vi /etc/ssh/sshd_config

#以下4行的注释需要打开

HostKey /etc/ssh/ssh_host_rsa_key

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

保存并重启sshd执行命令:systemctl restart sshd.service

以上操作再master和node1和node2都需要执行一遍

在master节点切换到hadoop用户: su hadoop

执行命令:ssh-keygen -t rsa

然后cd /home/hadoop/.ssh目录下,会发现有两个文件:id_rsa  id_rsa.pub

接着执行:cat id_rsa.pub>> authorized_keys

然后执行:ssh hadoop@master

第一次登录需要输入密码,以后就不需要输入密码了。

这样就可以通过ssh使用hadoop用户登录master节点。


重复以上操作再node1和noode2节点,注意要使用hadoop用户来创建ssh免登录密码。


然后使用hadoop用户进入到node1节点

cd /home/hadoop/.ssh

接着执行下面的命令:ssh hadoop@master cat ~/.ssh/id_rsa.pub>> authorized_keys

将生成的密钥写入authorized_keys文件

这样从master登录到node1就可以不用密码了。

重复上面步骤在node1节点

现在将node1和node2机器 .ssh/ 文件夹权限改为700,authorized_keys文件权限改为600(or 644)

chmod 700  /home/hadoop/.ssh

chmod 600 /home/hadoop/.ssh/authorized_keys


最后回到master机器,使用ssh hadoop@node1登录node1节点就不需要密码了,同样ssh hadoop@node2也不需要密码了


关闭防火墙:

能使用ssh登录之后,还需要做关闭防火墙的操作。

执行命令查看防火墙状态:systemctl status firewalld.service

如果是开启状态则执行以下命令进行关闭并禁止。

注:如果用于生产环境,直接关闭防火墙是存在安全隐患的,我们可以通过配置防火墙的过滤规则,即将hadoop需要监听的那些端口配置到防火墙接受规则中。

systemctl stop firewalld.service

systemctl disable firewalld.service


同时,也需要关闭SELinux,可修改 /etc/selinux/config 文件,将其中的 SELINUX=enforcing 改为 SELINUX=disabled即可。






0 0