标签: hadoop2

运行mapreduce hadoop作业时,应用程序中没有显示应用程序?

我在用Hadoop2.2.我看到我的工作顺利完成.我可以浏览文件系统来查找输出.但是,当我浏览时http://NNode:8088/cluster/apps,我无法看到任何已完成的应用程序(我运行了3个wordcount作业,但这里没有看到它).

是否需要考虑任何配置?

在此输入图像描述

这里是 yarn-site.xml

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>NNode</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
<!--
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
-->
Run Code Online (Sandbox Code Playgroud)

这是mapred-site.xml:

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
Run Code Online (Sandbox Code Playgroud)

我也有运行作业历史服务器:

jps
4422 NameNode
5452 Jps
4695 SecondaryNameNode
4924 ResourceManager
72802 Jps
5369 JobHistoryServer
Run Code Online (Sandbox Code Playgroud)

hadoop-yarn hadoop2

6
推荐指数
1
解决办法
5321
查看次数

深入了解Map中地图阶段的内部工作会减少hadoop中的工作吗?

我正在读Hadoop: The definitive guide 3rd edtition汤姆怀特.它是理解内部的优秀资源Hadoop,尤其是Map-Reduce我感兴趣的内部.

从书中,(页205):

随机和排序

MapReduce保证每个reducer的输入按键排序.系统执行排序的过程 - 将映射输出作为输入传递给Reducer - 称为shuffle.

我从中推断出,在将键发送到reducer之前,它们被排序,表明作业的map阶段的输出被排序.请注意:我不称之为mapper,因为map阶段包括mapper(由程序员编写)和MR框架的内置排序机制.


地图方面

每个map任务都有一个循环内存缓冲区,用于将输出写入.默认情况下,缓冲区为100 MB,可以通过更改io.sort.mb属性来调整大小.当缓冲区的内容达到某个阈值大小(io.sort.spill.per,默认为0.80或80%)时,后台线程将开始将内容溢出到磁盘.在溢出发生时,地图输出将继续写入缓冲区,但如果缓冲区在此期间填满,则地图将阻塞,直到溢出完成.
在写入磁盘之前,线程首先将数据划分为与最终将被发送到的reducer相对应的分区.在每个分区中,后台线程按键执行内存中排序,如果有组合器函数,则在排序输出上运行.运行组合器功能可以实现更紧凑的映射输出,因此可以将更少的数据写入本地磁盘并传输到reducer.

我对上一段的理解是,当映射器生成键值对时,键值对被分区和排序.一个假设的例子:

考虑使用mapper-1进行字数统计:

>mapper-1 contents
partition-1
   xxxx: 2
   yyyy: 3
partition-2
   aaaa: 15
   zzzz: 11
Run Code Online (Sandbox Code Playgroud)

(请注意每个分区数据按键排序,但分区-1的数据和分区2的数据不必按顺序排序)


继续阅读本章:

每次内存缓冲区达到溢出阈值时,都会创建一个新的溢出文件,因此在映射任务写入其最后一个输出记录后,可能会有多个溢出文件.在任务完成之前,溢出文件将合并到单个分区和排序的输出文件中.配置属性io.sort.factor一次控制要合并的最大流数; 默认值为10.

我的理解是(请知道上面的段落中的粗体短语,欺骗了我):在map-task中,有几个文件可能会溢出到磁盘,但它们会合并到一个仍然包含分区并进行排序的文件中.考虑与上面相同的例子:

在单个map-task完成之前,其中间数据可以是:

mapper-1内容

spill 1:             spill 2:           spill 2:
    partition-1         partition-1        partition-1
                          hhhh:5       
       xxxx: 2            xxxx: 3             mmmm: 2
       yyyy: 3            yyyy: 7             yyyy: 9 

    partition-2         partition-2        partition-2
       aaaa: 15           bbbb: 15 …
Run Code Online (Sandbox Code Playgroud)

sorting hadoop mapreduce hadoop2

6
推荐指数
1
解决办法
2506
查看次数

Hadoop Balancer命令WARN消息 - 超出了线程配额

我正在尝试运行Hadoop balancer命令,如下所示:
hadoop balancer -threshold 1
但是我收到几条WARN消息

无法将大小= 134217728的blk_1073742036_1212从192.168.30.4:50010移动到192.168.30.2:50010到192.168.30.4:50010:块移动失败:无法从/192.168.10.3:53115接收块1073742036,因为超出了线程配额.

并且最后......
没有块被移动了5次迭代.退出...平衡需要4.092883333333333分钟

我设置ulimit值如下:

核心文件大小(块,-c)0
数据seg大小(kbytes,-d)无限制
调度优先级(-e)0
文件大小(块,-f)无限制
挂起信号(-i)2065455
最大锁定内存(kbytes, - l)无限
最大内存大小(千字节,-m)无限制
打开文件(-n)64000
管道大小(512字节,-p)8
POSIX消息队列(字节,-q)819200
实时优先级(-r)0
堆栈size(kbytes,-s)10240
cpu time(seconds,-t)无限制
最大用户进程数(-u)65535
虚拟内存(kbytes,-v)无限制
文件锁(-x)无限制

但我仍然得到同样的错误.

有人可以给我一些建议.感谢您的帮助.

hadoop2

6
推荐指数
1
解决办法
4317
查看次数

HDFS错误放置:`input':没有这样的文件或目录

我已经安装了hadoop 2.6.0,我正在玩它.我正在尝试伪分布式设置,我正按照http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Execution上的说明 我被卡住了在第5步,即当我运行命令时

  bin/hdfs dfs -put etc/hadoop input
Run Code Online (Sandbox Code Playgroud)

我得到以下错误.

15/02/02 00:35:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
put: `input': No such file or directory
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误?我该如何解决?

hadoop mapreduce hdfs hadoop2

6
推荐指数
2
解决办法
2万
查看次数

将静态数据集与DStream连接时出现Spark检查点错误

我试图在Java中使用Spark Streaming应用程序.我的Spark应用程序使用textFileStream()以每1 分钟的间隔从Hadoop目录读取连续的feed .我需要对传入的DStream执行Spark聚合(分组依据)操作.聚合后,我汇总接合DStream<Key, Value1>RDD<Key, Value2>RDD<Key, Value2>由读取静态数据集创建()文本文件从Hadoop的目录.

启用检查点时会出现问题.使用空检查点目录,它运行正常.运行2-3批后,我用ctrl+ 关闭它c并再次运行.在第二次运行时,它会立即抛出火花异常:"SPARK-5063"

Exception in thread "main" org.apache.spark.SparkException: RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map(x => rdd2.values.count() * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063
Run Code Online (Sandbox Code Playgroud)

以下是火花应用代码块:

private void compute(JavaSparkContext sc, …
Run Code Online (Sandbox Code Playgroud)

java apache-spark hadoop2 spark-streaming

6
推荐指数
0
解决办法
420
查看次数

如何在hadoop工作中优化改组/排序阶段

我正在使用单节点hadoop作业进行一些数据准备.我工作中的映射器/合并器输出许多键(超过5M或6M),显然作业进展缓慢甚至失败.映射阶段最多可运行120个映射器,并且只有一个reducer(这些是自动确定的,我没有为它们设置任何值).我想优化工作,以便更有效地进行洗牌/分拣阶段.我增加到mapreduce.task.io.sort.mb300米,但工作失败,因为它的值大于映射器堆.然后我设置mapred.child.java.opts为-Xmx1024m,但它再次失败,因为它无法初始化输出收集器.这些方案的最佳实践是什么?

hadoop mapreduce hadoop2

6
推荐指数
2
解决办法
1万
查看次数

将CSV文件导入Hadoop

我是Hadoop的新手,我有一个文件通过命令行导入hadoop(我通过SSH访问机器)

如何在hadoop中导入文件?我怎样才能检查(命令)?

csv bigdata hadoop2

6
推荐指数
1
解决办法
2万
查看次数

Hadoop存档-HarFileSystem / HadoopArchives

Hadoop V1 Java API具有HarFileSystem1个类,用于在hdfs中归档和访问小文件。我想在当前版本的hadoop中使用相同的功能,但在当前文档2中找不到相同的任何FileSystem类。如何使用Java API进行操作?

命令行界面具有hadoop archive执行此操作的命令。Hadoop CLI是org.apache.hadoop.tools.HadoopArchives用于存档命令的bash脚本。但是文档中没有有关如何使用此类的信息。

谢谢。

java hadoop hdfs hadoop2

6
推荐指数
0
解决办法
431
查看次数

Hadoop中的减速器数量

我正在学习hadoop,发现减速器的数量非常令人困惑:

1)减速器的数量与分区的数量相同。

2)减速器的数量为0.95或1.75乘以(节点数)*(每个节点的最大容器数)。

3)减速器的数量由mapred.reduce.tasks设置。

4)减速器的数量最接近:块大小的倍数*任务时间在5到15分钟之间*创建尽可能少的文件。

我很困惑,我们是显式设置减速器的数量还是由mapreduce程序本身完成?

减速器的数量如何计算?请告诉我如何计算减速器的数量。

hadoop mapreduce bigdata reducers hadoop2

6
推荐指数
1
解决办法
1万
查看次数

被ApplicationMaster退出代码杀死的容器是143

在几种情况下,我一直遇到以下错误:

2017-03-23 11:55:10,794 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1490079327128_0048_r_000003_0: Container killed by the ApplicationMaster.

Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Run Code Online (Sandbox Code Playgroud)

我注意到它发生了很多种,但是当我更改“排序分配内存”时,它没有帮助。

我曾尝试更改其他内存属性,但该解决方案使我难以理解。是否对Mapreduce的工作原理以及不同组件之间的相互作用有很好的解释?我应该改变什么?我在哪里找到导致此错误的Java错误?

hadoop hive mapreduce hadoop2

6
推荐指数
2
解决办法
8161
查看次数