一、SQL on Hadoop
我们需要知道业界很多产品如hive、Presto、Drill、SparkSQL、Impala等均在发力sql on hadoop,如果谈及这个话题,需要很多的篇幅,
我们这里只需要知道hawq是开源的一款sql on hadop的产品,具体它的优势,请另行查询,熟悉greenplum的用户应该知道mpp数据库的强劲性能
而hawq2.0是将mpp和hadoop结合后的产品。
二、几个概念
1.hawq和hdb
hawq是pivotal公司将产品共性给apache基金会的开源名称
hdb是pivotal公司的sql on hadoop的产品名称,二者内核是一致的,只是一个开源一个商用,当然我个人认为商用版本更完善。
2.hdb和hdp
大家千万不要混淆这两个名称,hdp是HORTONW0RKS DATA PLATFORM的简称,是HORTONW0RKS公司的hadoop产品,与其同名的还有CDH,其是Cloudera公司的hadoop产品。
3.Ambari
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari目前已支持大多数Hadoop组件, 包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。
Ambari host对内存和硬盘有一定要求,50hosts以内,内存不小于2GB,硬盘不小于50GB.500hosts以内内存8GB,硬盘200GB,一般都能满足要求。
三、安装选择
1.hadoop版本选择
hawq安装需要hadoop2.5以上,如果低于版本要求,可以安装上,创建库和表都可以但是无法插入数据,我第一次尝试就是在hadoop2.2的开源
版本安装的,安装后能启动,能创建数据库、能建表,但是就是不能插入数据。后面的例子用的版本是hadoop2.6.5的开源版本安装的,具体
hadoop的安装过程,可参照之前的2.2版本安装或者自行查询教程。
2.ambari版本和jdk版本要求
这一点是很多安装教程中没有真正提及的,会误导很多用户,如果你的jdk版本不能修改,那你必须再次基础上进行选择,比如我测试环境的
jdk版本就是1.6.0.45那就不能使用ambari安装。
参看hdb的安装教程:http://hdb.docs.pivotal.io/220/hdb/releasenotes/HAWQ220ReleaseNotes.html
hdb2.2需要ambari2.4.2,但是ambari1.5.1就已经不支持java6了,因此采用jdk6就不能用ambari。
3.centos 6还是7决定你装hawq还是hdb
虽然centos6是可以安装hawq的,但是坑太多了,因为hawq2.0以后尤其2.2是根据最新的系统版本进行测试编译的,用老的6的版本进行编译,需要更新的组件太多,而且相互间的关联会让人混乱,我尝试了几次在centos6.6上的源码安装hawq2.2基本都快到最后几步了,但是还是没成功,推荐对linux组件很熟悉的朋友尝试,一般用户推荐使用商用版本的hdb,你不要觉得hdb安装简单,在安装过程中,自己的知识积累通过排错提升了很多,后面我会放上源码编译hawq的内容。
四、安装环境