大数据之Hadoop设置SSH免密登录

我昨天有写过一篇《大数据之Linux下搭建HDFS分布式文件系统》,此篇是接着HDFS的补充。在《大数据之Linux下搭建HDFS分布式文件系统》一文中,我用的是root搭建HDFS,忘记创建一个新的用户和介绍开启SSH免密登录,在此篇中,将承接HDFS一文来介绍SSH免密登录的设置。

大数据之Hadoop设置SSH免密登录

一、创建用户

#创建一个名为hadoop的用户
useradd hadoop
#为这个用户设置密码
passwd hadoop

二、设置用户组(为了不麻烦,直接把hadoop设置到root组里)

#把hadoop添加到root组里
gpasswd -a hadoop root
#把hadoop移除root组
gpasswd -d hadoop root

三、设置SSH免密登录

1、非免密的验证

我们先执行一下非免密之前是怎么样的,root切换到hadoop用户下执行以下命令,会让你输入三次密码,这是非免密登录

ssh localhost
大数据之Hadoop设置SSH免密登录

2、免密设置

2.1:生成公私密钥

我拿刚才创建的用户做免密测试,执行下面的语句,然后一直回车,如下图,他将产生公私密钥,地址/home/hadoop/.ssh

ssh-keygen
大数据之Hadoop设置SSH免密登录

2.2:免密设置

进入/home/haddop/.ssh目录下,会看到生成了id_rsa和id_rsa.pub。依次执行下面的命令,最终我们可以看到,再次执行ssh localhost后,不再出现前面我们非免密时候出现的输入三次密码。而是直接就访问成功并且打印出Welcome to Alibaba Cloud Elastic Compute Service !

#进入用户密钥目录
cd home/hadoop/.ssh/
#将公私内容复制到新文档authorized_keys中,执行完后可以 看到.ssh目录下增加了一个文档
cat id_rsa.pub >> authorized_keys
#给authorized_keys设置600权限
chmod 600 authorized_keys
#再次执行免密命令
ssh localhost
大数据之Hadoop设置SSH免密登录

四、结束语

至此免密操作就完成了,这不只是针对Hadoop要用免密操作,我只是拿这个做例子,在其他需要SSH免密登录的操作都一样。另外我前面有提过,在《大数据之Linux下搭建HDFS分布式文件系统》一文中用的是root账号操作的,如果先用root账号操作了,又不想给root设置免密,想让其他用户设置免密,也就是切换新的用户后,HDFS的操作是否会有影响?答应是会的,因为你home下的namenode和datanode文件是root创建的,在你的新用户下是不能对他写操作。解决的办法就是给这两个文件设置权限,另外一种方法就是暴力一点,直接删除掉,然后用新用户再创建这两个文件。创建后,再进行HDFS格式化,再启动namenode和datanode。再做后续的测试(创建和查看文件是否成功)。

建议大家结合前面的文章《大数据之Linux下搭建HDFS分布式文件系统》来读本篇,以免云里雾里。


分享到:


相關文章: