CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-2设置SSH免密登录
因为hadoop集群在安装的时候需要集群中所有机器的权限。
所以我们需要打通所有节点的ssh无密码登陆,思路是生成每台机子的密钥,集中在一个文件中,再分发到每台机子上。
为了确保下面的命令能顺利执行,请先重启所有节点并且保证所有节点能够通过主机名ping通。
配置免密登录有两种方式,一种简单的:
1、执行命令,生成秘钥: ssh-keygen -t rsa
2、进入.ssh目录: cd ~/.ssh
3、拷贝到要免密码登陆的机器,要免密登陆那个机器,就写该机器的ip。3台机器的话两两之间都要做了免密登陆: ssh-copy-id 192.168.43.102
至此免密登录配置完成(验证免密登录成功,请看文末)。
另外一种是复杂的,但是思路比较清晰:
1、两台机子(正常生产环境至少需要3台,这里只做安装测试所以只用了两天)都分别使用ssh-keygen -t rsa 然后一直回车生成密钥。
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:HkNnC66AyS+s2Y1TU+/XwhrVIily33esuA32V1jzTz0 root@localhost.master
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| o o |
| . o .o = o ..|
| + o.o.S + . o+|
| . .o+ =.* . ..E=|
| o.....+.+.. ooo|
| +.+ .o+*.o. .|
|o o.. .ooo+. |
+----[SHA256]-----+
[root@localhost ~]#
我们可以看到/root/.ssh目录下有了密钥文件id_rsa以及公钥文件id_rsa.pub。
[root@localhost ~]# cd /root/.ssh
[root@localhost .ssh]# ls
id_rsa id_rsa.pub
2、两个节点中分别把公钥id_rsa.pub复制一份命名为authorized_keys_master、authorized_keys_slave1
也就是
master中执行 cp id_rsa.pub authorized_keys_master
slave1中执行 cp id_rsa.pub authorized_keys_slave1
[root@localhost .ssh]# cp id_rsa.pub authorized_keys_master
[root@localhost .ssh]# ls
authorized_keys_master id_rsa id_rsa.pub
3、把从节点slave1的公钥传送到master节点的/root/.ssh文件夹中,slave1中使用命令
scp authorized_keys_slave1 root@master:/root/.ssh
[root@localhost .ssh]# scp authorized_keys_slave1 root@master:/root/.ssh
The authenticity of host 'master (192.168.10.101)' can't be established.
ECDSA key fingerprint is SHA256:Hep4xj/6A8J2IGNte74dTnqI5gY6Sd4Xgsq6oTkmUDA.
ECDSA key fingerprint is MD5:08:7e:a9:4a:91:99:a1:89:95:02:c7:76:e3:52:4f:d3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'master,192.168.10.101' (ECDSA) to the list of known hosts.
root@master's password:
authorized_keys_slave1 100% 403 238.8KB/s 00:00
4、这个时候我们在master中的root/.ssh目录会看到authorized_keys_master、authorized_keys_slave1两个文件。
把它们合并追加到authorized_keys文件中。
cat authorized_keys_master>> authorized_keys
cat authorized_keys_slave1>> authorized_keys
[root@localhost .ssh]# cat authorized_keys_master>>authorized_keys
[root@localhost .ssh]# cat authorized_keys_slave1>>authorized_keys
[root@localhost .ssh]# ls
authorized_keys authorized_keys_slave1 id_rsa.pub
authorized_keys_master id_rsa
[root@localhost .ssh]# cat authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtUYN328WOb28y1urRl1uccKFlM2m0JDukJmclJzA/BQ/VqAjQ4DftZbTUApfkrYRsXAQJAV0wEkkDityl86So1r7MBg4uzq1kRJalrMUVJHEn2u7W7yBfY/o8jqzRKzgMy9ILw95iti1I0k/x8N35JTVC5t2qhQFqT3Op398Onj1lMWHVyj0QRc1C9zthe0L9WR4SIq/goGYVbiLM6XMyAzfI6Pk9OEpEI6UPb+/QFKmVOJ7RxnHGat2VaYQP7c5nL4fPu4bLOmMfeuAXeiRy9y2rRBl9PKS2/kwaP+ORqVK2fakwnIOjTo3HilMTVFpDhvMBhP4xsiXN3qIRoPk5 root@localhost.master ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfW91xcfffp+v/nJh3J44PNLvta84xUC6fAoTKxgZwlUlWuwZXjUgy+AhWMG5F2Ejv/jymIKwAGDV1luNSBj51JOloy2nuW85JlRKplROjJjBiJWxpvw814xSb1XiyOsyKiWAkWqBds1zg8V0xlm31stOxkBTUOKFSX8blIAM3XfaBUYFxqt1LSPQ1wZDDLOwrV46kuFwsgf/cR8cZhQeuayv1oTKdsj0aUFWvMaVYLIj3LfJoSMUzC5mUMiLZoBgw5TZHdK9BDwFMY5SKH1jLo1Vq9moVq7wxcUEovODJQGLwPL/xf7TkVSg16GrJ5OPbczy2MoTgSgjtXExsdLUX root@localhost.slave1
我们可以看到这个通行证authorized_keys中已经有了两台机子的公钥。
5、把这个通行证authorized_keys分发到其他节点----slave1 scp authorized_keys root@slave1:/root/.ssh
[root@localhost .ssh]# scp authorized_keys root@slave1:/root/.ssh
The authenticity of host 'slave1 (192.168.10.102)' can't be established.
ECDSA key fingerprint is SHA256://I9GnbQerDF/YSyPYbLnYFzY0vtDHGHZTgCjZeRvJY.
ECDSA key fingerprint is MD5:51:03:f2:82:95:50:8e:e4:e1:81:de:06:21:e0:27:b6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'slave1,192.168.10.102' (ECDSA) to the list of known hosts.
root@slave1's password:
authorized_keys 100% 806 918.9KB/s 00:00
6、测试节点之间相互ssh
例如在master中
ssh slave1
exit
不再需要输入登录密码
[root@localhost .ssh]# ssh slave1
Last login: Sat Jan 26 08:42:38 2019
[root@localhost ~]# exit
登出
Connection to slave1 closed.
至此,SSH免密互相访问完成。
CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-2设置SSH免密登录的更多相关文章
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录
CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录: 0.Windows 10本机下载Xshell,以方便往Linux主机上上传大文件 1.CentOS7+CDH5.14.0安 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了. 准备文件 从 http://archive.cloudera.com/cdh5/par ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-7主节点CM安装子节点Agent配置
主节点安装cloudera manager 准备工作:下载CM和mysql连接驱动包: CM各版本下载地址:http://archive.cloudera.com/cm5/cm/5/ 从里面选择:ht ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-6CM安装前环境检查
检查环境 在正式开始安装CDH之前最好先检查一下能不能相互免密ssh,以及防火墙是否关闭,集群中的时间是否统一,java版本是否是oracle的版本,主节点mysql是否安装正确等. ssh测试 例如 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-5安装JDK及安装mysql数据库
1.安装JDK 可以不用卸载自带的openjdk,配好环境变量即可. 下载文件:jdk-8u151-linux-x64.tar.gz 附:JDK各版本下载地址:https://www.oracle.c ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-4配置NTP服务
配置NTP服务.标准的做法是配置NTP服务器,但是这里为了方便就用简化的方式配置了. 这个在安装初期,不是必须的,只要保证各机器的时间同步就行,使用如下命令可以查看时间是否同步: [root@cdh1 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-1虚拟机安装及环境初始化
1.软件准备: VMware-workstation-full-14.1.2-8497320.exe CentOS-7-x86_64-DVD-1804.iso 2.VMare激活码: AU5WA-0E ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-3禁止交换和禁用大页面
1.禁止交换(每台机器都要做): 执行命令:vim /etc/sysctl.conf 增加一行:vm.swappiness=0 执行命令:sudo sysctl vm.swappiness=0 2.禁 ...
- CentOS7+CDH5.14.0安装CDH错误排查:该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系
主机错误: 该主机与 Cloudera Manager Server 失去联系的时间过长. 该主机未与 Host Monitor 建立联系 解决办法: 首先查看该主机NTP服务是否启动:https:/ ...
随机推荐
- 2、Redis 底层原理:Cluster 集群部署与详解
Redis 简介 Redis 提供数据缓存服务,内部数据都存在内存中,所以访问速度非常快. 早期,Redis 单应用服务亦能满足企业的需求.之后,业务量的上升,单机的读写能力满足不了业务的需求,技术上 ...
- hive函数--编码解码
以UTF-8为例: 测试字符串:☕️午后咖啡☕️ 一.编码 hive"); 输出: %E2%98%95%EF%B8%8F%E5%8D%88%E5%90%8E%E5%92%96%E5%95%A ...
- docker容器的常用操作
创建容器 [root@mydocker ~]# docker create --name test_create -ti ubuntu 1d13990eea0d3f282a0f7d5589f40e49 ...
- 问题-python3.6找不到tkinter
问题:import tkinter失败 然后直接pip安装也不ok python3.6安装过程中会提示是否选择安装tkinter,如此只有打开原来的安装程序 勾选箭头所示
- Navicat连接到服务器端数据库
https://blog.csdn.net/javakklam/article/details/80060866
- qt button clicked(bool) always false
今天用 qt 中的按键的时候,希望按键有两种状态,通过 clicked(bool) 发送信号给槽,结果一直发的是 false,不能为 true,后来终于找到问题了,有两种解决方法. 在 button ...
- ajax调用.net API项目跨域问题解决
ajax调用.net API项目,经常提示跨域问题.添加如下节点代码解决:httpProtocol <system.webServer> <handlers> <remo ...
- 移动端常用UI框架
作为一个前端人员来说,总结几款相对来说不错的用于移动端开发的UI框架是非常必要的,以下几种移动端UI框架就能基本满足工作中开发需要,根据项目需求,选用合适的框架搭建项目,更能容易提高开发效率. 一.M ...
- Vue初接触 stage1
开始学Vue辣!哈哈哈哈哈真的好好玩啊Vue!这个写法我真的太爱了! stage1 4-27 先写一下安装Vue devtools时遇到的问题(说来神奇,我是写第一个实例的时候试着在控制台打印了这个空 ...
- mybatis学习 -每天一记 mybatis insert null 报错
mybatis 插入数据,model的属性存在null,插入报错 在使用mybatis 进行insert时,如果字段值存在null的情况,会出现插入失败的情况,解决方案: 如果使用spring boo ...