问题标签 [hadoop2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
764 浏览

mapreduce - Hadoop V2:关闭洗牌/排序?

我想知道是否有任何方法可以在作业的 Map 阶段关闭洗牌/排序?我的工作不需要 Reduce 阶段,所以我不需要洗牌和排序。

我正在使用 hadoop 版本 2.2.0

谢谢

0 投票
5 回答
3165 浏览

hadoop - Hadoop:数据节点未启动

我在 Centos 6.5 系统上安装了 Hadoop 2.2 版,但是当我使用命令 start-dfs.sh 时。我的数据节点没有在我的主从 PC 中启动。我正在附加我的数据节点日志。

strong text 这就是我实现 start-dfs.sh 和 start-yarn.sh 的方式

当前主从IP地址信息

Hadoop Namenode -format 给了我这个

0 投票
1 回答
212 浏览

java - Hadoop(Yarn):设置映射器输入分隔符?

我希望能够为我收到的键/值对设置不同的分隔符到我的 MR 工作的 map 函数中。

例如我的文本文件可能有:

在我的地图函数中,我希望每个元素的键是 John,值是 23 等。

然后,如果我使用设置输出分隔符

减速器会拿起钥匙直到第一个'-'和之后的所有值吗?还是我也需要对减速器进行更改?

谢谢

0 投票
5 回答
7887 浏览

hadoop - mapreduce作业的map阶段的输出是否总是排序的?

我对从 Mapper 获得的输出有点困惑。

例如,当我运行一个简单的 wordcount 程序时,输入文本如下:

这是我得到的输出:

如您所见,mapper 的输出已经排序。我根本没有跑Reducer。但是我在另一个项目中发现映射器的输出没有排序。所以我完全清楚这一点..

我的问题是:

  1. 映射器的输出是否总是排序的?
  2. 排序阶段是否已经集成到映射器阶段,以便映射阶段的输出已经在中间数据中排序?
  3. 有没有办法从sort and shuffle阶段收集数据并在它进入减速器之前将其持久化?一个reducer 带有一个key 和一个iterables 列表。有没有办法,我可以保留这些数据?
0 投票
1 回答
930 浏览

java - MapReduce 中的全局变量或属性?

我希望能够在我的 MR 作业的映射阶段设置某种变量或标志,我可以在作业完成后检查这些变量或标志。我认为用一些代码来演示我想要什么的最好方法:ps 我正在使用 Hadoop 2.2.0

0 投票
1 回答
80 浏览

hadoop - Hadoop 输入拆分转储

当某个特定任务失败时,我们能否获得运行该任务的输入拆分的转储,以便我们可以在输入的该部分本地运行该作业并进行远程调试?

0 投票
0 回答
502 浏览

hadoop - Hadoop 2.2.0 在 Jobtracker 中停留在 Accepted 状态

我正在尝试运行一个简单的 1 节点 Hadoop 设置(如 1 个管理器和 1 个工作人员)。虚拟集群在两台机器上都运行良好。但是当我尝试将其更改为真正的集群时,作业开始并卡在ACCEPTEDJob Tracker 中的状态中。它根本不启动map/reduce(甚至不显示map 0% reduce 0%,只是说应用程序ID,然后是空白的)。

我尝试修改配置文件以使用正确的内存量。但它总是导致同样的事情。这是我的配置文件,以及尝试运行 wordcount 时的调试日志。

我删除了一些 DEBUG 行,因为它们与“cloud1 发送 X”/“cloud1 接收 X”有很多重复,否则日志太长而无法发布。

这里还有两台电脑的规格:

  • comp1(manager):8 核 Xeon,16GB RAM,2TB HDD
  • comp2(worker):6 核 Xeon,8GB RAM,2TB HDD

核心站点.xml

hdfs-site.xml

mapred-site.xml

纱线站点.xml

和调试日志:

0 投票
2 回答
5994 浏览

hadoop - 组合器在哪里组合映射器输出 - 在 Map-reduce 作业的 map 阶段或 reduce 阶段?

我的印象是,combiner 就像作用于本地 map 任务的 reducer,即它聚合单个 Map 任务的结果,以减少输出传输的网络带宽。

从阅读来看Hadoop- The definitive guide 3rd edition,我的理解似乎是正确的。

来自第 2 章(第 34 页)

组合器功能 许多 MapReduce 作业受到集群上可用带宽的限制,因此尽量减少在 map 和 reduce 任务之间传输的数据是值得的。Hadoop 允许用户指定在映射输出上运行的组合器函数——组合器函数的输出形成reduce 函数的输入。由于组合器功能是一种优化,Hadoop 不保证它会为特定的地图输出记录调用多少次(如果有的话)。换句话说,调用组合函数零次、一次或多次应该从减速器产生相同的输出。

所以我在字数问题上尝试了以下方法:

这是计数器:

这是part-m-00000

所以很明显没有应用组合器。我知道 Hadoop 不保证是否会调用组合器。但是当我打开 reduce 阶段时,组合器会被调用。

为什么会出现这种行为?

现在,当我阅读第 6 章(第 208 页)时how MapReduce works。我看到这一段描述在Reduce side.

如果映射输出足够小,则将其复制到 reduce 任务 JVM 的内存(缓冲区的大小由 mapred.job.shuffle.input.buffer.percent 控制,它指定用于此目的的堆的比例);否则,它们将被复制到磁盘。当内存缓冲区达到阈值大小(由 mapred.job.shuffle.merge.percent 控制)或达到映射输出的阈值数量(mapred.inmem.merge.threshold)时,它被合并并溢出到磁盘。如果指定了组合器,它将在合并期间运行以减少写入磁盘的数据量。

我从这一段的推论是:1)组合器也在减少阶段运行。

0 投票
2 回答
784 浏览

hadoop - Why does compression in YARN slow down the job by several times?

When I run the job in YARN (2.4.0) using the compression (snappy), there is a big impact on the job completion time. For example, I ran the following experiments. Job: invertedindex Cluster: 10 slaves VMs(4 CPU 8GB RAM).

Job completion time of 5GB invertedindex without compression(snappy): 226s, with compression: 1600s

Job completion time of 50GB invertedindex without compression(snappy): 2000s, with compression: 14000s

My configuration in mapred-site.xml is like this:

I have read a lot of material that says that the compression should improve the performance, but here it has slowed down the job by almost 7 times. What am I doing wrong here?

0 投票
1 回答
533 浏览

hadoop - 我必须实现hadoop,所以它可以处理呼叫详细记录的数据?

我已经配置了 HDFS、Datanode 和 namenode 以及 hbase。我在 HDFS 中存储了一个 CDR csv 文件。那么我怎样才能将它与 Hbase 映射并准备好处理它呢?