如何在 HBase 集群设置中添加辅助 NameNode?

How to add a Secondary NameNode in a HBase cluster setup?

我有一个包含 3 个节点的 Hbase 集群设置:一个 NameNode 和 2 个 DataNode。 NameNode是一台服务器,4GB内存,20GB硬盘,DataNode是8GB内存,100GB硬盘。

我正在使用 Apache Hadoop 版本:2.7.2 和 Apache Hbase 版本:1.2.4

我看到有人提到了辅助 NameNode。

我的问题是,

  1. 在我的设置中没有辅助 NameNode 有什么影响?
  2. 是否可以使用其中一个 DataNode 作为辅助 NameNode?
  3. 如果可以的话我该怎么做? (我只在 /etc/hadoop/masters 文件中插入了 NameNode。)
  1. What is the impact of not having a Secondary NameNode in my setup?

SecondaryNamenode 定期将命名空间图像与编辑日志合并(称为检查点)。您的设置不是高可用性设置,因此没有高可用性设置会导致编辑日志变大,最终会在启动期间增加 NameNode 的开销。

  1. Is it possible to use one of the DataNodes as the Secondary NameNode?

运行 不推荐Datanode主机中的SNN。一个单独的主机比 运行 Secondary Namenode 进程更受欢迎。为 SNN 选择的主机必须具有与 NN 相同的内存。

  1. If possible how can I do it? (I inserted only the NameNode in /etc/hadoop/masters file.)

masters 文件不再使用。在 hdfs-site.xml

中添加此 属性
<property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>SNN_host:50090</value>
</property>

另请注意,SecondaryNamenode进程默认在执行start-dfs.sh的节点启动。