DBeaver连接Phoenix

DBeaver连接Phoenix

1. 下载安装好DBerver之后,选择Apache Phoenix连接

DBeaver连接Phoenix_第1张图片

2. 编辑Phoenix连接的设置参数

DBeaver连接Phoenix_第2张图片

驱动只需要添加phoenix-4.15.0-HBase-1.5.jar即可,图中/hbase可以在HBase的Web页面上找到。

DBeaver连接Phoenix_第3张图片

需要注意的是在选择phoenix-4.15.0-HBase-1.5.jar之前,将HBase目录中conf目录下的hbase-site.xml压缩到jar包中,如果和我一样使用的是高可用的hadoop集群,那么还需要将hdfs-site.xmlcore-site.xml也同时压缩到jar包中。

同时将Phoenix安装包下的phoenix-core-4.15.0-HBase-1.5.jarphoenix-server-4.15.0-HBase-1.5.jar放到HBase的安装目录下的lib目录中。

主机位置写服务器中任意一个Zookeeper节点的IP地址即可。点击测试连接即可连接成功。

3. 常见错误
1. 测试成功后库中的表显示不出来

在驱动属性中增加以下属性:

phoenix.schema.isNamespaceMappingEnabled  true
phoenix.schema.mapSystemTablesToNamespace  true

DBeaver连接Phoenix_第4张图片

需要注意的是,同时也要在HBase的配置文件hbase-site.xml中配置如下信息:

<property>
    <name>phoenix.schema.isNamespaceMappingEnabledname>
    <value>truevalue>
property>
<property>
    <name>phoenix.schema.mapSystemTablesToNamespacename>
    <value>truevalue>
property>
2. 报如下错误
Unexpected driver error occurred while connecting to the database
  java.lang.RuntimeException: class org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback not org.apache.hadoop.security.GroupMappingServiceProvider
  java.lang.RuntimeException: class org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback not org.apache.hadoop.security.GroupMappingServiceProvider
    class org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback not org.apache.hadoop.security.GroupMappingServiceProvider
    class org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback not org.apache.hadoop.security.GroupMappingServiceProvider

ERROR 103 (08004): Unable to establish connection.
  java.lang.reflect.InvocationTargetException
  java.lang.reflect.InvocationTargetException
    
    java.lang.reflect.InvocationTargetException
      'void sun.misc.Unsafe.putLong(java.lang.Object, int, long)'
      'void sun.misc.Unsafe.putLong(java.lang.Object, int, long)'
org.apache.hadoop.hbase.DoNotRetryIOException: Unable to load configured region split policy 'org.apache.phoenix.schema.MetaDataSplitPolicy' for table 'SYSTEM:CATALOG' Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks
	at org.apache.hadoop.hbase.master.HMaster.warnOrThrowExceptionForFailure(HMaster.java:2051)
	at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1897)
	at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1799)
	at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:487)
	at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2399)
	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:311)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:291)

报以上两种错误可以尝试修改DBeaver安装路径中的dbeaver.ini文件,添加自己JDK的路径:

-vm
C:\Program Files\Java\jdk1.8.0_201\bin

你可能感兴趣的:(Hbase,hbase,phoenix)