我一直在做我的毕业项目,我们试图实现的主题是在 Hadoop 上进行一些图像搜索。我们正在使用 OpenCV 库进行图像处理。到目前为止,我们已经得到了一个原型,但是效率并没有达到我们的预期。
现在我们希望确保我们的映射作业正确分配给数据所在的从节点。(即我们希望分配给该节点的作业仅处理确切节点上的块)并且据我了解,这意味着我需要知道我的数据的每个块的下落,以及关于块的一些其他信息。(例如,哪个块分配给哪个从节点......等等)我在 Http 管理界面上找到了一些信息。(使用端口 50030 的那个默认)但这还不够,收集我需要的信息很耗时。那么,有什么办法可以看到这些信息呢?任何日志文件或 API?
而且,如果我们对 Hadoop 调度程序分配任务的方式不满意,有没有办法干扰每个单独块的分配方式?或者 Hadoop 如何拆分输入?我知道手动完成最初由调度程序完成的所有工作将是一场噩梦,但我希望将此作为我们最后的手段。
使长话短说,
- 我可以通过 Hadoop 的 Logs/API 获取任何块级信息吗?比如有多少块,块的位置……等等,jobtracker的Http接口上的信息是不够的。
- 有没有办法干扰作业分配、块分配以及 Hadoop 拆分输入的方式?
提前致谢。