Hive Metastore HA解决方案旨在处理Metastore服务失败。每当部署的Metastore服务关闭时,Metastore服务在相当长的时间内都会保持不可用状态,直到恢复服务为止。为避免此类停机,在HA模式下部署Metastore服务。
Hive Metastore客户端始终使用第一个URI连接Metastore服务器。如果Metastore服务器变得无法访问,则客户端从列表中随机选取一个URI并尝试与其连接。
更新Hive Metastore
如果HDFS的NameNode启用HA,先更新Hive Metastore以引用NameService而不是Name Node
(1)Hive Metastore的计算机上打开命令提示符
(2)设置HIVE_CONF_DIR环境变量:
export HIVE_CONF_DIR=/etc/hive/conf.server
(3)执行以下命令以检索filesystem root的URI列表,包括NameService的位置:
hive --service metatool -listFSRoot
(4)使用-dryRun选项执行以下命令以在执行配置更改之前测试您的配置:
hive --service metatool -updateLocation
(5)再次执行该命令,这次没有-dryRun选项:
hive --service metatool -updateLocation
可参照个人之前配置NameNode HA链接(操作步骤(16)):
http://blog.csdn.net/ZhouyuanLinli/article/details/79387937
先决条件
如果您在Hive中启用了ACID,请确保仅在一个 Hive Metastore主机上启用“Run Compactor”设置(设置为True)。
步骤
(1)在Web界面中,浏览Services > Hive。
(2)在Service Actions中,单击+ Add Hive Metastore选项。
(3)选择主机来安装额外的Hive Metastore; 然后点击Confirm Add。
(4)Ambari安装该组件并重新配置Hive以处理多个Hive Metastore实例。
多个HiveServer2实例的部署示例
步骤
(1)在Web页面中,浏览要安装其他HiveServer2组件的主机。
(2)在主机页面上,单击+Add。
(3)从列表中单击HiveServer2。
安装额外的HiveServer2。
在未添加到群集的新主机上安装了新的HiveServer2(HS2)实例
步骤
(1)在浏览器中打开Ambari并单击Hosts tab。
(2)在主机页面上,单击Actions,然后选择Add New Hosts:
(3)按照添加主机向导的说明操作。
(4)完成将主机添加到群集后,单击Services tab。
(5)在“服务”页面上,单击浏览器左侧的服务列表中的Hive。
(6)在Hive Services页面的右上角,单击Service Actions,然后选择 Add HiveServer2:
(7)在确认对话框中,选择步骤(1)-(3)中添加的主机,然后单击Confirm Add。
添加HS2的进度显示在后台操作运行对话框中。完成后单击OK关闭对话框。
步骤
(1)在Web中,浏览要安装其他WebHCat Server的主机。
(2)在Host页面上,单击+Add。
(3)从列表中单击WebHCat。
Ambari安装新服务并重新配置Hive以管理多个Metastore实例。
注明:WebHCat Server需要和Pig Client以及ZooKeeper Client安装在同一主机上