环境说明
软件 | 版本 | 说明 |
---|
CentOS | 7.6 | - | CDH版本 | Cloudera Express 5.16.2 (JDK 1.8) | 对应hadoop2.6.0 | Hbase | 社区版 2.0.5 | 非CDH parcels自带, 与phoenix适配器版本: phoenix-5.0.0-HBase-2.0-server.jar | Phoenix | 社区版 5.0.0 | - |
问题描述
[root@dn3 phoenix]
执行上述命令,启动phoenix, 长时间卡住, 但不报错:
引发原因List
可能的原因有:
- cdh的hadoop与hbase2.0.5的版本是否匹配;
- hbase的meta元数据信息是否已经损坏;
- hbase与phoenix的版本是否匹配,详情其官方.
解决方法
经查询, 上述原因的1、3都不是我这边的触发原因.
考虑到此前我本地通过ClouderaManager, 已经安装过parcels版本的hbase(版本号: 1.2.0+cdh5.16.2). 新安装的2.x版本, 可能与老版本在元数据上并不兼容.
由于本地是使用VMWare搭建的虚拟机集群, 且hbase数据仅用于实验目的. 故采用暴力方式处理(如果是prod, 且hbase中已经存储了重要数据, 请仔细查找直接原因, 同时做好数据备份):
- 删除hdfs目录 /hbase;
- 删除ZooKeeper上的 /hbase 节点.
- 重启Hbase集群;
执行完上述操作后, 再次重新运行phoenix 命令行启动命令, 即连接上hbase了:
[root@dn3 phoenix]
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:dn3,dn4,dn5:2181 none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:dn3,dn4,dn5:2181
22/07/14 01:37:36 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Connected to: Phoenix (version 5.0)
Driver: PhoenixEmbeddedDriver (version 5.0)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
136/136 (100%) Done
Done
sqlline version 1.2.0
0: jdbc:phoenix:dn3,dn4,dn5:2181>
|