我是地图减少世界的新手,我已经完成了一项工作,而且似乎需要永远完成,因为这是一项相对较小的任务,我猜测某些事情并未按计划进行。我正在使用hadoop 2.6版,这里收集了一些我认为可以提供帮助的信息。地图简化程序本身很简单所以我不打算在这里添加这些,除非有人真的希望我提供更多的见解 - 运行map reduce的python代码与这里的{ - 3}}相同。如果有人能够提供出错的线索,或者为什么会出现问题。提前致谢。
Name: streamjob1669011192523346656.jar
Application Type: MAPREDUCE
Application Tags:
State: ACCEPTED
FinalStatus: UNDEFINED
Started: 3-Jul-2015 00:17:10
Elapsed: 20mins, 57sec
Tracking URL: UNASSIGNED
Diagnostics:
这是我在运行程序时得到的结果:
bin/hadoop jar share/hadoop/tools/lib/hadoop-streaming-2.6.0.jar - file python-files/mapper.py -mapper python-files/mapper.py -file python - files/reducer.py -reducer python-files/reducer.py -input /user/input/* - output /user/output
15/07/03 00:16:41 WARN streaming.StreamJob: -file option is deprecated, please use generic option -files instead.
2015-07-03 00:16:43.510 java[3708:1b03] Unable to load realm info from SCDynamicStore
15/07/03 00:16:44 WARN util.NativeCodeLoader: Unable to load native- hadoop library for your platform... using builtin-java classes where applicable
packageJobJar: [python-files/mapper.py, python-files/reducer.py, /var/folders/4x/v16lrvy91ld4t8rqvnzbr83m0000gn/T/hadoop-unjar8212926403009053963/] [] /var/folders/4x/v16lrvy91ld4t8rqvnzbr83m0000gn/T/streamjob1669011192523346656.jar tmpDir=null
15/07/03 00:16:53 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/07/03 00:16:55 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/07/03 00:17:05 INFO mapred.FileInputFormat: Total input paths to process : 1
15/07/03 00:17:06 INFO mapreduce.JobSubmitter: number of splits:2
15/07/03 00:17:07 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1435852353333_0003
15/07/03 00:17:11 INFO impl.YarnClientImpl: Submitted application application_1435852353333_0003
15/07/03 00:17:11 INFO mapreduce.Job: The url to track the job: http://mymacbook.home:8088/proxy/application_1435852353333_0003/
15/07/03 00:17:11 INFO mapreduce.Job: Running job: job_1435852353333_0003
答案 0 :(得分:4)
如果作业长时间处于ACCEPTED
状态且未更改为RUNNING
状态,则可能是由于以下原因。
Nodemanager(从属服务)已死或无法与资源管理器通信。如果Yarn资源管理器Web ui main page中的Active nodes
为零,则可以确认没有节点管理器连接到资源管理器。如果是这样,您需要启动nodemanager。
另一个原因是可能有其他工作正在运行,这些工作占用了可用的插槽而没有新工作空间可以检查Memory Total
,Memory used
,Vcores Total
,VCores Used
的值在资源管理器webui主页中。
答案 1 :(得分:0)
您是否按照查询方式对数据进行了分区?基本上,您不想查询所有数据,这是您目前可能正在做的事情。这可以解释为什么它需要这么长时间才能运行。
您想查询整个数据集的子集。例如,如果对日期进行分区,则确实要编写带有日期约束的查询,否则查询将永远运行。
如果可以,请使用对用于对数据进行分区的变量的约束来进行查询。