关于phoenix编译成CDH依赖以及生成parcel的方法介绍

phoenix编译成CDH依赖以及生成parcel的方法介绍

目录

  • phoenix编译成CDH依赖以及生成parcel的方法介绍
      • 目录
        • 寻找资料
        • 准备
        • 编译
        • 测试
        • 总结

最近在研究使用apache phoenix关于如何编译源码并生成对应cdh依赖的parcel的方法,资料当然是官方找比较好,这个过程首先是从官方论坛搜索关键字,而后在去版本管理找关键字,为什么这么做因为全英语,必然有很多陌生词汇那么首先,给出以下链接,都是从官网论坛搜出来的资料

成品链接http://download.csdn.net/download/nzy900202/10210202

1. 寻找资料

1 http://blog.cloudera.com/blog/2015/05/apache-phoenix-joins-cloudera-labs

这是我首次在cdh论坛上阅读到的关于phoenix加入cloudera-labs的消息,看起来挺官方的

2 http://archive.cloudera.com/cloudera-labs/phoenix/parcels/

这里对应是上面的仓库,可以发现,其中都是较早版本的phoenix 大概最新的也是phoenix 4.7 (目前至少4.13)
这个cloudera域名仓库下的parcel 是可以用的我尝试在我的cdh5.13中安装,安装成功,一些基本的操作是可以的
具体这个版本,不过多叙述,详情可以参看这些连接内容,都有详细的说明

3 https://issues.apache.org/jira/browse/PHOENIX-4372

至此 这里是我们所要说的重点,这是phoenix项目的issues
在这里找到了真正的编译所需要用的资料,通过这里我们可以看到,一个Apache Phoenix 4.13.0 for CDH 5.11.2
的版本 这与我所需要的版本已经很接近了,而且这个评论区也在更新内容 因此我尝试再次入手

2. 准备

1.下载所需要的源码

这里是源码,选择你所需要的源码 https://github.com/apache/phoenix
找到你所需要的版本下载后导入编译工具

2.准备patch文件     

https://issues.apache.org/jira/secure/attachment/12899471/PHOENIX-4372-v7.patch
这里使用v7 准备版本

3. 编译

maven的编译 这里的就不多说了 ,以图带话

编译时间一般需要很长,耐心等待。因为要去cloudera下载编译用依赖包

这里的kerberos的错误可以忽略,不影响编译
关于phoenix编译成CDH依赖以及生成parcel的方法介绍_第1张图片
编译后
关于phoenix编译成CDH依赖以及生成parcel的方法介绍_第2张图片
parcel 在这个位置
关于phoenix编译成CDH依赖以及生成parcel的方法介绍_第3张图片
编译文件在这个地方。也可以单独使用(似乎不需要)
关于phoenix编译成CDH依赖以及生成parcel的方法介绍_第4张图片

4. 测试

编译好的parcel需要配置一个sha文件 这里我用的是一个叫做Hash的小工具(蓝色小钥匙图标),东西不难找到 完成后应该是这样的
APACHE_PHOENIX-4.13.1-cdh5.13.1.p0.0-el7.parcel
APACHE_PHOENIX-4.13.1-cdh5.13.1.p0.0-el7.parcel.sha
mainfest.json(这个在新版本的cm中是不用带也是可以的) 注意sha文件中放置hash的时候要用小写。工具默认给的大写
将这些文件放置在 /opt/cloudera/parcel-repo(如果你没有改动的话)
这里向集群发布
关于phoenix编译成CDH依赖以及生成parcel的方法介绍_第5张图片

5. 总结

根据这一套方法编译后cdh基本就可以正常运行phoenix,但是不足的地方有以下几个
1. 没有phoenix-thin的命令—这个解决方法也是容易解决
编写一个对应脚本放置在pheonix的目录下 就可以解决
phoenix-quary同理
2. 没有经过全方位的测试,代码有所改动,特别是kerberos部分。本人也没有测试,因此如果要使用此方法一定要严格测试后才可以使用
以上就是phoenix在cdh中的编译使用。欢迎各位指正我的错误。


你可能感兴趣的:(Phoenix)