HADOOP(2)设置主机名(hostName)和免密码登陆

设置主机名(hostName )和SSH 免密码登陆修改主机名(hostName )为了方便起见,一般我们需要修改各节点的主机名hostName ,这样有助于我们区别该节点电脑的身份。默认安装后所有节

设置主机名(hostName )和SSH 免密码登陆

修改主机名(hostName )

为了方便起见,一般我们需要修改各节点的主机名hostName ,这样有助于我们区别该节点电脑的身份。默认安装后所有节点的系统内hostName 都是localhost.localdomain, 这样并不能方便我们后面的操作和配置。

接下去以Master 修改hostName 操作为例,说明详细步骤,Client1和Client2的修改操作雷同:

1,以root 身份登录Master,

然后用vi 修改/etc/sysconfig/network文件:vi /etc/sysconfig/network 将HOSTNAME=localhost.localdomain改成HOSTNAME=hadoopMaster

2,修改/etc/hosts文件,设置将hadoopMaster 解析为本机ip

vi 修改/etc/hosts文件文件:vi /etc/hosts

删除不需要的,添加192.168.0.150 hadoopMaster

,

3, 重启系统:shutdown -r now

重启后验证

hostName: hostname

结果显示hadoopMaster 为成功

验证域名解析:ping

hadoopMaster

结果显示 ·····form localhost(192.168.0.150为成功

这样我们就完成了Master 的hostName 修改,接下去Client1和Client2操作步骤雷同,不再重述。

4,在所有hostName 修改完成后,我们需修改所有节点的hosts 文件来保证大家都能互相用hostName 解析到对方的ip

A 修改Master , 在Master 下用vi 打开/etc/hosts: vi /etc/hosts

,

将127.0.0.1中hadoopMaster 删除,然后在后面最加 192.168.0.150 hadoopMaster

192.168.0.151 hadoopClient1

192.168.0.152 hadoopClient2

结果如图:

验证:ping hadoopClient1

如果 ·····form localhost(192.168.0.151)为成功 ping hadoopClient2

如果 ·····form localhost(192.168.0.152)为成功

这样就完成了Master 的域名解析修改工作

B. 修改Client1, 在Client1下用vi 打开/etc/hosts: vi /etc/hosts 将Client1和Client 的解析规则添加进去,即后面追加加入:

192.168.0.150 hadoopMaster

192.168.0.151 hadoopClient1

192.168.0.152 hadoopClient2

如图:

设置完成后

验证:ping hadoopMaster

如果 ·····form localhost(192.168.0.150)为成功 ping hadoopClient2

如果 ·····form localhost(192.168.0.152)为成功 这样就完成了Client1的域名解析修改工作

C. 修改Client2, 在Client2下用vi 打开/etc/hosts: vi /etc/hosts 将Client1和Client 的解析规则添加进去,即后面追加加入:

192.168.0.150 hadoopMaster

192.168.0.151 hadoopClient1

192.168.0.152 hadoopClient2

如图:

,

设置完成后

验证:ping hadoopMaster

如果 ·····form localhost(192.168.0.150)为成功

ping hadoopClient1

如果 ·····form localhost(192.168.0.151)为成功

这样就完成了Clien2的域名解析修改工作

SSH 免密码登陆

因为Hadoop 需要通过SSH 登录到各个节点进行操作,我们一般情况下不是直接用root 身份来安装hadoop 的,实际上生产环境中root 权限是不容易拿到的,很常规的是我们会特地的设一个hadoop 用户,为了安全起见并设置密码,所以我们接下去要实现以下几个目标: 1,为所有的节点电脑都设置一个hadoop 用户,及设置密码

2,为Master 节点设置能够用hadoop 用户免密码登陆本机,之所有这样做是因为我们是计划吧NameNode 和JobTrack 都放在同一台电脑即Master 上,所以我们要实现Master 用hadoop 用户免密码登陆自己。 3,为Master 节点设置能够用hadoop 用户ssh 免密码登陆Client1和Client2, 因为Client1和Client2上要安装的是dataNode 和TaskTrack

,

为所有节点创建hadoop 用户:

以Master 为例:

用root 身份登录Master ,

用useradd 命令创建hadoop 用户:useradd hadoop

然后用passwd 命令为hadoop 用户设置密码:passwd hadoop

然后测试用新建的hadoop 用户即密码登录系统,如果成功,就完成了用户添加工作。其他两个节点以同样的步骤创建hadoop 用户,不再累述。

Master 节点设置能够用hadoop 用户免密码登陆本机 以root 身份登录

由于是最小化安装,默认连ssh 客户端都没有转,

先用yum 命令安装ssh 客户端:yum -y install openssh-clients

安装完后转用hadoop 身份:su hadoop

然后以hadoop 身份用生成公钥和私钥:ssh-keygen -t rsa

此过程中有提示,直接回车就行了。

完成后我们在/home/hadoop/.ssh/目录下就能看到生成了公钥和私钥:

,

接着我们将公钥写入authorized_keys文件:

cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys 修改权限:chmod 600 authorized_keys

测试是否要密码:ssh hadoopMaster

(第一次需要输入yes ,以后就不用了)

如果能登录,就ok 了

为Master 节点设置能够用hadoop 用户ssh 免密码登陆Client1和Client2

以下操作为让所有节点都能免密码互访,即Master 能免密码登陆clinet1,相反client1也能免密码登陆master, 他们都用hadoop 用户互相密码登陆,同样Master 和client2也是如此

Client1设置

以root 登陆

因为最小化安装,所以先转ssh 客户端:yum -y install openssh-clients

安装完后转用hadoop 身份:su hadoop

然后以hadoop 身份用生成公钥和私钥:ssh-keygen -t rsa

此过程中有提示,直接回车就行了。

然后将公钥上传到Master:

scp /home/hadoop/.ssh/id_rsa.pub hadoop@hadoopMaster:/home/hadoop/.ssh/id_rsa.pubClient1

,

然后会提示输入Master 机上hadoop 用户密码,正确输入后就开始上传

Client2设置

以root 登陆

因为最小化安装,所以先转ssh 客户端:yum -y install openssh-clients

安装完后转用hadoop 身份:su hadoop

然后以hadoop 身份用生成公钥和私钥:ssh-keygen -t rsa

此过程中有提示,直接回车就行了。

然后将公钥上传到Master:

scp /home/hadoop/.ssh/id_rsa.pub hadoop@hadoopMaster:/home/hadoop/.ssh/id_rsa.pubClient2 然后会提示输入Master 机上hadoop 用户密码,正确输入后就开始上传

最后设置Master

以hadoop 用户登陆

转到hadoop 用户的.ssh 目录:cd /home/hadoop/.ssh

将Client1传过来的id_rsa.pubClient1追加到authorized_keys:

cat /home/hadoop/.ssh/id_rsa.pubClient1 >> /home/hadoop/.ssh/authorized_keys

将Client2传过来的id_rsa.pubClient2追加到authorized_keys:

cat /home/hadoop/.ssh/id_rsa.pubClient2 >> /home/hadoop/.ssh/authorized_keys

传给Client1 追加完成后将authorized_keys传给Client1和Client2:

scp /home/hadoop/.ssh/authorized_keys hadoop@hadoopClient1:/home/hadoop/.ssh/authorized_keys

传给Client2

scp /home/hadoop/.ssh/authorized_keys hadoop@hadoopClient2:/home/hadoop/.ssh/authorized_keys

传完后在Master 测试是否要密码:

,

至此,免密码登陆准备工作完成

标签: