在了解了HA的特性和架构后,接下来学习如何配置管理HA,在学习与配置HA有关的参数之前,先明确部署HA所需要的主机数量。由HA的架构可知,存在两个NameNode主机,一个为现役NameNode主机,一个为待机NameNode主机,二者的硬件配置应该相同,同时还要有运行JournalNodes的主机。由于JournalNode守护进程是相对轻量级的,那么这些守护进程可与其它Hadoop守护进程,如NameNode、JobTracker或者ResourceManager,运行在相同的主机上。由于edits日志的改变必须写入大多数(一半以上)JNs,所以至少存在3个JournalNodes守护进程,这样系统能够容忍单个主机故障。当然也可以运行多于3个JournalNodes,但为了增加系统能够容忍的故障主机的数量,应该运行奇数个JNs(一个主机故障需要至少3个JNs,两个故障则需要至少2*2+1=5个JNs)。当运行N个JNs时,系统最多可以接受(N-1)/2个主机故障并能继续正常运行。
在HA集群中,待机状态的NameNode也扮演了执行命名空间检查点的角色,因此没有必要在HA集群中再运行SecondaryNameNode、CheckpointNode或BackupNode,实际上在HA集群中运行上述进程将会出错。而这也允许在将非HA集群配置为HA时