01 缘由:
最近由于在开发flink,所以安装了hadoop和hbase,在HBASE安装好一会安装Phoenix来方便使用。
02 问题描述:
hbase 版本1.3.1 安装模式 分布式 在个人虚拟机上安装3节点。
其中hbase安装好以后测试通过,我新建了一张测试表,查询和插入都没有问题。
安装Phoenix版本 apache-phoenix-4.15.0-HBase-1.3-bin.tar.gz ,解压完成后发送Phoenix clinent server core三个包到hbase的lib包下。启动./sqlline.py 后,Phoenix的元数据文件一直没有全部生成,只生产一张catalog表。
刚开始以为是元数据生抽异常,遂删除在zk上的hbase元数据,
在zk的bin下 启动zkCli.sh ,ls 查看 然后删除 rmr /hbase 然后重新启动hbase.
查看master日志,发现
ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting java.lang.RuntimeException: HRegionServer Aborted |
03 解决方案
发现是hbase 和Phoenix版本兼容问题。遂降低Phoenix版本适配安装包
重新再Phoenix官网下载apache-phoenix-4.14.3-HBase-1.3-bin.tar.gz
删除上一个版本Phoenix在hbase/lib下的包,重新发送该版本的包,然后启动。
Phoenix 重启,在hbases上成功生抽了元数据。
后记:hbase和Phoenix适配是经常发生的问题,仔细查看日志即可定位问题。