hadoop机架感知脚本修改之后需要重启namenode么

请问设置/修改 rack aware 脚本,一定要重启 namenode 吗?

fish - Hadooper

赞同来自: link

先回答第一个问题: 如果脚本名字变了,需要重启namenode,代码中在BlockManager启动的时候读入脚本名,没看到定时更新的地方。   如果脚本内容改了但名字没变。从实现看应该不重启namenode也可以。但对于datanode的rack感知location的存储,是在datanode向namenode发起注册的时候完成的,所以,如果不想重启namenode,就需要重启datanode来达到更新的目的。(个人觉得在有namenodeHA的情况下,对于大的集群,还不如重启namenode更快)。

link

赞同来自:

追问下,外部脚本的方式, https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/RackAwareness.html 里说 Hadoop will send multiple IP addresses to ARGV when forking the topology script. 也就是脚本不用考虑输入为 hostname 去做域名解析了吧?谢谢!

fish - Hadooper

赞同来自:

第二个问题: 脚本其实就是个翻译器,完成把a.b.c翻译成a/b/c这样格式的功能。 至于在翻译过程中是不是考虑域名解析,脚本自己根据需求自己定义。 脚本中甚至可以干出把a.b.c翻译成x/y/z, 把c.d.e翻译成x/y/w这样的事情。这个时候,hadoop会很傻的把a.b.c跟c.d.e看成一个rack的。

link

赞同来自:

谢谢fish,第二个问题,也就是脚本调用的参数格式是 ip,但如何对应到 rack 就看需求了?

要回复问题请先登录注册