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

标签 hadoop hbase

我有一个包含 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的节点启动。

关于hadoop - 如何在 HBase 集群设置中添加辅助 NameNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43755518/

相关文章:

spring - Hadoop Cluster和google之类接口(interface)的通信。如何?

hadoop - 在 Hadoop 作业中找不到类

java - 错误 jdbc.HiveConnection : Error opening session Hive

java - 如何从Hbase读取数据?

hbase - 适用的 HBase 表模型

java - MapReduce HBase 空指针异常

hadoop - hadoop是否支持文件级锁

scala - 如何使用 withColumn Spark Dataframe scala with while

java.lang.IllegalArgumentException : Unable to PTableType enum for value of 'MATERIALIZED VIEW' Exception with Phoenix and Hbase 异常

java - 如何使用 Kerberos 在 hive UDF 中获得 HBase 连接?