概述
本博客并不属于技术博,主要记录楼主这个生手第一次实现ssh互联搭建hadoop的一堆麻烦事和解决方法:
现在先看一下建立ssh互信的方法(以ubuntu为例):
具体步骤有了,楼主谈一些细节问题(很多时候都是在学习linux)。
首先,我选择三台计算机,分别命名为node1,node2,node3系统分别为ubuntu14.04·13.1·14.04。在配置之前,要保证这三台计算机在一个局域网内,并且要能够连上网,所以最好设置成静态分配。以我的布局为例,同一交换机下,网关ip:192.168.137.1node 1~~3 的ip分别为:192.168.137.11 192.168.137.12 192.168.137.13对应的你需要在ubuntu的配置文件中进行一些设置:
(1). 在每一个节点下执行sudo /etc/network 然后gedit interfaces这个时候你的ubuntu一般是两行文字:
auto lo
iface lo inet loopback(只指定了本地环路地址)
需要添加:
autoeth0
iface eth0 inet static
address 192.168.137.11(以node1为例)
netmask 255.255.255.0
gateway 192.168.137.1
保存退出重启。这个时候博主以为自己可以上网了,结果浏览器一脸黑线(server not found)解决方法如下(root):
gedit /etc/resolv.conf
看到出了几行注释啥都没有,加两句:nameserver 192.168.137.1(网关)
nameserver 8.8.8.8(备用网关)
还没有完,这只是个临时修改,如果想下次继续,就保存退出接下来
cd /etc/resolvconf/resolv.conf.d/ gedit base
仍然加上nameserver 192.168.137.1(网关) nameserver 8.8.8.8(备用网关)
这个时候重启就ok啦~
(2).既然我们在一个局域网内要建立互信,那我总得知道你叫啥,你的地址是啥吧,执行以下操作(root):
gedit/etc/hosts
在每个节点的该文件最下面加上:
192.168.137.11 node1
192.168.137.12 node2
192.168.137.13 node3
保存退出
如果不写明你的邻居是谁,就会出现这个错误:
这里稍微提一下,如果一开始你的计算机名并不是nodex而是很长的字符串(确实很不利)如果想修改的话:
gedit /etc/hosts 把127.0.1.1后面的主机名换成你想要的
gedit /etc/hostname 同样将主机名进行替换
ok现在我们可以开始建立ssh互联了,首先什么是ssh,ssh全称(security shell),属于应用层,主要为ftp·pop等保驾护航,对传输数据进行加密,而且可以替代telnet,在本次实践中我们使用openssh而不是ssh,而实现互信就意味着我们的节点之间可以免密码互访。Ssh更像是客户端,而sshd则更像是服务器端,这就像我们装了mysql一样,会有一个mysql的服务端。
-
ps –e | grep sshd检测是否有该进程活跃;在这里默认你没有,在此之前,先把你的防火墙关了(ufw disable)。
-
尝试开启 /etc/init.d/sshd start,如果弹出sshd则成功,否则重启;
-
发现仍然没有该进程,则开始安装。博主的经历比较奇葩,一开始执行(root)apt-get install openssh-server提示信息:
package openssh-serverhas no installation candiadate
解决方法如下:
apt-get update
apt-get upgrade
apt-get install openssh-server
持续时间四十分钟左右。
如果你顺利安装了,那么看一下sshd启动没,一般ubuntu默认启动
仍然用上图所示命令查看,一旦sshd启动就可以干活了。
首先你的三个节点的用户名一定要一致,你如说第一张图中的test,密码最好也设置成一样的,如果你需要改用户名,建议在可视化图形界面下添加,博主直接gedit /etc/passwd把用户名替换了,随之而来的是一退出发现用户名变了输入原来密码却进不去,博主一下子脸黑了,遵照网上大神的说法在开机时长按shift选择advanced ubuntu进去选择recovery模式进去发现根本没治,只好重装系统(一切重新再来,悲催不愿多说)。
(1). 按照第一张图的教程(每个节点都要执行):
这段过程的意思是:
输入后,会提示创建.ssh/id_rsa、id_rsa.pub的文件,其中第一个为密钥,第二个为公钥。过程中会要求输入密码,为了ssh访问过程无须密码,可以直接回车。
(2). 第二步的意思是将公钥复制到被管理机器上面(只在node1上执行):
ssh node3 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
这一步可能会出错:
-
检查前面所述你的hosts中是否有你邻居的信息;
-
检查你们之间的网络(ping)
-
1真的很关键!!!!!!
(3). 第三步的意思是分发整合后的公钥文件(只在node1上执行)
scp ~/.ssh/authorized_keys node2:~/.ssh/
scp ~/.ssh/authorized_keys node3:~/.ssh/
scp主要用于把文件从远程(node2`node3)拷贝过来。
(4) 检验是否可以无密码互联:
Ssh互信建立完成!!!
最后
以上就是怕孤独春天为你收集整理的三台节点ssh互信建立的全部内容,希望文章能够帮你解决三台节点ssh互信建立所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复