安装Hadoop时候需要设置SSH ,故将此过程记录下来
推荐安装 OpenSSH , Hadoop 需要通过 SSH 来启动 Slave 列表中各台主机的守护进程,因此 SSH 是必需安装的。虽然我们现在搭建的是一个伪分布式的平台,但是 Hadoop 没有区分开集群式和伪分布式,对于伪分布式, Hadoop 会采用与集群相同的处理方式,即按次序启动文件 conf/slaves 中记载的主机进程,只不过在伪分布式中 Salve 为 localhost 而已,所以对于伪分布式, SSH 是必须的。
1 安装ssh,如果机器上已安装,则跳过,查看是否安装ssh
ps -e |grep ssh
如果看不到ssh,说明没有安装,需要安装
sudo apt-get install openssh-server
安装完毕,启动,停止,重启命令如下
sudo /etc/init.d/ssh start
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh restart
2 配置免密码登录本机
切换到root用户
sudo su
在家目录下执行如下命令:ssh-keygen -t rsa
ssh-keygen -t rsa
Generating public/private rsa key pair. Enter file in which to save the key (/home/liucc/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/liucc/.ssh/id_rsa. Your public key has been saved in /home/liucc/.ssh/id_rsa.pub. The key fingerprint is: 2f:aa:26:05:91:35:a6:5c:b3:e9:fc:b3:d0:0d:25:c8 liucc@ubuntu The key's randomart image is: +--[ RSA 2048]----+ | o* | | .o= * | | o.E . . | | .o o | | .o . S | | .o o . | | .. + o . | | . .. + . | | o..o | +-----------------+
这条命令完成后,会在当前文件夹下面的 .ssh 文件夹下创建 id_dsa 和 id_dsa.pub 两个文件,这是 SSH 的一对私钥和公钥,把 id_dsa.pub (公钥)追加到授权的 key 中去,输入如下命令,如果出现没有找到id_rsa.pub错误,需要进入到.ssh目录下面
cat id_rsa.pub > authorized_keys
输入命令测试
ssh localhost
------------------------------常见问题-----------------------------------------------------------------
之前如果建立 ssh 连接,只要將公钥复制到 ~/.ssh/authorized_keys 就可以利用公钥登入,而不需要建立密码。
现在的 ssh 使用同样的方法会出現错误信息:
解決方法:
使用 ssh-add 指令將私钥加进来(根据个人的密匙命名不同更改 id_rsa)
# ssh-add ~/.ssh/id_rsa