Ubuntu 17.04下搭建Hadoop伪分布式集群(2)

    在/etc/profile文件中加入以下内容:
    export HADOOP_HOME=/opt/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source /etc/profile

  4)使用hadoop version命令测试是否配置成功

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

 

3.2、配置hadoop

  配置文件存放在/opt/hadoop/etc/hadoop中有n多个文件,暂时我们只需要修改的只有5个

  1)hadoop-env.sh

    大约在25行左右   

  export JAVA_HOME=${JAVA_HOME}改成export JAVA_HOME=/opt/jdk

    

    注意:在配置文件中有提示我们怎么设置,我们一般不删除,二回选择注释它的提示。

  2)core-site.xml 

      <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://1.0.0.5:9000</value> </property> </configuration>

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  分析:1.0.0.5是你主节点所在主机的ip,而9000为端口

  3)hdfs-site.xml

<configuration> <property> <name>dfs.nameservices</name> <value>hadoop-cluster</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///data/hadoop/hdfs/nn</value> </property> <property> <name>dfs.namenode.ch eckpoint.dir</name> <value>file:///data/hadoop/hdfs/snn</value> </property> <property> <name>dfs.namenode.checkpoint.edits.dir</name> <value>file:///data/hadoop/hdfs/snn</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///data/hadoop/hdfs/dn</value> </property> </configuration>

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  4)mapred-site.xml

    在hadoop的相关目录中没有此文件,但是有一个mapred-site.xml.template文件,将该文件复制一份为mapred-site.xml

    cp mapred-site.xml.template mapred-site.xml

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  5)yarn-site.xml

<configuration> <!-- 指定ResourceManager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>1.0.0.5</value> </property> <!-- 指定reducer获取数据的方式--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.local-dirs</name> <value>file:///data/hadoop/yarn/nm</value> </property> </configuration>

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  7)创建相关目录

sudo mkdir -p /data/hadoop/hdfs/nn sudo mkdir -p /data/hadoop/hdfs/dn sudo mkdir -p /data/hadoop/hdfs/snn sudo mkdir -p /data/hadoop/yarn/nm

   注意:  

    如果使用sudo启动hadoop的相关进程,这几目录的权限可以不用管
    如果是使用当前的用户启动相关进程,对于opt目录,当前用户得有读写权限,对于/data目录也需要读写权限

   遇到问题:

      笔者就是在这个目录权限的问题吃el很大得亏。首先为了不使用sudo我将/data目录的权限修改为777,然后进行

      HDFS集群格式化的时候,出现:

        

Ubuntu 17.04下搭建Hadoop伪分布式集群

      这时我在想为什么呢?原来我只是给data目录设置了读写权限,但是没有给它的子目录设置读写权限。所以:    

        chmod -R 777 /data 递归设置权限

  8)对HDFS集群进行格式化,HDFS集群是用来存储数据的。  

    hdfs namenode -format

 

3.3、启动集群

  1)启动HDFS集群      

    hadoop-daemon.sh start namenode 启动主节点
    hadoop-daemon.sh start datanode 启动从节点

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  2)启动YARN集群

    yarn-daemon.sh start resourcemanager
    yarn-daemon.sh start nodemanager

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  3)启动作业历史服务器

    mr-jobhistory-daemon.sh start historyserver

    

  4)jps命令查看是否启动成功

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  5)HDFS和YARN集群都有相对应的WEB监控页面

    HDFS::50070

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

    YARN::8088

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  6)HDFS集群的简单操作命令

    hdfs dfs -ls /

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

    hdfs dfs -mkdir -p /user/zyh

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  7) YARN集群的操作----提交任务/作业

    计算PI值的作业:
    yarn jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar pi 4 100

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

四、一个问题

我之前没有注意发现我的yarn的从节点没有启动起来,在执行计算PI值的时候没有成功才看到:

  

Ubuntu 17.04下搭建Hadoop伪分布式集群

查看日志发现是配置文件:

  在hdfs-site-web.xml中:

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  查看:50070可以查看从节点是否启动:

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  在执行上面使用yarn集群来计算pi值得命令:

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  查看:8088可以看出计算pi值得任务正在执行:

    

Ubuntu 17.04下搭建Hadoop伪分布式集群

  最后成功:

     这里就截图了,电脑卡住了,上图中在web页面可以查看到任务执行成功,终端中会显示执行结果!  

Hadoop2.3-HA高可用集群环境搭建 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/88faafb04a0ae2d5fd95cd588a4d6c86.html