zoukankan      html  css  js  c++  java
  • hadoop集群搭建(伪分布式)+使用自带jar包计算pi圆周率

    一.使用VMvare创建两个虚拟机,我使用的是ubuntu17版本的,并关闭全部虚拟机的防火墙

    1.我们把用于主节点的虚拟机名称设为master(按自己的喜好创建),把用于从节点的虚拟机名称设为slave1

    •   修改主机名的命令:sudo vim /etc/hostname
    •  把原主机名ubuntu改为master(在从主机上则改为slave1)     

      2.为了虚拟机之间能ping通,需要修改虚拟机的ip地址(这里以在master机器操作为例子,从节点的虚拟机也要进行一致的操作)

    •  命令:sudo vim /etc/hosts

      把/etc/hosts中yangcx-virtual-machine修改为刚刚改过的主机名master,同时将前面的ip地址改为实际的ip地址

      怎么知道自己虚拟机的ip地址?

      命令:ifconfig -a

      slave1的ip地址就是从虚拟机slave1的真实ip地址。同样,我们在slave1虚拟机上也要进行这一步操作。

    二、建立ssh无密码登录本机

    ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。

    1、创建ssh-key,,这里我们采用rsa方式

    1. ssh-keygen -t rsa -""   //(P是要大写的,后面跟"")(注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)

        2. 进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的

      1. cd ~/.ssh
      2. cat id_rsa.pub >> authorized_keys

        完成后就可以无密码登录本机了。

         3、登录localhost

          ssh localhost ( 注:当ssh远程登录到其它机器后,现在你控制的是远程的机器,需要执行退出命令才能重新控制本地主机。)

       4、执行退出命令

      1. exit

          1~4步在master和slave1两台虚拟机上都要配置

        5.配置master无密码登陆slave1

          mater主机中输入命令复制一份公钥到home中:

              cp .ssh/id_rsa.pub ~/id_rsa_master.pub

          把master的home目录下的id_rsa_master.pub拷到slave1的home下(我的做法是先拖到windows桌面上,在拖进slave1虚拟机中)

          slave1的home目录下分别输入命令

              cat id_rsa_master.pub >> .ssh/authorized_keys
      至此实现了mater对slave1的无密码登陆
    三. 配置 hadoop的配置文件

    以下的步骤只在master上进行(除了hadoop的环境变量配置在slave1上也要进行之外)

    1.core-site.xml

      <configuration>
        <property>
          <name>hadoop.tmp.dir</name>
          <value>file:/home/zjp/hadoop-2.7.7/tmp</value>
          <description>Abase for other temporary directories.</description>
        </property>
        <property>
          <name>fs.defaultFS</name>
          <value>hdfs://master:9000</value>
        </property>
      </configuration>

    2.hdfs-site.xml

      <configuration>
      <property>
          <name>dfs.replication</name>
          <value>1</value>
        </property>
        <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/home/zjp/hadoop-2.7.7/tmp/dfs/name</value>
        </property>
        <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:/home/zjp/hadoop-2.7.7/tmp/dfs/data</value>
        </property>
      </configuration>

    3.mapred-site.xml

      <configuration>

        <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
        </property>
        <property>
          <name>mapred.job.tracker</name>
          <value>localhost:9001</value>
        </property>
      </configuration>

    4.yarn-site.xml

      <configuration>

        <!-- Site specific YARN configuration properties -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>master:8088</value>
        </property>

        <!-- 会遇到资源不足的问题。出于测试目的,禁用内存检查如下两条配置语句-->

        <property>
            <name>yarn.nodemanager.pmem-check-enabled</name>
            <value>false</value>
        </property>

        <property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
        </property>
      </configuration>

    5.配置slaves 文件

        sudo vim slaves

        把原本的localhost删掉,改为slave1  

    6.接下来,将hadoop传到slave1虚拟机上面去:

        scp -r hadoop-2.7.7 zjp@slave1:~/

      注意:hadoop是虚拟机的用户名,创建slave1时设定的

    7.初始化hadoop

      bin/hdfs namenode -format

    8.开启hadoop

      两种方法:

    • sbin/start-all.sh
    • 先start-dfs.sh,再start-yarn.sh

    如果在mater上面键入jps后看到

    在slave1上键入jps后看到

    则说明集群搭建成功

     四.最后用自带的样例测试hadoop集群能不能正常跑任务

    使用命令

    bin/hadoop jar /home/zjp/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 10 10

    最后看到结果:

     

     参考:https://blog.csdn.net/fanxin_i/article/details/80425461

  • 相关阅读:
    ES6获取页面所有页面标签名
    改变this对象的指向
    构造函数及原型
    全局对象this转为局部对象
    节点注意的问题
    Spark研究笔记17:设置 CVT
    Spark研究笔记15:资源 CVT
    Spark研究笔记13:Swing 组件类 CVT
    Spark研究笔记16:搜索 CVT
    Spark研究笔记19:插件体系开发 CVT
  • 原文地址:https://www.cnblogs.com/jingpeng77/p/9652380.html
Copyright © 2011-2022 走看看