问题标签 [hadoop-yarn]

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 投票
2 回答
192 浏览

hadoop - 强制 Hadoop 使用多个 reducer 运行应用程序

我有一个 Hadoop Map-reduce 应用程序,其代码中有以下行(将 reducer 的数量设置为 1)。

我想用多个减速器运行这个应用程序,所以我尝试将以下 XML 代码添加到$HADOOP_CONF_DIR/mapred-site.xml

但是,代码仍然使用 1 个 reducer 运行。有没有办法强制hadoop应用程序使用2个reducer运行或者应用程序代码的优先级总是更高?

0 投票
3 回答
2381 浏览

hadoop - Hadoop 减速器数量 配置选项 优先级

以下 3 个设置减少数量的选项的优先级是什么?换句话说,如果三个都设置了,会考虑哪一个?

选项1:

选项2:

选项3:

0 投票
3 回答
6172 浏览

hadoop - hadoop 2.2,字数统计示例在 Windows 7 上失败

在执行 hadoop jar 命令运行默认字数统计程序后,我开始关注 stderr。

我相信我不必明确设置 hadoop 类路径。因为我已经设置了环境。变量如下:或者我在这里遗漏了什么?

我正在执行的命令是

0 投票
1 回答
1566 浏览

performance - hadoop YARN 性能:在集群上运行 wordCount 示例非常慢

最近搭建了Hadoop集群进行测试,集群有两个节点用于任务,并且是基于Yarn的。

我知道 Hadoop 不适合示例,它在非常大的数据级别上具有良好的性能,但它仍然太慢。我的意思是非常慢。我的输入文件是一个 500,000 字的文档,reduce number 是 2。

这是日志:

我们可以在日志的每一行之前看到时间戳。

似乎每一步都很慢:初始化、检查输入路径、在 Yarn 上启动、Mapreduce 等。

整个过程耗时1783秒。发生了什么 ?我做错什么了吗 ?

我的 hadoop 版本是 CDH4.3.0 ,集群有 2 个节点。而且 Hdfs 里有几千个小文件,有问题吗?

0 投票
2 回答
2541 浏览

java - 如何在 map reduce 程序中解析 PDF 文件?

我想在我的 hadoop 2.2.0 程序中解析 PDF 文件,我发现了这个,按照它所说的,直到现在,我有这三个类:

  1. PDFWordCount包含map和reduce函数的主类。(就像本机 hadoop wordcount示例一样,但TextInputFormat我没有使用我的PDFInputFormat课程。
  2. PDFRecordReader extends RecordReader<LongWritable, Text>:这是这里的主要工作。特别是我把我的initialize功能放在这里以获得更多说明。

    (您可以查看我system.out.println的 s 进行调试。此方法无法转换genericSplitFileSplit。我在控制台中看到的最后一件事是:

    这是genericSplit.toString()

  3. PDFInputFormat extends FileInputFormat<LongWritable, Text>:这只是 new PDFRecordReadercreateRecordReader方法中创建。

我想知道我的错误是什么?

我需要额外的课程吗?

0 投票
0 回答
249 浏览

hadoop - hadoop 在字数统计方面的性能不佳 - 调度问题

我正在使用 m1.large 机器在 ec2 上运行 16 节点 hadoop 集群。由于 hadoop 所做的愚蠢调度,我面临性能问题。我正在使用带有纱线的 hadoop-2.2.0。

确切的问题如下:

我正在集群上运行 wordcount 程序。有 4GB 的全部数据需要进行字数统计。我目前正在尝试使用 4 个减速器。不幸的是,所有 4 个减速器都安排在同一台机器上,这确实使性能变差。有什么办法可以避免这种情况。是否有一些调度策略可以更好地平衡reduce任务。

PS:我知道hadoop不是为了高性能,但我必须对某些map reduce程序进行基准测试,调度不佳的影响会极大地影响我的基准测试。

谢谢

0 投票
6 回答
66443 浏览

hadoop-yarn - Spark 中的纱线客户端模式是什么?

Apache Spark 最近将版本更新为 0.8.1,在该yarn-client模式下可用。我的问题是,yarn-client 模式的真正含义是什么?在文档中它说:

使用 yarn-client 模式,应用程序将在本地启动。就像在 Local / Mesos / Standalone 模式下运行应用程序或 spark-shell 一样。启动方法也和他们类似,只要确保当你需要指定主 url 时,使用 “yarn-client” 代替

“本地启动”是什么意思?当地哪里?在 Spark 集群上?
与 yarn-standalone 模式的具体区别是什么?

0 投票
1 回答
914 浏览

java - 在 Hadoop 2.2.0 中打开缓存文件

在将缓存文件添加到作业中job.addCacheFile()并使用我的映射器将其拉下之后context.getCacheFiles()。如何打开缓存文件。我试过使用:

BufferedReader reader = new BufferedReader(new FileReader(filename));(在下面评论)

其中文件名是 的toString()URI但我得到一个 IOException 说该文件不存在。谁能帮我吗?

这是代码问题还是配置问题?我在一个所谓的伪分布式集群上运行

0 投票
1 回答
1380 浏览

java - 无法将 Hadoop 2.2 的虚拟内存更改为超过默认的 2.1 GB

我在具有 8GB RAM 的 CentsOS 6.4 笔记本电脑上以伪分布式模式运行 hadoop 2.2。

每当我提交作业时,我都会收到一条错误消息,指出虚拟内存使用量超出,如下所示。

我已将 yarn-site.xml 中的 yarn.nodenamager.vmem-pmem-ratio 比率更改为 10 (10x 1GB) ,但是虚拟内存的增加并未超过默认的 2.1 GB ,如错误消息中所示下面和容器被杀死。

如果还有其他设置需要更改,有人可以告诉我吗?提前致谢!

错误信息 :

0 投票
3 回答
30944 浏览

hadoop - hadoop - 名称节点上的连接被拒绝

我已经搜索了很长时间的 web 和 stackoverflow,但它没有用。

我已经在 2 节点集群设置中安装了 hadoop yarn 2.2.0。但出了点问题。当我在主节点上使用 start-dfs.sh 和 start-yarn.sh 启动 hadoop 守护进程时,它们成功地在主节点和从节点中运行(我的主节点的主机名是 RM,我的从节点的主机名是 slv)。他们可以成功地互相ssh。但是当我想运行作业时,会出现此错误:

14/01/02 04:22:53 WARN util.NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类 14/01/02 04:22:56 WARN hdfs.DFSClient: DataStreamer 异常 org.apache.hadoop.ipc.RemoteException(java.io.IOException):文件 /user/root/QuasiMonteCarlo_1388665371850_813553673/in/part0 只能复制到 0 个节点而不是 minReplication (=1)。有 0 个数据节点正在运行,并且在此操作中没有排除任何节点。在 org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1384) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2477) 在 org.apache org.apache.hadoop.hdfs.protocolPB 中的 .hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:555)。

并且在 datanode 日志中存在此日志:

2014-01-02 04:40:31,616 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:连接到服务器时出现问题:RM/192.168.1.101:9000 2014-01-02 04:40:37,618 INFO org。 apache.hadoop.ipc.Client:重试连接服务器:RM/192.168.1.101:9000。已尝试 0 次 $ 2014-01-02 04:40:38,619 INFO org.apache.hadoop.ipc.Client:重试连接到服务器:RM/192.168.1.101:9000。已尝试 1 次 $ 2014-01-02 04:40:39,620 INFO org.apache.hadoop.ipc.Client:重试连接到服务器:RM/192.168.1.101:9000。已尝试 2 次 $ 2014-01-02 04:40:40,621 INFO org.apache.hadoop.ipc.Client:重试连接到服务器:RM/192.168.1.101:9000。已尝试 3 次

我检查了主节点上的 9000 端口,输出是这样的:

tcp 0 0 127.0.0.1:9000 0.0.0.0:* 听 10227/java

我猜这个问题是由于我在从节点上的原因引起的

远程登录 RM 9000

它说

尝试 192.168.1.101... telnet:无法连接到远程主机:连接被拒绝

然而

远程登录

输出是:

尝试 192.168.1.101... 连接到 RM。转义字符是 '^]'。Ubuntu 12.04.2 LTS RM 登录:

有关其他信息,我的 /etc/hosts 在主服务器和从服务器上如下:

127.0.0.1 RM|slv 本地主机

192.168.1.101 RM

192.168.1.103 slv

有人可以建议我一个解决方案吗?非常感谢任何帮助。谢谢