完整错误

Error: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enabled (state=43M10,code=726)

1. 使用客户端软件时

如果你在配置文件中配置了这个

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

使用squirrel工具连接时,出现的这个错误。需要在连接的时候也要指明此属性。如下

第一步:

第二步

第三步

 

 第四步

添加上phoenix.schema.isNamespaceMappingEnabled属性名,并指定值为true

 第五步

第六步:连接

2. 代码编码,需要获取连接进行操作时

如果时在spark编码时出现的这个错误,可以尝试一下以下代码(注意在获取连接查询数据的时候,可以配置)

 val properties = new Properties
    //避免namespace相关问题,添加上配置即可
    properties.put("phoenix.schema.isNamespaceMappingEnabled","true")
    //获取链接
    val connection: Connection = DriverManager.getConnection("jdbc:phoenix:hadoop102,hadoop103,hadoop104:2181",properties)

如果是通过phoenix向Hbase中保存数据,此种配置也会出错。

3.其他解决方式可以参考此链接配置解决。(关闭namespace相关)

Warning:以下方式可能造成Hbase中数据的丢失,不过能解决上面出现的问题,是否删除自己决定哦

如果参考连接中的方法不能解决问题,这时还需要清除hbase相关的数据,

    第一:删除hdfs中hbase的数据地址

    第二:删除zookeeper中hbase的节点

    第三:重启hbase

注意:第2方式和第3方式不能同时配置,如果同时配置了好像也会出现错误。

Logo

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

更多推荐