Hadoop集群搭建过程中ssh免密码登录(二)
一、为什么设置ssh免密码登录
在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作。例如,某个脚本能够终止并重启集群中的所有守护进程。所以,需要安装SSH,但是,SSH远程登陆的时候,需要密码验证,集群中数千台计算机,数千台计算机都需要手工输入密码,这是不太现实的,所以,就需要配置SSH无密码登录。
二、环境
Hadoop集群,虚拟机中安装了4个节点,为centos操作系统
node-001 : 192.168.38.131
node-002 : 192.168.38.132
node-003 : 192.168.38.133
node-004 : 192.168.38.134
三、设置免密码登录流程概述
<1>在客户端创建密钥文件
因为四个节点要相互访问,所以,四个节点都是客户端,也都是服务器端,我们分别在四个节点上创建 一对密钥文件,密钥文件包括公钥文件(~/.ssh/id_rsa.pub)和私钥文件 (~/.ssh/id_rsa) 。
<2>把公钥文件放到要登录的节点上
客户端在使用ssh登录到其他节点上的时候,ssh会发送私钥去和其他节点上的公钥去匹配,如果匹配成功,那么就会自动登录,而不需要输入密码,这就实现了无密码登录。 所以,客户端要实现免密码登录到目标节点上的时候,就需要把公钥写入目标节点上的~/.ssh/authorized_keys中。因为四个客户端节点(node-001、node-002、node-003、node-004)要实现相互间 免密码登录,所以,每个客户端节点都需要将他们的公钥发送到剩余三个节点上,当然,由于客户端也可以ssh到它自己,所以,可以把它自己的公钥也加入到他自己的~/.ssh/authorized_keys,因此,四个客户端节点的公钥就相同了,我们可以将公钥全部发送的node-001上,由node-001将各 个客户端节点的公钥整合到~/.ssh/authorize_keys中,然后,用scp命令将 ~/.ssh/autorized_keys复制 到其他两个节点中,这样,就实现了客户端节点间相互ssh免密码登录。
<3>目标节点的配置
权限问题: .ssh目录的权限必须是700
.ssh/authorized_keys文件权限必须是600
配置目标节点:修改sshd配置文件(/etc/ssh/sshd_config)
四、客户端创建秘钥文件
1.查看是否安装了ssh
~目录下,ls -a,.ssh隐藏文件夹
ssh -version

没有的话安装: yum install -y openssl openssh-server
2.在客户端节点创建密钥文件
输入 ls ~/.ssh,查看是否有密钥存在。
创建密钥,输入以下指令: ssh-keygen -t rsa ,一直默认Enter下去,密码为空就行。
输入ls ~/.ssh,查看是否多了两个文件(id_rsa.pub和id_rsa)。
依次在各个节点创建密钥文件
五、将各个客户端节点公钥写入node-001中
1.将node-001自己的公钥写入到自己的~/.ssh/authorized_keys中
ls #再次确认是否有密钥 cat id_rsa.pub >> authorized_keys #将公钥写入
在命令行下输入vi ~/.ssh/authorized_keys,查看公钥是否写入,修改sshd以及上面所提到的authorized_keys以及目录~/.ssh权限的修改
2.node-001中权限修改以及sshd
修改目录~/.ssh以及~/.ssh/authorized_keys文件的权限,打开命令行,输入:
chmod ~/.ssh chmod ~/.ssh/authorized_keys
3.自己验证ssh登录自己
ssh 192.168.38.131 #node-001的ip
如果不需要密码就能登录成功,则说明ssh成功
4.将其他三个节点的公钥加入node-001进来
进入node-002节点:
cd ~/.ssh #进入到ssh目录下面 ls #检测目录下面是否有密匙 scp id_rsa.pub lims@192.168.38.131:/home/tmp #将文件传递到Ip地址为 192.168.38.131(node-)的/home/tmp目录下 或者 scp id_rsa.pub lims@node-:/home/tmp #在hosts中配置了ip映射
上传成功,切换到tmp目录,查看公钥是否存在
将公钥写入到centosNameNode的~/.ssh/authorized_keys文件中,打开命令 行,输入指令:
cat /home/roboson/id_rsa.pub >>~/.ssh/authorized_keys
查看,输入vi ~/.ssh/authorized_keys指令,发现文件中又多了一堆数字。然后在node-002利用远程登录,验证是否成功
有的时候,会报这样的错
Agent admitted failure to sign using the key
解决方法:
在当前用户下执行命令:
ssh-add
然后,利用同样的方法,将其他两个节点的公钥也加入。
六、将文件加入所有节点
以上可以用客户端节点登录node-001,为了所有节点互相免密登录,将authorized_keys 文件远程拷贝到集群所有节点
scp authorized_keys 192.168.10.67:/home/roboson/.ssh/authorized_keys
最后互相ssh验证
Hadoop集群搭建过程中ssh免密码登录(二)的更多相关文章
- hadoop集群搭建过程中遇到的问题
在安装配置Hadoop集群的过程中遇到了很多问题,有些是配置导致的,有些是linux系统本身的问题造成的,现在总结如下. 1. hdfs namenode -format出现错误:hdfs namen ...
- Linux Hadoop集群搭建第二步:--------SSH免密登陆
内容和Linux 搭建 Hadoop集群--Jdk配置相关联 三台虚拟机的操作 Linux SSH免密登陆: 参考网址:http://www.cnblogs.com/999-/p/6884861.ht ...
- CentOs6.8 hadoop集群搭建过程中的问题
1.Error: Java heap space 网上有很多说是java虚拟机内存不够的,我也试着修改内存大小,但是没起作用,后来发现是文件在传输过程中失真.文件在上传到HDFS后变成乱码,重新上传文 ...
- Hadoop集群配置过程中需要注意的问题
环境:VMwareWorkstation8.0 和 Ubuntu14.04 1. 使用三台虚拟机搭建Hadoop集群 2. 一定要在每台机器上配置ssh免密码登录 3. 由于需要给/etc/hosts ...
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...
- Kubernetes集群搭建过程中遇到的问题
1. 创建Nginx Pod过程中报如下错误: #kubectlcreate -f nginx-pod.yaml Error from server: error when creating &quo ...
- 正式生产环境下hadoop集群的DNS+NFS+ssh免password登陆配置
博客地址:http://www.loveweir.com/ 环境虚拟机centos6.5 主机名h1 IP 192.168.137.11 作为DNS FNS的server 主机名h2 IP 19 ...
- Hadoop学习笔记-003-CentOS_6.5_64_设置ssh免密码登录
参考:http://blog.csdn.net/u010270403/article/details/51444677 虚拟机中共五个centos系统,每个系统有两个用户root和hadoop:cdh ...
- Hadoop集群最迅速的配置免密码登陆方法
1:多台机器互相免密登陆的思路(默认你的linux操作系统已经安装好ssh): 第一步:在各自的机器上面生成密钥: 在第1台机器上生产一对钥匙: ssh-keygen -t rsa 在第2台机器上生产 ...
随机推荐
- shell利用mysql表项的icmp检测
作者:邓聪聪 利用mysql的表项记录IP地址和对应状态 +----+-----------------+--------+--------+ | id | ip_host | desc | stat ...
- 【easy】438.Find All Anagrams in a String 找出字符串中所有的变位词
Input: s: "abab" p: "ab" Output: [0, 1, 2] Explanation: The substring with start ...
- Oracle XMLTYPE数据类型创建及插入
--1.创建xml表Create TABLE testxml2(id NUMBER,data XMLTYPE); --2.插入数据--1)创建目录 CREATE or replace DIRECTOR ...
- [HTTP]POST报文中Content-Type对正文解析的影响
概述 在POST请求中,理论上请求端程序可以发送任意格式报文正文,但是最好在报文头Content-Type字段标明正文的格式,方便接收端根据Content-Type正确处理正文. 传统HTML-for ...
- Django models文件模型变更注意事项(表结构的修改)
表结构的修改 1.表结构修改后,原来表中已存在的数据,就会出现结构混乱,makemigrations更新表的时候就会出错 比如第一次建模型,漏了一个字段,后来补上了.(经常遇到模型字段修改) 重新ma ...
- elasticsearch的CPU居高不下的问题
最近项目中遇到一个令人头疼的问题,毕竟因为工作需要刚学elasticsearch,也没有去关注elasticsearch的配置问题,安装好默认把它当做数据库一样去使用,这导致接下来的项目直接挂掉... ...
- 奇葩最小生成树--->走廊泼水节(tyvj1391)
题目描述 话说,中中带领的OIER们打算举行一次冬季泼水节,当然这是要秘密进行的,绝对不可以让中中知道.不过中中可是老江湖了,当然很快就发现了我们的小阴谋,于是他准备好水枪迫不及待的想要加入我们了. ...
- git clone pytorch或caffe2速度慢的解决办法
caffe2官方代码,现在已经放在pytorch项目中了. 因此,源码编译pytorch或caffe2,都需要 https://github.com/pytorch/pytorch 下载代码. 由于p ...
- Rafy 框架 - 时间戳插件
本文将解释 Rafy 框架中的时间戳插件的场景.使用方法.原理. 场景 在开发各类数据库应用系统时,业务领域实体往往需要包含"创建时间"."最后更新时间".&q ...
- python常见排序算法解析
python——常见排序算法解析 算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法 ...