Hive与Hadoop高可用性

时间:2015-06-17 18:01:46

标签: hadoop hive high-availability

我想了解hive如何知道hadoop namenode中哪些处于活动状态以及当活动namenode失败时会发生什么

2 个答案:

答案 0 :(得分:1)

通过metatool配置Hive以指向HA HDFS的已配置dfs.nameservices。见https://cwiki.apache.org/confluence/display/Hive/Hive+MetaTooldfs.nameservices是一个逻辑地址,而实际的名称节点是使用dfs.ha.namenodes.[id]配置的。

对于哪个Namenode处于活动状态,状态存储在Zookeeper中。当活动名称节点失败时,将在配置的时间(默认值为5秒,ha.zookeeper.session-timeout.ms)后触发故障转移。需要防护脚本并触发备用namenode变为活动状态。

答案 1 :(得分:0)

在hdfs HA环境中,名称节点url应该是一个逻辑名称(例如hdfs:// logicalnamenode)。我们需要配置hive以使用HA。为此,您需要使用metatool命令更改配置单元名称节点配置。

  1. 列出当前的NN配置
    〜#metatool -listFSRoot
    hdfs:// namenode:8020 / user / hive / warehouse
  2. 以下命令将使用逻辑名更新旧的NN配置
    metatool -updateLocation hdfs:// logicalnamenode hdfs:// namenode:8020 -tablePropKey avro.schema.url