NFS的方式的HA的配置与启动,和QJM方式基本上是一样,唯一不同的地方就是active namenode和standby namenode共享edits文件的方式,QJM方式是采用journalnode来共享edits文件,而NFS方式则是采用NFS远程共享目录来共享edits文件。
1 准备
文中描述的机器角色包含2个namenode:
namenode1
namenode2
其中namenode1为active namenode;namenode2为standby namenode。
2 NFS安装和配置
在namenode1安装nfs,配置,启动。namenode1配置的edits文件的共享目录为/home/dfs/nfs_share_edits/
在namenode2挂载namenode1的远程共享目录,namenode2的本地挂载目录也是/home/dfs/nfs_share_edits/
具体操作可以参考《linux系统NFS的安装和配置》一文。
3 hadoop的配置
只有hdfs-site.xml的dfs.namenode.shared.edits.dir参数和QJM方式的设置不一样。
<property> <name>dfs.namenode.shared.edits.dir</name> <value>file:///home/dfs/nfs_share_edits</value> </property>
其他的配置都和QJM的配置一样,请参考《hadoop2.0 QJM方式的HA的配置》一文。
4 启动
启动方式也和QJM方式一样,请参考《hadoop2.0 QJM方式的HA的配置》一文。
5 实战tips
- 要注意nfs共享目录的权限问题。
NFS方式本身是没有fencing功能的,所以一定要设置有效的fencing方法,否则会出现“脑裂”问题。fencing方法的设置可以参考《hadoop2.0 QJM方式的HA的配置》一文。
在生产实践中HA还是优先考虑用QJM的方式。
NFS HA方式的其他配置参数,包括HA的主备自动切换的配置参数,federation的配置参数,都和QJM方式的一样,可以参考《hadoop2.0 HA的主备自动切换》和《hadoop2.0 federation与HA的配置》。
参考资料
http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailabilityWithNFS.html