以下所介绍的安装方式都是在线安装方式,如果你需要连网请参考:
OS:Linux Ubuntu14.04 Server X64;
服务器列表:
192.168.1.200 master
192.168.1.201 node1
192.168.1.202 node2
192.168.1.203 node3
测试是否安装了 SSH:
- sudo ps - e | grep ssh
如果返回包含 sshd 的进程,就表示已经安装过 openssh-server 服务,否则未安装。
安装 openssh-server 服务:
- sudo apt - get install openssh - server
如果提示安装失败,请执行更新命令:
- sudo apt - get update
不过本人在更新过程中遇到问题,执行安装 ssh 也出现问题: Package openssh-server is not available, but is referred to by another package.
解决方案请参考:
ssh 服务操作命令:
备注:
为了实现各个子节点都可以使用 putty 连接,把 Master,node1,node2,node3 都安装了 ssh 服务。
而事实上,要是 master 可以无密码登录各个子节点,其他子节点(node1,node2,node3)也必须安装 ssh 服务。
1)设置 master 的 ssh 为无需密码自动登录
切换到 hadoop 账户下(保证用户 hadoop 可以无需密码登录,应为我们后边安装 hadoop 属于的账户是 hadoop 账户)
- su - hadoop cd / home / hadoop ssh - keygen - t rsa
然后会遇到三次让输入的时候,第一次直接回车,第二次和第三次分别是:让输入密码和确认密码,我们这里是要实现无密码登录。所以以上三次输入都直接回车,不设置什么密码,也就是空密码登录。
2)之后再 / home/hadoop / 下会产生一个. ssh 的文件夹;ls 查看:
3)将公钥追加到 authorized_keys 文件中
- cp~ / .ssh / id_rsa.pub~ / .ssh / authorized_keys
4)master 本机使用 ssh localhost 测试:
第一次会提示是否 "Are you sure you want to continue connecting(yes/no)?", 直接输入 yes,下一次输入 ssh localhost 就不会在提示了。
5)修改各个节点(master,node1,node2,node3)的 hosts:
统计添加如下 host 列表:
目的,为后边实现 ssh 连接使用,不用输入 ip,使用机器名就可以。
6)为了确保 master 可以无需密码自动登录到 node1,node2 和 node3, 现在 node1,node2 和 node3 上生成 authorized_keys。
(依次为三个子节点 node1,node2,node3) 执行命令:
- su hadoop cd / home / hadoop ssh - keygen - t rsa
一路回车,和 master 安装方式一样。
7)复制 master 上的 authorized_keys 到三个子节点上(node1,node2,node3):
首先,为了避免权限问题,我们可以事先设置文件和目录权限:
- #设置authorized_keys权限$ chmod 600 authorized_keys#设置.ssh目录权限$ chmod 700 - R.ssh
然后拷贝 master 上的 authorized_keys 到三个子节点上(node1,node2,node3)
这里会提示输入密码, 输入 hadoop 账号密码就可以了。
8)测试: ssh node1、ssh node2 和 ssh node3(第一次需要输入 yes)
如果不需要输入密码,就表示配置成功,否则配置失败。
参考资料:
ssh-keygen 的 详解 :http://blog.csdn.net/wh_19910525/article/details/7433164
Hadoop 集群配置(最全面总结):http://blog.csdn.net/hguisu/article/details/7237395
来源: http://www.cnblogs.com/yy3b2007com/p/5878859.html