博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
琐碎-到底要不要SSH免密码设置
阅读量:5881 次
发布时间:2019-06-19

本文共 1022 字,大约阅读时间需要 3 分钟。


 

搭建了很多次hadoop2.2.0了,尝试过很多不同的启动方法、配置参数、位置,其中涉及到到底要不要配置SSH免密码登录的问题

先是搞清楚为什么需要SSH免密码登录


SSH免密码登录操作步骤:

... ...


在hadoop2.2.0中有三种启动方式:

  1. 使用hadoop-daemon.sh和yarn-daemon.sh分别启动每一个守护进程;
  2. 使用start-dfs.sh和start-yarn.sh分开启动不同模块的所有进程;
  3. 使用start-all.sh启动所有模块所有进程。

三种启动方式在实验阶段都可以使用,只不过第一种更适合于生产环境。


 

第一种不需要配置SSH免密码登录,第二种和第三钟需要,为什么?

第一种是逐一启动每一台机器的每一个进程,就是说如果是完全分布式环境,有多少台机器我就要在每台机器上使用这个命令去启动对应的命令,如在namenode上启动namenode就要使用sbin/hadoop-daemon.sh start namenode这个命令,在datanode上启动datanode,就要使用sbin/hadoop-daemon.sh start datanode这个命令,对应的yarn进程启动也一样,不过是使用yaen-daemon.sh。

而第二种和第三种是一种只在namenode上使用就可以启动整个集群的方便方式,它的原理是根据配置文件启动namenode上的对应进程然后再通过SSH协议登录到slave上启动对应的进程


 

说到这已经明白了,那么我以前的一种说法或者一种认识就是错的。

因为只需要namenode远程登录到slave中启动对应进程,所以所有slave只需要拥有namenode的公钥就行了,不需要拥有其他slave的公钥。

不过我引出一种猜想,反正namenode和slave的信息是在配置文件中读出来的,所以如果slave能SSH免密码登录namenode,那么是不是就可以在namenode上格式化文件系统,而在某台slave上启动集群?呵呵。


 

那其他地方不用SSH协议了吗?

答案是不用了,只有启动的时候才用。(我现在的认识)

其他如心跳等是用了RPC协议,web UI使用了HTTP协议,所以在hadoop中RPC协议、HTTP协议远比SSH协议重要的多


 

转载于:https://www.cnblogs.com/admln/p/trivial-NeedSSHOrNot.html

你可能感兴趣的文章
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
.Net 通过MySQLDriverCS操作MySQL
查看>>
JS Cookie
查看>>
ubuntu Unable to locate package sysv-rc-conf
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
Tengine新增nginx upstream模块的使用
查看>>
CentOS图形界面和命令行切换
查看>>