CDH5..4.7+phoenix实现查询HBase异常:java.sql.SQLException: ERROR 1102 (XCL02): Cannot get all table regions
2016-01-07 09:47
1571 查看
基础环境是用CM 安装的cdh5.4.7,phoenix使用的版本是phoenix-4.5.2-HBase-1.0-bin。
出现异常信息:java.sql.SQLException: ERROR 1102 (XCL02): Cannot get all table regions
下载地址:http://mirror.bit.edu.cn/apache/phoenix/phoenix-4.5.2-HBase-1.0/bin/phoenix-4.5.2-HBase-1.0-bin.tar.gz
安装步骤参考:https://phoenix.apache.org/installation.html
配置环境变量:
export PHOENIX_HOME=/opt/phoenix-4.6.0-HBase-1.0-bin
export PATH=$PATH:$JAVA_HOME/bin:$PHOENIX_HOME
export CLASSPATH=.:$PHOENIX_HOME/phoenix-4.6.0--HBase-1.0-client.jar
出现异常信息:
[root@node2 bin]# ./sqlline.py node2:2181
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:node2:2181 none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:node2:2181
错误原因:
phoenix的server jar包放错目录了。正确的目录是需要放在/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hbase/lib。
我之前错误的放在/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hbase/
以上错误解决办法:将phoenix服务包放在/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hbase/lib 即可
另一个错误:
解决办法,需要重新编译phoenix源码包。
出现异常信息:java.sql.SQLException: ERROR 1102 (XCL02): Cannot get all table regions
下载地址:http://mirror.bit.edu.cn/apache/phoenix/phoenix-4.5.2-HBase-1.0/bin/phoenix-4.5.2-HBase-1.0-bin.tar.gz
安装步骤参考:https://phoenix.apache.org/installation.html
配置环境变量:
export PHOENIX_HOME=/opt/phoenix-4.6.0-HBase-1.0-bin
export PATH=$PATH:$JAVA_HOME/bin:$PHOENIX_HOME
export CLASSPATH=.:$PHOENIX_HOME/phoenix-4.6.0--HBase-1.0-client.jar
出现异常信息:
[root@node2 bin]# ./sqlline.py node2:2181
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:node2:2181 none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:node2:2181
ERROR 1102 (XCL02): Cannot get all table regions (state=XCL02,code=1102) java.sql.SQLException: ERROR 1102 (XCL02): Cannot get all table regions at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:388) at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145) at org.apache.phoenix.query.ConnectionQueryServicesImpl.getAllTableRegions(ConnectionQueryServicesImpl.java:451) at org.apache.phoenix.query.ConnectionQueryServicesImpl.checkClientServerCompatibility(ConnectionQueryServicesImpl.java:951) at org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:877) at org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1223) at org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(DelegateConnectionQueryServices.java:113) at org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1937) at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:751) at org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:186) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:320) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:312) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:310) at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1896) at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77) at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1896) at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:180) at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:132) at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:151) at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157) at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203) at sqlline.Commands.connect(Commands.java:1064) at sqlline.Commands.connect(Commands.java:996) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) at sqlline.SqlLine.dispatch(SqlLine.java:804) at sqlline.SqlLine.initArgs(SqlLine.java:588) at sqlline.SqlLine.begin(SqlLine.java:656) at sqlline.SqlLine.start(SqlLine.java:398) at sqlline.SqlLine.main(SqlLine.java:292) Caused by: org.apache.hadoop.hbase.client.NoServerForRegionException: No server address listed in hbase:meta for region SYSTEM.CATALOG,,1452072854761.0856fe481c7eb7920a7605037e9d1c2d. containing row at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1243) at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1109) at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.relocateRegion(ConnectionManager.java:1080) at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.relocateRegion(ConnectionManager.java:1064) at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getRegionLocation(ConnectionManager.java:885) at org.apache.phoenix.query.ConnectionQueryServicesImpl.getAllTableRegions(ConnectionQueryServicesImpl.java:437) ... 33 more
错误原因:
phoenix的server jar包放错目录了。正确的目录是需要放在/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hbase/lib。
我之前错误的放在/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hbase/
以上错误解决办法:将phoenix服务包放在/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hbase/lib 即可
另一个错误:
解决办法,需要重新编译phoenix源码包。
相关文章推荐
- sqoop2 java 批量入库程序
- java 记事本界面
- java 静态代码块 静态方法区别
- java 中 JComboBox,JList,JScrollPane的用法
- java中多种布局管理器的混合使用
- java GridLayout布局 网格布局演示
- Myeclipse2013的优化设置
- Eclipse上安装GIT插件EGit
- eclipse中导入maven项目出现UNbound classpath variable
- java FlowLayout 流式布局演示
- java BorderLayout演示 边界布局演示
- Spring 3.2.* MVC通过Ajax获取JSON数据报406错误
- java中事件监听机制
- java中加深对事件处理机制
- java java事件处理机制 event
- java Date类型插入orcale数据库是出现时分秒丢失现象
- java 实现坦克大战终极版
- Java数据精度
- java实现http的Post、Get、代理访问请求
- Spring 集成Quartz Scheduler 定时调度任务 Example