zoukankan      html  css  js  c++  java
  • 1.Hadoop初步环境搭建(ssh无密码通信)

    一、初步环境搭建

    1在Windows 7上安装VMware虚拟机(VMware-workstation-full-9.0.2),VMware Workstation下载地址:

    https://my.vmware.com/cn/web/vmware/details?downloadGroup=WKST-902-WIN&productId=293&rPId=3526


    注意:不要安装到C盘,找一个磁盘剩余空间较大的盘安装。

    2在VMvare中装三台Ubuntu机器(我们使用的是ubuntu-14.10-desktop),每台机器分配1G或2G的内存,Ubuntu下载地址:

    http://www.ubuntu.org.cn/download/desktop/alternative-downloads

    在虚拟机中分别安装这三台机器

    分别命名为 master,slave1,slave2

    3分别在三台Ubuntu机器中设置root用户机器密码,以后每次登录的时候都是用root用户登录,具体设置方式如下:

    sudo -s进入 root用户权限模式

    wpsEB80.tmp

    安装vim

    输入命令apt-get install vim

    设置root登陆

    sudo vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

    wpsEB90.tmp

    wpsEB91.tmp

    在弹出的编辑框里输入:

    greeter-show-manual-login=true 保存关闭

    wpsEB92.tmp

    接着在终端中输入:sudo passwd root

    wpsEB93.tmp

    三台机器修改后,再次登录系统的时候用root用户登录:

    wpsEB94.tmp

    4在三台Ubuntu机器上安装Java,在这里我们使用的是jdk1.7.0_67(下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html )

    wpsEB95.tmp

    下载tar.gz文件

    打开终端,建立新目录“/usr/lib/java”,如下图所示:

    wpsEB96.tmp

    把下载的JDK文件移到刚刚创建的目录中

    wpsEBA7.tmp

    解压JDK文件

    wpsEBA8.tmp

    解压完成的文件目录如下图所示:

    wpsEBA9.tmp

    修改环境变量

    wpsEBAA.tmp

    进入配置文件,点i进入INSERT模式,在配置文件的最后加入如下代码,完成后ESC,:wq(保存并退出)

    wpsEBAB.tmp

    执行source命令使配置文件生效:

    wpsEBAC.tmp

    验证JAVA是否安装成功

    输入命令,java –version

    wpsEBAD.tmp

    三台Ubuntu机器分别出现上述信息就表明Java安装正确。

    5配置三台机器的/etc/hosts和/etc/hostname并安装ssh设置三台机器之间的无密码登录

    安装ssh

    Hadoop集群之间是通过ssh进行通信的,此时我们需要设置密码为空,从而免去每次通信时输入密码,安装如下

    wpsEBAE.tmp

    输入y继续,等待安装完成

    wpsEBBE.tmp

    注意:安装ssh若遇到如下错误

    E: Package has no installation candidate

    解决方法:

    输入

    sudo apt-get install update

    如果问题依然没有解决,则输入

    sudo apt-get install upgrade

    接着输入sudo apt-get install

    最后输入sudo apt-get install ssh即可

    安装ssh完成后启动服务

    /etc/init.d/ssh start

    wpsEBBF.tmp

    查看ssh是否正常启动

    wpsEBC0.tmp

    设置免密码登陆,生成私钥公钥

    ssh–keygen –t rsa –P “”

    wpsEBC1.tmp

    在/root/ssh中生成两个文件:id_rsa和id_rsa.pub,id_rsa为私钥,id_rsa.pub为公钥

    wpsEBD2.tmp

    我们将公钥id_rsa.pub追加到authorized_keys中,因为authorized_keys用于保存所有允许当前用户身份登录到ssh客户端用户的公钥内容:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    wpsEBD3.tmp

    现在查看是否能够进行ssh免密码登陆

    wpsEBD4.tmp

    输入yes继续

    wpsEBD5.tmp

    表明登陆成功,可以使用exit命令退出localhost

    wpsEBD6.tmp

    再次登陆进入localhost就不需要密码了

    wpsEBD7.tmp

    安装rsync

    wpsEBE8.tmp

    三台机器分别安装ssh并且设置完成后,分别修改三台机器的主机名称。

    在master上,进入/etc修改hostname文件

    wpsEBE9.tmp

    将主机名ubuntu修改为master,保存后退出

    wpsEBEA.tmp

    重启master,查看主机名是否修改成功

    重启命令为sudo reboot

    wpsEBEB.tmp

    查看主机名

    wpsEBEC.tmp

    在slave1上,进入/etc修改hostname文件

    wpsEBED.tmp

    将主机名ubuntu修改为slave1,保存后退出

    wpsEBEE.tmp

    重启slave1,查看主机名是否修改成功

    重启命令为sudo reboot

    wpsEBEF.tmp

    查看主机名

    wpsEBF0.tmp

    在slave2上,进入/etc修改hostname文件

    wpsEBF1.tmp

    将主机名ubuntu修改为slave2,保存后退出

    wpsEBF2.tmp

    重启slave2,查看主机名是否修改成功

    重启命令为sudo reboot

    wpsEBF3.tmp

    查看主机名

    wpsEBF4.tmp

    设置三台机器的IP对应关系,使得三台机器互相之间能够无密码通信

    首先,分别查看三台的IP地址:(ifconfig)

    master:如下可知master对应的ip为192.168.252.128

    wpsEC04.tmp

    slave1: 如下可知slave1对应的ip为192.168.252.129

    wpsEC05.tmp

    slave2:如下可知slave2对应的ip为192.168.252.130

    wpsEC16.tmp

    分别修改三台机器的/etc/hosts文件,将上述IP和机器名的对应关系进行配置

    以mater上的修改为例子:

    vim /etc/hosts

    wpsEC17.tmp

    wpsEC18.tmp

    将三台机器的IP和机器名对应关系添加进去,保存并退出

    wpsEC19.tmp

    配置完成后,使用ping命令查看三台机器是否正常通信

    master ping slave1和slave2

    wpsEC1A.tmp

    slave1 ping master和slave2

    wpsEC2A.tmp

    slave2 ping slave1和master

    wpsEC2B.tmp

    查看通信无误之后,我们开始设置三台机器的无密码通信

    在前面的步骤以及完成了各台机器自己的公钥私钥生成,现在需要将公钥私钥进行共享

    首先,我们将slave1和slave2上的公钥都copy到master节点上:

    wpsEC2C.tmp

    wpsEC3D.tmp

    现在可以看到master下面汇集了master自己的公钥、slave1的公钥、slave2的公钥

    wpsEC3E.tmp

    接下来将三个公钥都追加到authorized-keys中:

    wpsEC3F.tmp

    将matser的公钥信息authorized-keys复制到slave1和slave2的~/.ssh下

    复制完成后,在master上通过ssh登陆slave1

    wpsEC40.tmp

    在master用ssh登陆slave2

    wpsEC51.tmp

    用slave1登陆master和slave2,用slave2登陆master和slave1也是同理。

    由此我们完成了对三台机器的无密码通信。

    后半部分见下篇文章《Hadoop集群搭建》

  • 相关阅读:
    团队介绍与选题报告
    实验6:开源控制器实践——RYU
    二叉搜索树的2层结点统计 (25 分)
    2020团队程学设计天梯赛-总决赛
    口罩发放 (25 分)
    九宫格输入法
    检查密码
    暑期训练10-1010
    暑期训练09-1003
    数据结构之循环队列
  • 原文地址:https://www.cnblogs.com/dmyu/p/4639067.html
Copyright © 2011-2022 走看看