设为首页 加入收藏

TOP

hadoop下ssh的配置
2014-11-24 03:05:25 来源: 作者: 【 】 浏览:1
Tags:hadoop ssh 配置
centos 系统自带ssh,版本为openssh4.3
免密码ssh设置(合适的权限很重要)
登入hadoop账户,建立ssh文件夹 mkdir .ssh
现在确认能否不输入口令就用ssh登录本机:
$ ssh namenode
如果不输入口令就无法用ssh登陆namenode,执行下面的命令:
$ ssh-keygen -t rsa –f ~/.ssh/id_rsa
回车设置密钥,可以设置一个密钥,也可以设置为空密钥。但是安全起见,设置密钥为hadoop,下面利用ssh-agent来设置免密钥登陆集群中其他机器。
私钥放在由-f选项指定的文件之中,例如~/.ssh/id_rsa。存放公钥的文件名称与私钥类似,但是以’.pub’为后缀,本例为~/.ssh/id_rsa.pub
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将ssh密钥存放在namenode机器的~/.ssh/authorized_keys文件中。
再用scp命令将authorized_keys和id_rsa.pub分发到其它机器的相同文件夹下,例如,将authorized_keys文件分发给datanode1机器的.ssh文件夹的命令为:
$scp ~/.ssh/id_dsa.pub hadoop@datanode1:/home/hadoop/.ssh
到datanode1机器上 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
理论上要将公钥发放给各机器然后再各个机器上生成authorized_keys文件,实际上直接分发authorized_keys文件也可以
然后赋予文件权限,赋予各机器的.ssh文件夹权限为711,authorized_keys的权限为644。过高的权限不能通过ssh-add命令,过低的权限无法实现免密码登录。
添加ssh-agent:
$eva l `ssh-agent -s` 注意这里是反引号
输入命令
$ssh-add,输入id_rsa私钥的密码。
为了使ssh-agent自动运行,将它写到profile中,在/etc/profile.d下新建ssh-agent.sh文件:
$sudo gedit /etc/profile.d/ssh-agent.sh
将以下语句加入
#!/bin/sh
if [ -f ~/.agent.env ]; then
. ~/.agent.env >/dev/null
if ! kill -0 $SSH_AGENT_PID >/dev/null 2>&1; then
echo "Stale agent file found. Spawning new agent..."
eva l `ssh-agent |tee ~/.agent.env`
ssh-add
fi
else
echo "Starting ssh-agent..."
eva l `ssh-agent |tee ~/.agent.env`
ssh-add
fi
这样就不会生成太多的ssh-agent程序,而且支持GUI环境。打开终端:
Stale agent file found. Spawning new agent...
Agent pid 2543
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
添加了新的密钥。
这一切都操作完了后
$ ssh datanode1
实验是否已经可以免密码登录datanode1
对于jobtracker,由于也作为master,所以可以利用相同的密钥也存放在authorized_keys的文件中,而将公钥分发给各机器后,添加到authorized_keys中,分发的机器名存放在know_hosts文件下,这样也可以通过jobtracker机器免密钥登录集群的其他机器。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在查询结果中添加自增列的两种方法 下一篇ubuntu下mongodb安装

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)
·索引堆及其优化 - 菜 (2025-12-24 20:18:50)
·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)