作者:SUNNY
时间:2018-06-06
什么需要host配置&遇到问题
- 个人理解,无非就是方便
- 集群扩很容易造成异常。hadoop集群配置中,许多地方使用了host配置,但是当前大部分应用都是通过集群/etc/hosts方式来实现名字解析。如果遇到集群扩容,需要进行hosts同步,经常出现遗漏或错误情况。
- 解决上述问题一种方式是可以使用内部DNS来解决,但又引入了DNS维护。
- 尝试取消对host依赖,配置中全部使用IP方式
涉及host的配置有哪些
说明:
- 所有涉及到host地方,均修改为IP
- 集群名称:dev-env
- namenode IP假设为:10.237.49.121、10.237.49.148
- journal地址假设为:qjournal://10.237.49.23:8485;10.237.54.239:8485;10.237.54.244:8485/dev-env
- zookeeper地址假设为:10.237.49.121:2181,10.237.49.148:2181,10.237.49.23:2181,10.237.54.239:2181,10.237.54.244:2181
hdfs-site.xml配置
<property>
<name>dfs.ha.namenodes.dev-env</name>
<value>10.237.49.121,10.237.49.148</value>
</property>
<property>
<name>dfs.namenode.rpc-address.dev-env.10.237.49.121</name>
<value>10.237.49.121:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.dev-env.10.237.49.148</name>
<value>10.237.49.148:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.dev-env.10.237.49.121</name>
<value>10.237.49.121:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.dev-env.10.237.49.148</name>
<value>10.237.49.148:50070</value>
</property>
说明:namenode相关地址配置
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
说明:默认为true,namenode连接datanode时,会进行host解析查询
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://10.237.49.23:8485;10.237.54.239:8485;10.237.54.244:8485/dev-env</value>
</property>
说明:journal地址配置
<property>
<name>ha.zookeeper.quorum</name>
<value>10.237.49.121:2181,10.237.49.148:2181,10.237.49.23:2181,10.237.54.239:2181,10.237.54.244:2181</value>
</property>
说明:zookeeper配置
如下配置文件涉及地址地方,需修改为IP
core-site.xml
yarn-site.xml
mapred-site.sh