Hadoop 集群 傻瓜式搭建手记 (三)SSH互联
2011-12-13 21:03
337 查看
本来以为网络搭建好了就可以了,没有想到还有ssh这个东西需要配置免密码访问,这个东西应该也算是软件上互联吧。
ssh免密码本来是很简单的一件事情,不过我折腾了2天
,这就是菜鸟的必经过程了,我算是觉悟了。
经过无数次的尝试,终于拼出了一条正确的道路:
1. 首先在本地生成空密码的公钥和私钥:
在网上看到有些使用rsa,不过在Hadoop网站上写的是dsa,就使用dsa吧,生成的密钥文件放在当前用户的.ssh目录下,据我观察,貌似ssh所需要的用户配置文件都存放在这里。执行命令后应该会有 id_dsa, id_dsa.pub两个文件。
2. 配置本地访问不需要密码:
其实就是把生成的公钥导入到authorized_keys中,估计ssh 会使用这个文件来进行验证。
3. 执行下面的命令来测试本地访问
如果之前没有使用过ssh连接localhost, 那么会有提示添加localhost到knowhosts中去,然后要求输入密码。第二次及以后的连接就不需要密码了。
这里要注意,一定要执行exit来退出ssh,否则这样嵌套执行会搞晕人的。我就这么晕了半天,不知道是在ssh上干活还是直接登录干活。后来在直接操作时把目录切换到了~/.ssh下,这样使用ssh后命令提示符就不一样了。呵呵,菜鸟就是需要多搞一点提示。
4. 把本地的公钥复制到另外的机器(比如192.168.100.102)上:
这个会要求输入102的密码,照提示输入即可。
这里就是折腾了我2天的罪魁祸首,在配置从NameNode(192.168.100.101免密码ssh访问)JobTracker(192.168.100.102)时,一定要在NameNode上执行这个命令。虽然我不知道为什么,但是多次尝试下来,就只有这样才能成功。或许还有其它办法,以后有机会了再研究研究。
5. 在另外一台机器上JobTracker(192.168.100.102),把刚刚拷贝过来的公钥导入authorized_keys
6. 从101上连接102:
同样第一次连接的话会询问是否添加机器以及要求输入密码,第二次就不用了。
至此就算配置好了ssh从其中一台到另外一台的免密码访问了,把这个操作在各个机器上两两执行,就可以让任意一台机器免密码访问另外任意一台机器了。
如果配置过程中有失误,想要重新来,可以删除.ssh下的所有东西,从头来过。
顺便提一下,我用的是VMware文件拷贝生成的虚拟机,故而所有虚拟机的机器名都是一致的,不知道会有什么问题,所以我在执行上述操作时更改了机器名。
改机器名要改两个地方:
/etc/hostname 里面的字符串就是机器名,这个要重启后才能生效。Ubuntu下才是这样的,其它Linux貌似不是这个文件。
/etc/hosts 里面应该是用于访问网络时的一个DNS式的东西,把所有出现原机器名的地方都替换成新的机器名即可。
改好后重启,可以用hostname命令来查看是否成功。
好了,暂时就到这里,明天再研究真正的Hadoop配置文件。
ssh免密码本来是很简单的一件事情,不过我折腾了2天
,这就是菜鸟的必经过程了,我算是觉悟了。
经过无数次的尝试,终于拼出了一条正确的道路:
1. 首先在本地生成空密码的公钥和私钥:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
在网上看到有些使用rsa,不过在Hadoop网站上写的是dsa,就使用dsa吧,生成的密钥文件放在当前用户的.ssh目录下,据我观察,貌似ssh所需要的用户配置文件都存放在这里。执行命令后应该会有 id_dsa, id_dsa.pub两个文件。
2. 配置本地访问不需要密码:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
其实就是把生成的公钥导入到authorized_keys中,估计ssh 会使用这个文件来进行验证。
3. 执行下面的命令来测试本地访问
ssh localhost
如果之前没有使用过ssh连接localhost, 那么会有提示添加localhost到knowhosts中去,然后要求输入密码。第二次及以后的连接就不需要密码了。
这里要注意,一定要执行exit来退出ssh,否则这样嵌套执行会搞晕人的。我就这么晕了半天,不知道是在ssh上干活还是直接登录干活。后来在直接操作时把目录切换到了~/.ssh下,这样使用ssh后命令提示符就不一样了。呵呵,菜鸟就是需要多搞一点提示。
4. 把本地的公钥复制到另外的机器(比如192.168.100.102)上:
scp ~/.ssh/id_dsa.pub fox@192.168.100.102:/home/fox/.ssh/101_dsa.pub
这个会要求输入102的密码,照提示输入即可。
这里就是折腾了我2天的罪魁祸首,在配置从NameNode(192.168.100.101免密码ssh访问)JobTracker(192.168.100.102)时,一定要在NameNode上执行这个命令。虽然我不知道为什么,但是多次尝试下来,就只有这样才能成功。或许还有其它办法,以后有机会了再研究研究。
5. 在另外一台机器上JobTracker(192.168.100.102),把刚刚拷贝过来的公钥导入authorized_keys
cat ~/.ssh/101_dsa.pub >> authorized_keys
6. 从101上连接102:
ssh 192.168.100.102
同样第一次连接的话会询问是否添加机器以及要求输入密码,第二次就不用了。
至此就算配置好了ssh从其中一台到另外一台的免密码访问了,把这个操作在各个机器上两两执行,就可以让任意一台机器免密码访问另外任意一台机器了。
如果配置过程中有失误,想要重新来,可以删除.ssh下的所有东西,从头来过。
顺便提一下,我用的是VMware文件拷贝生成的虚拟机,故而所有虚拟机的机器名都是一致的,不知道会有什么问题,所以我在执行上述操作时更改了机器名。
改机器名要改两个地方:
sudo vi /etc/hostname sudo vi /etc/hosts
/etc/hostname 里面的字符串就是机器名,这个要重启后才能生效。Ubuntu下才是这样的,其它Linux貌似不是这个文件。
/etc/hosts 里面应该是用于访问网络时的一个DNS式的东西,把所有出现原机器名的地方都替换成新的机器名即可。
改好后重启,可以用hostname命令来查看是否成功。
好了,暂时就到这里,明天再研究真正的Hadoop配置文件。
相关文章推荐
- Hadoop 集群 傻瓜式搭建手记 (一) 软件准备
- Hadoop 集群 傻瓜式搭建手记 (四) 完结篇
- Hadoop 集群 傻瓜式搭建手记
- Hadoop 集群 傻瓜式搭建手记 (二)网络连接
- Hadoop 集群 傻瓜式搭建手记 补充
- (五)hadoop系列之__集群搭建SSH无密访问多台机器
- Hadoop分布式集群搭建(一)创建hadoop用户、配置ssh、安装jdk
- hadoop完全分布式集群搭建全部流程之四:ssh和脚本补充
- 第五天-Hadoop全分布式集群搭建(傻瓜式配置)
- Hadoop集群搭建的密钥配置SSH实现机制
- 入门级Hadoop集群搭建详细教程(七):SSH免密码登陆
- Hadoop集群搭建之二 集群环境部署说明+SSH
- hadoop-0.20-集群搭建___实体机通过SSH访问基于VM安装的Linux
- CentOS 6.5下搭建hadoop 2.6.0集群(三):SSH无密码验证配置
- (五)hadoop系列之__集群搭建SSH无密访问多台机器
- Hadoop集群搭建的密钥配置SSH实现机制的配置(2)
- 搭建Hadoop分布式集群------SSH无密码验证配置
- hadoop再次集群搭建(2)-配置免秘钥ssh登录
- Hadoop完全分布式集群搭建手记(CentOS6.7+Hadoop2.6手把手胸贴胸详细版)
- Hadoop集群搭建之SSH无密码登录配置错误解析