解决:java jdbc操作phoenix报错:Cannot initiate connection as SYSTEM:CATALOG is found but client does not...

集群是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也能运行


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容