Hive学习(CDH版Hadoop、Hive安装)

1、CDH简介

大家认知度比较高的Hadoop项目一般指的是Apache的Hadoop,但是该项目版本比较复杂,兼容性也很差,一般没法直接用于生产。所以针对这个情况,衍生了几个比较著名的第三方版本(CDH、HDP、MapR),核心内容还是基于原生的hadoop代码。但是相对于原生版,第三方的版本的版本管理清晰,兼容性好,有大量的生产项目实践经验,更有简单易用的部署方案,最后的监控管理也非常人性化,所以生产项目中都是直接选用这些版本(有免费版和收费版,免费版对于一般性项目完全满足需求)。

2、版本下载

下载地址:http://archive.cloudera.com/cdh5/cdh/5/

注意:每个hadoop生态圈的组成都有各自的版本,但是一定要注意他对应的cdh版本号,要保持一致(这里下载hadoop-2.6.0-cdh5.14.0-src.tar.gz和hive-1.1.0-cdh5.14.0-src.tar.gz,都是源码,自己编译自己安装)。

3、编译准备

wget方式下载以上两个源码tar包,放到hadoop用户家目录下source文件夹中。

安装jdk1.7(建议64位)、maven3.3.9、 findbugs1.3.9、protobuf-2.5.0和其他依赖(具体请参考hadoop源码编译 - )

注意:我们下载的源码都是要求用jdk1.7编译的,本人经过测试修改pom.xml的jdk版本限制,但是测试1.8编译失败,如果有谁成功了,可以私聊分享一下,交流学习。

4、编译hadoop和hive

cdh版hadoop编译安装和Apache版编译安装一致,没有任何区别,请参考和hadoop伪分布式搭建 -

$tar  -xzvf  hive-1.1.0-cdh5.14.0-src.tar.gz

$cd hive-1.1.0-cdh5.14.0-src

$mvn clean package -Pdist,native -DskipTests -Dtar

错误1:


Hive学习(CDH版Hadoop、Hive安装)_第1张图片

这个编译命令是我直接复制的hadoop的编译命令(本人是maven小白),最后发现编译报错,说是缺少一些hadoop的jar包,经过反复测试查找,怀疑是-P参数的问题,所以去查了一下,但是了解的还是不是特别清楚,只是根据项目和资料修改了编译命令(参考maven命令-P 参数引发的思考 - CSDN博客)

$mvn clean package -Phadoop2 -DskipTests -Dtar

注意:这个编译命令还是不完整的,虽然编译没问题,但是不会产生编译的tar包,需要修改成下方命令:

$mvn clean package -Phadoop2,dist -DskipTests -Dtar

错误2(该错误不影响编译结果,但是看着很碍眼):

org.apache.maven.project.ProjectBuildingException:Error resolving project artifact: Failure to transfer org.pentaho:pentaho-aggdesigner-algorithm:pom:5.1.5-jhyde from https://repository.cloudera.com/content/repositories/snapshots was cachedinthe local repository, resolution will not be reattempted until the update interval of cdh.snapshots.repohas elapsedorupdates are forced. Original error: Could not transfer artifact org.pentaho:pentaho-aggdesigner-algorithm:pom:5.1.5-jhyde from/to cdh.snapshots.repo(https://repository.cloudera.com/content/repositories/snapshots): Failed to transfer file: https://repository.cloudera.com/content/repositories/snapshots/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/pentaho-aggdesigner-algorithm-5.1.5-jhyde.pom. Return code is:409, ReasonPhrase: Conflict. for project org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde

解决办法:

修改pom.xml(在repositorys标签下添加)

Hive学习(CDH版Hadoop、Hive安装)_第2张图片

5、MySQL安装配置

 参考 Linux安装MySQL5.6(tar包安装) - ,安装完成后新建数据库hive(编码为latin1)

6、安装hive

$cd  /home/hadoop/source/hive-1.1.0-cdh5.14.0/packaging/target

$tar -xzvf  apache-hive-1.1.0-cdh5.14.0-bin.tar.gz  -C   /home/hadoop/app/

$cd /home/hadoop/app/

$mv apache-hive-1.1.0-cdh5.14.0-bin  hive-1.1.0-cdh5.14.0

7、hive配置

$cd  hive-1.1.0-cdh5.14.0/conf

$cp hive-env.sh.template hive-env.sh

$vi  hive-env.sh

修改JAVA_HOME为真实路径,添加HADOOP_HOME的路径

$vi  hive-site.xml   //该文件不存在,需要创建

Hive学习(CDH版Hadoop、Hive安装)_第3张图片

8、启动测试

$cd /home/hadoop/app/hadoop-2.6.0-cdh5.14.0/

$sbin/start-all.sh

$cd  /home/hadoop/app/hive-1.1.0-cdh5.14.0

$bin/hive

你可能感兴趣的:(Hive学习(CDH版Hadoop、Hive安装))