Hadoop----集群搭建指南(中卷)

来源:互联网 发布:60cj数据库 副手 编辑:程序博客网 时间:2024/05/16 16:18

前言


本文的搭建基于上卷的配置,环境不再一一赘述。网络配置好的5台节点均可相互ping通,对于节点hadoop1(192.168.20.2)可以ping同其余四台hadoop2(192.168.20.3)、hadoop3(192.168.20.4)、hadoop4(192.168.20.5)、hadoop5(192.168.20.6)。其余节点同理。

本文继续进行集群的搭建—-SSH配置。禁止root账户进行ssh登陆,只允许指定用户进行ssh登陆。

定义用户


添加用户已经在上卷中提及,仅供参考。这里假设所有节点均有一个账户:deploy,密码:hadoop。

同时,已在/etc/sudoers文件提高了deploy的权限。

SSH配置


修改ssh配置文件

配置文件是:/etc/ssh/sshd_config。找到相关变量,修改为:

  • PermitRootLogin no
  • RSAAuthentication yes
  • PubkeyAuthentication yes
  • AuthorizedKeysFile .ssh/authorized_keys
  • PasswordAuthentication no

以上配置作用分别是:禁止root用户远程ssh,开启RSA验证,开启公钥验证,设置验证密钥文件在~/.ssh/authorized_keys中,禁止密码登录。

保存,重启ssh服务生效。重启命令:/etc/init.d/sshd restart

生成公钥私钥

以deploy登录,进入~目录,输入
ssh-keygen -t rsa命令,一路回车生成id_rsa(私钥)和id_rsa.pub(公钥)。

生成的文件在目录:~/.ssh/下。

在该目录下新建authorized_keys文件,将id_rsa.pub的内容拷贝的该文件中,后续有ssh请求均会来此文件验证内容。

同时,给相关文件赋予权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

此时,即可利用私钥id_rsa用deploy账户登陆该机器。

拷贝各节点的公钥

在各个节点重复上述过程,修改ssh的配置文件,在deploy账户下生成密钥,赋予文件权限。

为了让集群的节点能相互ssh登陆,需要讲个节点的公钥全部放置到deploy账户下的~/.ssh/authorized_keys(/home/deploy/.ssh/authorized_keys)文件中。每个节点的authorized_keys应该是相同的。


配置总结


SSH是会验证不同用户账户下的~/.ssh/authorized_keys的公钥。在Linux系统中,~是指当前账户所在的目录。因为Linux支持多账户,所以,用不同的账户登录,~就代表不同路径。以deploy账户登录,则~代表:
/home/deploy/;以deploy2账户登录,~就代表:/home/deploy2/。

如果指定某账户能ssh登录,则必须在登录该账户的情况下,在~目录下生成公钥和私钥。


结语


笔者目前是数据仓库、Python、Hadoop的技术栈,以前是一名前端开发人员。2年开发经验,还有许多要学习的地方。有兴趣和我一起提高IT技术的同学,欢迎加入微信群–小谷的IT圈。扫码进入:

这里写图片描述


4 0
原创粉丝点击