hadoop使用随记3
接《随记2》由于随记2中提到的root用户启动是会产生错误的,因此我在集群中的每台机器都添加了一个hadoop用户,以下所讲的都是在hadoop用户下的操作
添加hadoop用户
ssh root用户登录集群中的每台机器,建立hadoop用户
root@localhost:~>useradd hadoop -d /home/hadoop(建立/home/hadoop目录为hadoop用户的主目录)
root@localhost:~> passwd hadoop
输入密码(两次)
一下步骤都是以hadoop登录各服务器
1、双向打通集群主节点(master)和各集群节点(slaves)的ssh免密码登录
(1)打通集群主节点(master server)的本机免密码ssh登录
hadoop@localhost:~>ssh-keygen -t rsa
询问保存路径时直接回车采用默认路径
提示要为生成的密钥输入passphrase的时,直接回车,将其设定为空密码
生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/hadoop/.ssh目录下。
hadoop@localhost:~>cd .ssh
hadoop@localhost:~/.ssh>cat id_rsa.pub >> authorized_keys(将id_rsa.pub 内容复制到authorized_keys文件)
测试:
hadoop@localhost:~>ssh localhost
如果可以免密码登录,说明本机已经打通
(注:如果不能打通,还需要输入密码,在suse linux中可以尝试使用命令chmod 644 authorized_keys修改authorized_keys文件权限即可,在redhat中使用命令chmod 600 authorized_keys修改authorized_keys文件权限即可)
(2)、打通集群主节点和各集群节点的免密码ssh登录
将集群主节点(master Server)中产生的authorized_keys分别copy到各个datanode(集群节点)的/home/hadoop/.ssh目录(即hadoop用户目录/.ssh目录,如果没有则分别使用mkdir .ssh进行建立)下即可将集群主节点(master)对集群节点(slave)免密码ssh登录(集群主节点(master)可以免密码ssh登录各集群节点(slave),反之还不行)
(3)、在各集群节点上(slave上)采用步骤(1)的方式将各集群节点(slave)本机打通
(注:cat id_rsa.pub >> authorized_keys为追加方式,此时各集群节点中authorized_keys文件内容为集群主节点authorized_keys文件内容+本机id_rsa.pub 文件内容)
(4)、将各集群节点(slave)id_rsa.pub 文件内容一一追加到集群主机点(master)authorized_keys文件中去即可将集群主节点和各集群机点打通(ssh免密码登录)
如:先采用scp命令将集群各节点产生的id_rsa.pub 复制到集群主节点上,然后使用cat id_rsa.pub >> authorized_keys命令一一追加到集群主节点的authorized_keys文件中
此时进行测试是否可以双向登录免密码。集群主节点:ssh 集群节点1ip地址,各集群节点:ssh 集群主节点ip地址
(特别注意:如果不能打通,还需要输入密码,在suse linux中可以尝试使用命令chmod 644 authorized_keys修改authorized_keys文件权限即可,在redhat中使用命令chmod 600 authorized_keys修改authorized_keys文件权限即可)
页:
[1]