Hadoop3-伪分布式模式安装

今天无意间看到Hadoop3去年年底就release了,今天就准备装个环境看看。

安装配置

首先从下面的地址下载安装包

这里我下载的是hadoop-3.0.0.tar.gz包,解压安装。

$ tar zxvf hadoop-3.0.0.tar.gz
$ cd hadoop-3.0.0/

编辑etc/hadoop/hadoop-env.sh文件,设置JAVA_HOME环境变量,

export JAVA_HOME=/opt/jdk8

修改配置文件 core-site.xml

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

修改配置文件 hdfs-site.xml,因为是伪分布式模式,所以设置复制为1。

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

运行 HDFS

格式化 HDFS

第一次启动 HDFS 时,需要做一次格式化才行。

$ bin/hdfs namenode -format

启动 HDFS

$ sbin/start-dfs.sh

启动 HDFS 后,可以通过浏览器访问下面的地址查看HDFS状态。

运行 MapReduce 作业

先创建当前用户在 HDFS 中的家目录,如下

$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>

准备数据,运行测试并查看结果

$ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar grep input output 'dfs[a-z.]+'
$ bin/hdfs dfs -cat output/*

删除上面测试结果

$ bin/hdfs dfs -rm output/*
$ bin/hdfs dfs -rmdir output/

停止 HDFS

$ sbin/stop-dfs.sh

运行 YARN

修改 etc/hadoop/mapred-site.xml 文件

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
      <name>yarn.app.mapreduce.am.env</name>
      <value>HADOOP_MAPRED_HOME=/apps/hadoop-3.0.0</value>
    </property>
    <property>
      <name>mapreduce.map.env</name>
      <value>HADOOP_MAPRED_HOME=/apps/hadoop-3.0.0</value>
    </property>
    <property>
      <name>mapreduce.reduce.env</name>
      <value>HADOOP_MAPRED_HOME=/apps/hadoop-3.0.0</value>
    </property>
</configuration>

修改 etc/hadoop/yarn-site.xml 文件

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

启动 YARN

$ sbin/start-yarn.sh

启动后可以通过下面地址查看作业请求

运行 MapReduce 作业

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar grep input output 'dfs[a-z.]+'
$ bin/hdfs dfs -cat output/*

停止 YARN

$ sbin/stop-yarn.sh
http://192.168.0.192:8088/cluster

问题

在测试YARN的过程中,开始总出现类似下面的错误,导致作业都运行失败

[2018-01-30 22:40:02.211]Container [pid=22658,containerID=container_1517369701504_0003_01_000028] is running beyond virtual memory limits. Current usage: 87.9 MB of 1 GB physical memory used; 2.6 GB of 2.1 GB virtual memory used. Killing container.

最后发现是机器内存不够,导致yarn的配置在我的机器上不合理,所以修改了一下 etc/hadoop/yarn-site.xml 文件,添加下面两个配置项目,然后重启yarn就可以了。

 <property>
   <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    <description>Whether virtual memory limits will be enforced for containers</description>
  </property>
 <property>
   <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>4</value>
    <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description>
  </property>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SQL中GROUP BY用法示例

    GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

    Awesome_Tang
  • 【系统设置】CentOS 修改机器名

    ken.io
  • 考研英语-1-导学

    英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

    用户1335799
  • 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

    从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

    haifeiWu
  • 不只是软件,在线也可以免费下载百度文库了。

    不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

    课代表
  • 知识体系解决迷茫的你

    最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

    桃翁
  • ISUX Xcube智能一键生成H5

    腾讯ISUX
  • 【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

    腾讯高校合作
  • 理工男图解零维到十维空间,烧脑已过度,受不了啦!

    让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

    钱塘数据
  • 中国互联网协会发布:《2018中国互联网发展报告》

    在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

    钱塘数据

扫码关注云+社区

领取腾讯云代金券