• Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点


    以下所介绍的安装方式都是在线安装方式,如果你需要连网请参考:Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案

    • 环境:

    OS:Linux Ubuntu14.04 Server X64;

    服务器列表:

    192.168.1.200 master

    192.168.1.201 node1

    192.168.1.202 node2

    192.168.1.203 node3

    • 安装SSH服务

    测试是否安装了SSH:

    sudo ps -e | grep ssh

    如果返回包含sshd的进程,就表示已经安装过openssh-server服务,否则未安装。

    安装openssh-server服务:

    sudo apt-get install openssh-server

    如果提示安装失败,请执行更新命令:

    sudo apt-get update

    不过本人在更新过程中遇到问题,执行安装ssh也出现问题:Package openssh-server is not available, but is referred to by another package.

    解决方案请参考:Linux:安装OpenSSH-Server E:Package openssh-server has no installation candidate

    ssh 服务操作命令:

    备注:

    为了实现各个子节点都可以使用putty连接,把Master,node1,node2,node3都安装了ssh服务。

    而事实上,要是master可以无密码登录各个子节点,其他子节点(node1,node2,node3)也必须安装ssh服务。

    • 为Master机器配置SSH无密码登录

    1)设置master的ssh为无需密码自动登录

    切换到hadoop账户下(保证用户hadoop可以无需密码登录,应为我们后边安装hadoop属于的账户是hadoop账户)

    su - hadoop
    cd /home/hadoop
    ssh-keygen -t rsa

    然后会遇到三次让输入的时候,第一次直接回车,第二次和第三次分别是:让输入密码和确认密码,我们这里是要实现无密码登录。所以以上三次输入都直接回车,不设置什么密码,也就是空密码登录。

    2)之后再/home/hadoop/下会产生一个.ssh的文件夹;ls查看:

    3)将公钥追加到authorized_keys文件中

    cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

    4)master本机使用ssh localhost测试:

    第一次会提示是否“Are you sure you want to continue connecting(yes/no)?”,直接输入yes,下一次输入ssh localhost就不会在提示了。

    5)修改各个节点(master,node1,node2,node3)的hosts:

    统计添加如下host列表:

    目的,为后边实现ssh连接使用,不用输入ip,使用机器名就可以。

    6)为了确保master可以无需密码自动登录到node1,node2和node3,现在node1,node2和node3上生成authorized_keys。

    (依次为三个子节点node1,node2,node3)执行命令:

    su hadoop
    cd /home/hadoop
    ssh-keygen -t rsa

    一路回车,和master安装方式一样。

    7)复制master上的authorized_keys到三个子节点上(node1,node2,node3):

    首先,为了避免权限问题,我们可以事先设置文件和目录权限:

    #设置authorized_keys权限
    $ chmod 600 authorized_keys 
    #设置.ssh目录权限
    $ chmod 700 -R .ssh

    然后拷贝master上的authorized_keys到三个子节点上(node1,node2,node3)

    这里会提示输入密码,输入hadoop账号密码就可以了。
    8)测试:ssh node1、ssh node2和ssh node3(第一次需要输入yes)

    如果不需要输入密码,就表示配置成功,否则配置失败。

    参考资料:

     ssh-keygen 的 详解              :http://blog.csdn.net/wh_19910525/article/details/7433164

    Hadoop集群配置(最全面总结):http://blog.csdn.net/hguisu/article/details/7237395

  • 相关阅读:
    VB.Net常用数学函数整理
    VB6转换C#2010步骤及工具
    通用MD5加密演示
    一行代码解决VB.NET中Dialog窗体销毁不刷新主窗体
    JavaScript中defer 和onload的执行顺序
    XML读取事例程序
    C#正则表达式使用指引
    使用Response.ContentType 来控制下载文件的类型
    重载、重写的简易解释
    西历转和历函数
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/5878859.html
Copyright © 2020-2023  润新知