由于要做hadoop的学习,想着先装一下, Hadoop一开始是为Linux开发使用的,所以在Linux上开发比较合适,并且一些公司也是在Linux上使用
首先先创建一个用户,这个就跳过了,因为要为练习Hadoop所以创建了一个用户,这里建议只要不用root来试都可以。(不懂那会经常用root实验,结果一个自杀命令让自己机子直接崩了)
ok进入正题,ssh是什么 下面的内容来自百度百科
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
为啥要用ssh的免密登陆呢?大家都知道Hadoop集群中可能有几十台机器甚至是上千台机器,而每次启动Hadoop都需要输入密码才能够登录到每台机器的DataNode上的,所以为了避免后期繁琐的操作,一般都会配置SSH免密码登录.
首先我使用的是centos 7 原来从网上找的教程都实现不了因为和用的Linux的系统不同
我创建的新用户叫做,Hadood,
在~目录下输入ssh-keygen #直接回车3次下面会出现一个默认的产生密钥的文件,使用默认的就ok,然后是你的口令,我选择没有,第三个回车是确认口令。
接着使用cat命令将你的公共密钥(.pub)保存到authorized_keys
cat /home/hadoop(注意这是我的用户,不同用不不一样)/.ssh/id_rsa>>/home/hadoop/.ssh/authorized_keys
最后更改authorized_keys文件的权限,变为600 当时我试了好几次没成功都因为这边权限没有更改。
最后测试一下是否成功了 ssh localhost 直接登陆不需要输入密码则是ok