• 二级索引-phoenix-单机部署


    下载##

    下载地址下下载以下对应hbase版本的版本:

    • phoenix-4.7.0-HBase-1.0/bin/phoenix-4.7.0-HBase-1.0-bin.tar.gz

    安装部署##

    1. 解压 tar zxvf phoenix-4.7.0-HBase-1.0-bin.tar.gz

    2. 修改${HBASE_HOME}/conf/hbase-site.xml

      	<property>
       		<name>hbase.regionserver.wal.codec</name>
       		<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
      	</property>
      	<property>
      	    <name>hbase.region.server.rpc.scheduler.factory.class</name>
      	    <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>
      	</property>
      	<property>
      	    <name>hbase.rpc.controllerfactory.class</name>
      	    <value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value>
      	</property>
      
    3. 拷贝phoenix文件夹里的以下jar包到${HBASE_HOME}/lib
      phoenix-4.7.0-HBase-1.0-client.jar
      phoenix-4.7.0-HBase-1.0-server.jar
      phoenix-core-4.7.0-HBase-1.0.jar

    4. 修改/etc/profile

      export PHOENIX_HOME=/opt/cdh/phoenix-hbase
      export CLASSPATH=PHOENIX_HOME:CLASSPATH
      export PATH=.:PATH:PHOENIX_HOME/bin
      
    5. source /etc/profile

    6. $PHOENIX_HOME/bin/sqlline.py ubuntu:2181开启phoenix

    源码安装##

    由于cdh不支持apache的phoenix-hbase1.0的安装,需要源码编译phoenix。

    目前测试两种源码,一种是apache源码phoenix4.2.0,一种是从下载地址下载的4.7-HBase-1.0-cdh5.5版本。

    apache源码需要修改pom.xml文件里的hadoop和Hbase版本,可以保证版本一致性;github版本的不需要修改pom.xml,但是版本不一致,曾修改过导致maven过程出错。

    在执行sqlline.py之后报错:

    Error: org.apache.hadoop.hbase.DoNotRetryIOException: SYSTEM.CATALOG: org.apache.hadoop.hbase.client.Scan.setRaw(Z)Lorg/apache/hadoop/hbase/client/Scan;
    
    at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:87)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.createTable(MetaDataEndpointImpl.java:1318)
    at org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService.callMethod(MetaDataProtos.java:11715)
    at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7388)
    at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1776)
    at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1758)
    at org.apache.hadoop.hbase.protobuf.generated.ClientProtosClientService2.callBlockingMethod(ClientProtos.java:32209)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2034)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
    at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
    at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Scan.setRaw(Z)Lorg/apache/hadoop/hbase/client/Scan;
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.buildDeletedTable(MetaDataEndpointImpl.java:1016)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.loadTable(MetaDataEndpointImpl.java:1091)
    at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.createTable(MetaDataEndpointImpl.java:1265)
    ... 10 more (state=08000,code=101)
    
    

    以下为两种源码安装方法:

    1. apache下的phoenix4.2.0-src
    2. githun下的phoenix4.7-hbase1.0-cdh5.5下载地址

    apache源码需要修改pom.xml文件里的hadoop和Hbase版本,可以保证版本一致性;github版本的不需要修改pom.xml,但是版本不一致,曾修改过导致maven过程出错

    重新安装

    由于以上皆无法安装,更改Hbase的版本为apache的hbase1.0.1.1版本,重新部署hbase,按照以上正常部署phoenix的步骤安装即可。

  • 相关阅读:
    前端编程规范记录
    搬砖工坑爹教程
    JS的模块化编程学习之旅
    后端开发遇到的问题
    git学习中遇到的疑难杂症
    微信小程序填坑之旅
    详解Redis中两种持久化机制RDB和AOF
    redis系列:RDB持久化与AOF持久化
    Java中判断字符串是否为数字
    @Aspect 注解使用详解
  • 原文地址:https://www.cnblogs.com/fengzzi/p/10033831.html
Copyright © 2020-2023  润新知