On this page
Building
针对 hbase 开发工作的 metastore 贡献者指南。雨伞 JIRA-HIVE-9452
Note
这项工作已终止,并且在 3.0.0 版(HIVE-17234)中删除了代码。
您将需要下载 Tephra 的源代码并从 developer 分支进行构建。您需要 Tephra 0.5.1-SNAPSHOT。您可以从Cask's github获得 Tephra。切换到开发分支,然后执行“ mvn install”将构建您需要的版本。
用于针对 hbase metastore 运行配置单元的设置-
从 HBase metastore 分支(hbase-metastore)构建代码后,以下是如何使其针对 HBase 运行的方法:
安装 HBase,最好安装 HBase 1.1.1,因为这就是用于测试的内容。
将以下罐子复制到$ HBASE_HOME/lib 中
hive-common-.*.jar
hive-metastore-.*.jar
hive-serde-.*.jar
设置 HBase,http://hbase.apache.org/book.html#quickstart我以独立模式运行它,因此您必须在 hbase-site.xml 中设置几个值才能起作用。
如果您不在路径上已经存在 hadoop 的集群中,请设置 HADOOP_HOME。
启动 HBase:$ HBASE_HOME/bin/start-hbase.sh
进行设置,以便 Hive 可以拾取 HBase jar 和 conf 文件
export HIVE_AUX_JARS_PATH=$HBASE_HOME/lib/
- export AUX_CLASSPATH=$HBASE_HOME/conf
在 HBase 中创建 metastore 表:hive --service hbaseschematool --install
在 hive-site.xml 中将 Hive 配置为使用 HBase 作为其元存储库:
<property>
<name>hive.metastore.rawstore.impl</name>
<value>org.apache.hadoop.hive.metastore.hbase.HBaseStore</value>
</property>
<property>
<name>hive.metastore.fastpath</name>
<value>true</value>
</property>
现在,像往常一样启动 Hive,一切都应该正常工作。
Notes
目前(截至 2015 年 4 月 8 日),我们尚未使用 metastore 服务测试 HBase metastore。我们不知道它是否有效。我们已经使用命令行 Client 端和 HiveServer2 对其进行了测试。
并非所有的 Hive 操作都已经过测试。插入,选择,创建表,删除表,创建数据库,添加分区,删除分区已经过测试。其他功能可能不起作用。
一旦我们切换到 HBase 1.1.1,Tephra 将不再起作用。您需要使用 VanillaHBaseConnection(默认设置),直到我们使 Tephra 再次工作。
将元数据从 rdbms 导入到 hbase
设置 hive-site.xml,使其具有 rdbms 必需的 jdo 属性,并设置 Hive 以将 hbase 用于元数据存储,如上文所述
以下命令会将元数据从 rdbms 导入到 hbase:
Hive--service hbaseimport