搜ijsio 发表于 2016-12-5 08:39:28

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]
查看完整版本: hadoop使用随记3