参考博客:hbase引入Phoenix启动出错
环境
Hbase:hbase-2.5.6-hadoop3
phoenix:phoenix-hbase-2.5-5.1.3-bin
解决办法
复制包的时候只需要将下方两个jar包复制过去
-
phoenix-pherf-5.1.3.jar
-
phoenix-server-hbase-2.5-5.1.3.jar
# NO!
cp /phoenix 的路径/phoenix-*.jar /HBase的路径/lib
# YES!
cp /phoenix 的路径/phoenix-pherf-5.1.3.jar /HBase的路径/lib
cp /phoenix 的路径/phoenix-server-hbase-2.5-5.1.3.jar /HBase的路径/lib
然后分发到其他服务器就可以启动HBase了,并且可以正常启动phoenix客户端
原因
在将jar复制到HBase的lib目录时是否使用的是下方命令
cp /export/server/phoenix/phoenix-*.jar /export/server/hbase-2.5.6-hadoop3/lib
精简版
不要全部复制过去
详细原因
如果使用的是上方命令的话就会将所有phoenix开头,中间有-,并且以jar结尾的包给复制到hbase的lib包下,其中包含了phoenix自带的软连接(红框处),将软连接一起复制到lib包下会导致对应的jar包存在问题(不是很确定,如果有懂的大佬请指正),复制过去的时候只需要个别jar本体就可以了,不需要将软连接一起复制过去