问题标签 [hadoop-streaming]
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.
python - hadoop 流:如何查看应用程序日志?
我可以在我的/usr/local/hadoop/logs
路径 上看到所有 hadoop 日志
但是我在哪里可以看到应用程序级别的日志?例如 :
映射器.py
减速器.py
我在哪里可以看到logging.info
我的应用程序的相关日志语句?
我正在使用Python
和使用hadoop-streaming
谢谢
python - hadoop集群:地图任务只在一台机器上运行,而不是全部
我有一hadoop cluster of three machines
台机器作为主机和从机的地方。
当我运行wordcount-example时,它会在两台机器上运行地图任务 -worker1
和worker2
. 但是当我运行自己的代码时,它只能在一台机器上运行 - worker1
,我怎样才能让地图任务在所有机器上运行?
固定的!!!
我在我的配置中添加了以下内容mapred-site.xml
并修复了它
python - hadoop-streaming : Python 导入问题
我有一个映射器,它在单独运行时运行良好,但是当使用 hadoop 命令运行时会出现ImportError
代码:
当我在命令行上运行时
使用 hadoop 运行时,我看到如下错误:
hadoop - hadoop streaming jobs fails to report?
All jobs were running successfully using hadoop-streaming, but all of a sudden I started to see errors due to one of worker machines
Questions :
Thank you
python - hadoop-streaming:reducer 处于挂起状态,不启动?
我有一个map reduce 作业运行良好,直到我开始看到一些失败的 map 任务,例如
现在reducer没有开始执行,而之前reducer用于开始复制数据,即使在map任务正在运行时,我所看到的只是这个
我是新手,hadoop
并且mapreduce
不知道是什么原因导致之前成功运行的相同代码失败
请帮忙
谢谢
hadoop - 在 Map/Reduce 中,只能重新启动 reduce 吗?
是否可以仅在 map/reduce 作业中重新启动 reduce 作业?我的猜测是“不”,但只是想看看是否有人对此有其他想法。
python - hadoop-streaming:reduce 任务处于挂起状态时说“没有减少任务的空间”。
我的地图任务成功完成,我可以看到应用程序日志,但减速器仍处于挂起状态
当我查看减少任务时,我看到
当我看到 hadoop-hduser-jobtracker-master.log 时,我看到以下内容:
我该如何解决这个问题?
请帮忙
python - hadoop-streaming:减少任务如何计算减少输入大小?以及如何解决?
我在 jobtracker 日志中看到以下内容:
- 我想知道 hadoop 是如何计算出减速器输入的176511226508。
- 我有两个小型工作节点,每个节点有 70 个演出,还有一个减速器,我该如何解决这个问题?
by increasing the number of reducers?
python - 减少 MapReduce 结果的有效方法?
我写了一个 MapReduce 作业,对数据集进行 ngram 计数。结果是一百个 300MB 格式的文件,<ngram>\t<count>
. 我想将这些组合成一个结果,但我的几次组合尝试都失败了(“任务跟踪器已经消失”)。我的超时时间是 8 小时,而这次崩溃发生在 8.5 小时左右,所以可能是相关的。我有#reducers=5(与# of nodes 相同)。也许我只需要留出更多时间,尽管错误似乎并未表明这一点。我怀疑我的节点正在过载,并且变得无响应。我的理论是我的减速器可以使用一些优化。
我正在使用cat
我的映射器,以及我的减速器的以下 python 脚本:
更新:
正如我在我的一条评论中暗示的那样,我对 Hadoop 自动进行的排序感到困惑。在 Web UI 中,reducer 状态显示了几个不同的阶段,包括“排序”和“减少”。由此我假设Hadoop在将映射器输出发送到reduce之前对其进行排序,但不清楚的是排序是针对发送到reducer的所有数据,还是在减少之前的每个文件。换句话说,我的映射器获取 100 个字段,将其拆分为 400 个输出,每个输出都简单cat
- 将它们发送到减速器,然后减速器(总共 5 个)每个接收这 80 个流。sort 合并所有 80,还是排序 1,减少它;ETC?根据图表,这显然不能指示实际行为,排序过程发生在任何归约之前。如果排序确实对所有输入文件进行了排序,那么我可以简化我的 reducer,使其不存储所有计数的字典,并在键更改后打印出 key-totalCount 对。
关于组合器的使用,我认为这对我来说没有好处,因为我正在减少的数据已经在我尝试组合的 100 个文件中减少了。由于我的#nodes = #reducers (5 & 5),没有什么可以组合reducer 还没有做的。
hadoop - 完全分布式的 Hadoop/MapReduce 程序有没有办法让其各个节点读取本地输入文件?
我正在尝试建立一个完全分布式的 Hadoop/MapReduce 实例,其中每个节点将在某些输入上运行一系列 C++ Hadoop 流任务。但是我不想将所有输入任务移动到 HDFS 上——相反,我想看看是否有办法从每个节点的本地文件夹中读取输入数据。
有没有办法做到这一点?
编辑: 我想运行的 hadoop 命令示例类似于:
在这种情况下,我每个节点中存储的数据都在 /data/ 目录中,我希望输出到每个单独节点的 /output/ 目录中。map_example 和 reducer_example 文件在所有节点本地可用。
我将如何实现一个 Hadoop 命令,如果它在主节点上运行,那么所有从节点基本上将在 x 个节点上运行相同的任务,从而在每个节点中生成一个本地输出文件(基于本地输入文件)?
谢谢