关于使用 docker 后从 hdfs 短路读(short-circuit read)的问题

2020-10-12 10:59:26 +08:00
 leavan

明明在同一台物理机上,但由于不同的 container 需要分配不同的 IP,所以 yarn 之类的组件无法识别yarn-nodemanager1hdfs-datanode1两台机器是可以通过短路读(也就是hdfs-datanode1在本地打开需要传输的 block,然后把 fd 交给yarn-nodemanager1)传输数据的,最后数据还是通过网络传输的,浪费了很多性能。如果要解决这个问题,具体要解决两个方面的内容:

  1. yarn-resourcemanager需要感知到不同yarn-nodemangerhdfs-datanode的对应关系,并且尽可能把任务分配到可以短路读的节点上;
  2. yarn-nodemanager需要感知到自己可以从哪个hdfs-datanode短路读。

目前的做法就是硬编码+改源码,现在要上 impala 了类似的事情又要再做一遍,感到十分头疼。各位老哥有没有什么优雅点的解决方案?

752 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/714089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX