集群是cdh,安装好之后需要使用jdbc操作phoenix查询hbase中的数据,写了个测试代码如下:
运行报错
百度之后发现有人使用的方法是设置phoenix.schema.isNamespaceMappingEnabled为false,并且要将SYSTEM:CATALOG更名为SYSTEM.CATALOG,这样的确可以解决jdbc的连接问题。但是这样的方法会导致squirrel无法使用。然后我又去google,找到了以下的解决方案。
在hbase-site.xml的客户端和服务端中都添加以下配置:
说实话我也不知道为什么要启用二级索引,我也是刚解决这个问题,然后就迫不及待的来写片文章记录一下,也方便帮助广大猿友解决问题,之后再研究一下。
重启hbase
将hbase-site.xml拷贝到项目的resources目录下,hbase-site.xml默认路径为/etc/hbase/conf,并且在hbase-site.xml中需要有以下配置:
这个配置必须有,其余的可以要也可以不要
启动项目
运行成功
并且squirrel也能运行