• Hadoop 分布式环境搭建


    1.集群机器:

    1台 装了 ubuntu 14.04的 台式机

    1台 装了ubuntu 16.04 的 笔记本     (机器更多时同样适用)

    搭建步骤:

    准备工作:

    使两台机器处于同一个局域网:相互能够 ping 通

          主机名称                     IP地址
    soyo-VPCCB3S1C   192.168.1.130   (master-->namenode)
    soyo-slave01        192.168.1.126        (datanode)

    想要更改主机名称的话:sudo vim /etc/hostname   之后重启

    之后两台机器都修改 /etc/hosts/ 设置为:

    2.配置ssh无密码登录本机和访问集群机器

    2台主机电脑分别运行如下命令,测试能否连接到本地localhost

    ssh localhost

    结果:这样说明没问题

    如果不能登录本地:

    1. sudo apt-get openssh-server
    2. ssh-keygen -t rsa -P ""             // 生成ssh公钥
    3. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys          // (authorized_keys 刚开始是没有的) SSH无密码登陆授权
      在保证了2台主机电脑都能连接到本地localhost后,还需要让master主机免密码登录slave01。在master执行如下命令,将master的id_rsa.pub传送给slave01主机。
      scp 是 secure copy 的简写,用于在 Linux 下进行远程拷贝文件,类似于 cp 命令,不过 cp 只能在本机中拷贝。
      scp ~/.ssh/id_rsa.pub soyo@soyo-slave01:/home/soyo/

       这个时候在soyo-slave01主机的/home/soyo/路径下可以找到 id_rsa.pub 这个文件

    1. 接着在slave01主机上将master的公钥加入各自的节点上,在soyo-slave01执行如下命令:
    2. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    3. rm ~/id_rsa.pub
    4. 配置完成

    3.在master(soyo-VPCCB3S1C)测试连接soyo-slave01节点:

     

    4.Hadoop分布式配置:

    hadoop而而配置文件都位于/usr/local2/hadoop/etc/hadoop目录下。

    总共要配置 5 个文件:slaves,core-site.xml,hdfs-site.xml,mapred-site.xml.template(复制后修改名字为mapred-site.xml),yarn-site.xml
    slaves:

    core-site.xml:

    hdfs-site.xml:

    mapred-site.xml

    yarn-site.xml

    这里如果不配置:

            <name>yarn.nodemanager.resource.memory-mb</name>
            <name>yarn.nodemanager.resource.cpu-vcores</name>

    soyo-slave01上的NodeManager无法启动

          memory-mb(可用内存大小) value:参照Linux分类的总结--> http://www.cnblogs.com/soyo/p/7908430.html

          cpu-vcores (CPU核数)      value:参照Linux分类的总结-->  http://www.cnblogs.com/soyo/p/7908365.html

    5.给节点分发Hadoop配置:

      当前路径为:/usr/local2

    tar -zcf ~/hadoop.tar.gz ./hadoop  
    (如果Hadoop之前被使用过最好删除 temp 和logs 再分发,每次删除这两个文件后,启动Hadoop前都需要执行:hdfs namenode -format 不然namenode会无法启动,这个下面有讲)

        cd  /home/soyo

    scp ./hadoop.tar.gz soyo-slave01:/home/soyo   (这里节点写成:soyo@soyo-slave01:/home/soyo 也可以)

    在soyo-slave01节点上执行:
    sudo tar -zxf ~/hadoop.tar.gz -C /usr/local2
    sudo chmod -R 777 hadoop

    6.启动Hadoop集群:

     任意路径下执行:

      hdfs namenode -format

       start-all.sh

    (想要在任意路径下可以启动Hadoop 需要配置:bashrc)

    vim ~/.bashrc:

     source ~/.bashrc

    7.查看Hadoop分布式是否搭建成功:

    在master节点:jps

    在 slave节点上:jps

    要保证master,slave 的shell中的进程都被启动(少一个都表示没有配置成功)

    8.分布式计算:

    首先创建 HDFS 上的数据存放目录

    hdfs dfs  -mkdir  -P  /user/soyo

    往HDFS中导入数据:

    hdfs dfs  -put /usr/local2/hadoop/etc/hadoop/*.xml /user/soyo

    执行:

    hadoop jar /usr/local2/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep /user/soyo /user/soyo_output 'dfs[a-z.]+'

    可以通过WEB页面查看HDFS上存储的数据以及计算的结果文件:soyo-VPCCB3S1C:50070 (直接浏览器输入这个网址)

    同样可以通过 Web 界面查看任务进度:soyo-VPCCB3S1C:8088 (直接浏览器输入这个网址)   如何yarn资源管理器启动失败这个网页是打不开的

    9.把计算结果保存到本地:

    hdfs dfs -get  /user/soyo_output  /home/soyo

    10.DataNode 节点负责保存HDFS上的 数据,那实质的计算过程也是由它做吗?(很无奈啊......图片是反的)

    DataNode:

    NameNode:

    可以看出计算的过程也是由DataNode来承担的

  • 相关阅读:
    DDoS deflate
    stm32串口
    王立平--GUI与GUILayout的差别
    DOM模型
    Android设计模式(十二)--抽象工厂模式
    Dynamics CRM 开启EmailRouter日志记录
    python in操作引发 TypeError
    为OLED屏添加GUI支持2:2D图形库
    Bloxorz I (poj 3322 水bfs)
    URAL 1823. Ideal Gas(数学啊 )
  • 原文地址:https://www.cnblogs.com/soyo/p/7868282.html
Copyright © 2020-2023  润新知