开启ssh服务
1)采用“$sudoapt-getinstallopenssh-server”命令安装openssh-server
在自动安装openssh-server时,首先进行sudoapt-getupdate操作。可以在Windows下用SSHSecureShellClient测试。
2)建立ssh无密码登录
(1)在NameNode上实现无密码登录本机,代码如下。
$ssh-keygen-td sa-P''-f~/.ssh/id_dsa
该命令执行后,会在用户目录~/.ssh/下形成两个文件:id_dsa和id_dsa.pub。这两个文件是成对出现的,它们的作用类似于钥匙和锁。接下来把id_dsa.pub文件追加到授权key(authorized_keys)里,代码如下。
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
上述操作完成后就可以实现无密码登录本机了,通过“ssh localhost”命令登录本机,代码如下。
$ ssh localhost
(2)实现NameNode无密码登录其他DataNode。
NameNode无密码登录其他DataNode的实现方法:把NameNode中的id_dsa.pub文件通过scp命令追加到其他DataNode的authorized_keys文件内。以192.166.0.3节点为例,操作如下。
① 复制NameNode的id_dsa.pub文件。
$ scp id_dsa.pub ccwan@192.166.0.3:/home/ccwan/
② 登录192.166.0.3,把id_dsa.pub文件追加到授权key。
$ cat id_dsa.pub >> .ssh/authorized_keys
其他的DataNode执行同样的操作,把id_dsa.pub文件追加到授权key。
注意:配置完毕后,如果存在NameNode不能访问DataNode的问题,可以通过修改DataNode中的authorized_keys来解决。代码如下。
$chmod600 authorized_keys
学员评价