一、问题

使用 Phoenix 客户端连接的时候 Phoenix 时候报错。
错误如下:
Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enabled

二、原因

select  * from SYSTEM."CATALOG";

查看表的 TABLE_SCHEM 发现有些表这个属性为空。 那么如果你没有指定自动映射命名空间,就会报错。

在这里插入图片描述

三、解决方案

在 hbase 的 conf 目录下 hbase-site.xml 文件加入下面的属性:

<property>
   <name>phoenix.schema.isNamespaceMappingEnabled</name>
   <value>true</value>
</property>

然后,重启 hbase。

四、使用客户端后报错

如果你在 idea 中使用 Phoenix 客户端,拿么你需要把 hbase-site.xml 文件放到你项目的 Resources 目录下。当然这个 hbase-site.xml 文件也要有

<property>
   <name>phoenix.schema.isNamespaceMappingEnabled</name>
   <value>true</value>
</property>

这个配置。

五、 其他问题

if set once, should not be rollback. Old client will not work after this property is enabled.
如果设置一次,就不应该回滚。启用此属性后,旧客户端将无法工作。

Phoenix开启schema后踩到的坑及Hbase解决方法

cdh版本的Phoenix安装的问题

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐