phoenix有一个大表,数据其实也不算太多。300多万条记录,另外还有5-6个二级索引表。在sqlline.py里执行delete命令,超时,数据删除剩下80多万条,继续执行delete命令。。。大事不好了。。。
1.执行stop-hbase.sh 超时,关闭不了
2.启动hbase shell:
报:
ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
2.phoenix sqline.py启动不了客户端
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
18/12/05 10:17:28 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Traceback (most recent call last):
File "/home/linkedcare/phoenix-4.8.0-cdh5.8.0/bin/sqlline.py", line 120, in <module>
(output, error) = childProc.communicate()
File "/usr/lib64/python2.7/subprocess.py", line 797, in communicate
self.wait()
File "/usr/lib64/python2.7/subprocess.py", line 1376, in wait
pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
File "/usr/lib64/python2.7/subprocess.py", line 478, in _eintr_retry_call
return func(*args)
KeyboardInterrupt
既然hbase都关闭不了,直接重启reboot三台集群机器
重启好了之后,重新启动hadoop集群和hbase集群。
启动正常之后,因为发觉之间的ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 的问题,http://zhao-rock.iteye.com/blog/1969502
有可能是集群时间不同步导致的问题,首先通过在三台集群中配置ntp同步系统时间。参考 这篇:
https://blog.csdn.net/loopeng1/article/details/79051884
hbase启动正常,但是phoenix 仍无法启动。报错如下,并且客户端 phoenix java代码也无法连接上集群服务器。
18/12/05 10:26:18 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Error: java.lang.RuntimeException: java.lang.NullPointerException (state=,code=0)
java.sql.SQLException: java.lang.RuntimeException: java.lang.NullPointerException
at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2575)
at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2300)
at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
at org.apache.phoenix.