zoukankan      html  css  js  c++  java
  • Phoenix编译支持CDH

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl/p/6898227.html 转载请注明出处

    最近由于想调研下低延迟的数据查询框架,那么基于SQL on Hbase的Phoenix是必不可少的,先熟悉下它的编译和部署并记录下过程

    Phoenix编译

    由于当前我的测试集群是CDH5.4.0,而它并没有把phoenix include进去,因为需要自己修改phoenix的pom依赖及几个类文件,然后进行编译后才能使用,过程如下

    源码下载

    先去GitHub下载v4.6.0-Hbase-1.0的源码zip包,解压后导入到本地IDE.

    源码修改

    1. 先修改repository下的依赖,让phoenix依赖CDH的repository而不依赖apache原生的,修改完如下截图
    2. 修改几个重要的依赖组件如hbase,flume,hadoop等版本依赖,如下图所示,全部修改成CDH的对应版本

      注意上图我本来想修改pig也为对应CDH版本的,但是修改后无法编译成功,因此暂时不动它了.
    3. 修改LocalIndexMerger.java类中82行rmt.prepareMutationsForMerge方法调用,添加第6个参数传值为1
    4. 修改IndexSplitTransaction.java类中275行MetaTableAccessor.splitRegion方法调用,添加第6个参数传值为1

    源码编译

    第二步中修改完成后,直接在phoenix源代码根目录下执行mvn clean install -DskipTests后等待编译成功
    随后可以去phoenix-assembly arget目录下查看结果,如下图

    Phoenix部署

    编译完成后,上面结果图中除了phoenix-4.6.0-HBase-1.0.tar.gz是已经打包好解压后就可以直接用的phoenix外,其他的7个jar包都是必不可少的,随后需要进行几步安装和部署才能使用,如下

    phoenix安装

    To install a pre-built phoenix, use these directions:
    Download and expand the latest phoenix-[version]-bin.tar.
    Add the phoenix-[version]-server.jar to the classpath of all HBase region server and master and remove any previous version. An easy way to do this is to copy it into the HBase lib directory (use phoenix-core-[version].jar for Phoenix 3.x)
    Restart HBase.
    Add the phoenix-[version]-client.jar to the classpath of any Phoenix client.

    可以参考官网这句描述,这里不用再download官网的phoenix-[version]-bin.tar了,上面的phoenix-4.6.0-HBase-1.0.tar.gz可以直接用,如果不放心的话可以去官网download,具体步骤如下

    • 在Hbase集群任意一节点下解压phoenix-4.6.0-HBase-1.0.tar.gz,随后将那7个jar包拷贝到解压后的lib目录下(如果存在其他版本需要先删除掉)
    • 将phoenix-4.6.0-HBase-1.0-server.jar拷贝到每一个regionserver以及master的classpath下,这里基于CDH,可以做如下拷贝
      比如,cp phoenix-4.6.0-HBase-1.0-server.jar /opt/cloudera/parcels/CDH-5.4.0-1.cdh5.4.0.p0.27/lib/hbase/lib
    • 重启Hbase集群

    Phoenix测试

    进入phoenix根目录的bin下,执行./sqlline.py localhost:2181,出现如下结果表示phoenix安装成功

  • 相关阅读:
    Linux下Nginx服务Rewrite和Proxy_Pass
    nginx配置中proxy_redirect的作用(转)
    nginx location rewrite常用详解
    Nginx URL重写(rewrite)配置及信息详解
    Selenium上传文件
    Selenium测试Ajax应用程序中的主要问题
    Selenium得到当前页面的URL
    Selenium高亮页面对象
    Selenium简单测试页面加载速度的性能(Page loading performance)
    Selenium Page object Pattern usage
  • 原文地址:https://www.cnblogs.com/cssdongl/p/6898227.html
Copyright © 2011-2022 走看看