phoenix的链接问题

phoenix开启schema后的客户端连接问题

1.关于cdh的phoenix启动问题
2. 我的Phoenix版本如下:

在这里插入图片描述

3. 关于Phoenix最开始的启动问题:
# 关于Phoenix的启动异常
+ export HBASE_CONF_DIR=/run/cloudera-scm-agent/process/1414-phoenix-PHOENIX_QUERY_SERVER/hbase-conf
+ HBASE_CONF_DIR=/run/cloudera-scm-agent/process/1414-phoenix-PHOENIX_QUERY_SERVER/hbase-conf
+ exec /opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/bin/queryserver.py
  File "/opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/bin/queryserver.py", line 137
    print "<service>"
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("<service>")?
4. Phoenix启动的时候需要依赖python环境, 我最开始安装的是python3.8版本

在这里插入图片描述

5. 经过查询,根据报错提示,打印的方法是没有括号的, 属于python2版本,跟现有python版本相冲突,需要修改python版本,后续安装python版本如下:

在这里插入图片描述

6. 当修改正常匹配的版本后,Phoenix可以正常启动,无异常,启动日志如下:
+ PHOENIX_CONF=./phoenix-site.xml
+ sed -i '$ d' ./hbase-conf/hbase-site.xml
+ grep -E '<?property>|<?name>|<?value>' ./phoenix-site.xml
+ echo '</configuration>'
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ export HBASE_CONF_DIR=/run/cloudera-scm-agent/process/1416-phoenix-PHOENIX_QUERY_SERVER/hbase-conf
+ HBASE_CONF_DIR=/run/cloudera-scm-agent/process/1416-phoenix-PHOENIX_QUERY_SERVER/hbase-conf
+ exec /opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/bin/queryserver.py
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/PHOENIX-5.0.0-cdh6.2.0.p0.1308267/lib/phoenix/phoenix-5.0.0-cdh6.2.0-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/jars/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
7. 注意:为了开启 hbase 的 namespace 和 phoenix 的 schema 的映射,在程序中需要加这个配置文件,另外在 linux 服务上,也需要在 hbase 以及 phoenix 的 hbase-site.xml 配置文件中,加上以上两个配置

Phenix创建TABLE_SCHEM失败:Cannot create schema because config phoenix.schema.isNamespaceMappingEnabled for enabling name space mapping isn’t enabled. schemaName=gmall_2024_realtime

因为没有添加配置,提示创建失败,所以需要修改hbase的 hbase-site.xml,下面的配置是服务端的配置

在这里插入图片描述


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

上面的是hbase的服务端.还需要修改客户端

在这里插入图片描述

配置和服务端配置一样,这样服务端和客户端的配置一致

  <property>
      <name>phoenix.schema.isNamespaceMappingEnabled</name>
      <value>true</value>
  </property>
  <property>
      <name>phoenix.schema.mapSystemTablesToNamespace</name>
      <value>true</value>
  </property>
8. 所有的配置都配置正常,服务正常启动,需要datagrip链接 Phoenix

在这里插入图片描述
在这里插入图片描述

datagrip链接的时候提示,客户端和服务端的配置不一致

在这里插入图片描述

DBMS: Phoenix (版本 5.0)
区分大小写: 普通形式=upper,分隔形式=exact
驱动程序: PhoenixEmbeddedDriver (版本 5.0JDBC1.0)
[43M10][726] ERROR 726 (43M10):  Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enabled.

在datagrip下添加客户端启动schema参数

在这里插入图片描述

在这里插入图片描述

添加上面的配置,这样链接就和服务端的配置一样了
//  这是上面的配置
1.        phoenix.schema.isNamespaceMappingEnabled          true
2.        phoenix.schema.mapSystemTablesToNamespace         true

在这里插入图片描述

配置参数成功,datagrip已经可以正常链接Phoenix,链接成功

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值