搭建一个完整的cdh 的版本,由于涉及的产品和步骤太多,在客户那里部署环境时,很容易出现意外,所以如果只是需要部署一个测试环境来进行验证,我们没有必要完完整整的部署整个cdh。
下面是通过命令行的形式搭建一个cdh 的hive 版本
首先在网上下载cdh 的文件,地址:
找到 对应版本的hadoop 和hive (hadoop 必须也要cdh 的,因为和apache 的hadoop 不兼容)
首先部署hadoop ,可以参考我以前写过的博客:
记得配置HADOOP_HOME 环境变量,jdk 版本最好为 jdk 1.7
部署postgresql ,等一下它会作为hive 的metadata 存储,参考
http://www.sequoiadb.com/cn/index.php?a=index&m=Files&cat_id=1432190714&edition_id=0
记得一定要修改postgresql 的信任机器列表,否则后续hive 会连接不上postgresql
配置postgresql 作为 hive的metadata,参考
hive 对接 sdb ,参考
http://www.sequoiadb.com/cn/index.php?a=index&m=Files&cat_id=1432190707&edition_id=0
附件中为基于cdh hive 5.4.3 编译的sdb连接器和1.12.4 的sdb java 驱动
新连接器增加了一些参考,建表模版:
create external table test(id INT, name STRING, age int) stored by "com.sequoiadb.hive.SdbHiveStorageHandler" tblproperties("sdb.address" = "chen:11810", "sdb.space"="foo", "sdb.collection"="bar", "sdb.user"="", "sdb.passwd"="");
create external table test(id INT, name STRING, age int) stored by "com.sequoiadb.hive.SdbHiveStorageHandler" tblproperties("sdb.address" = "chen:11810", "sdb.space"="foo", "sdb.collection"="bar", "sdb.user"="", "sdb.passwd"="");