解决ThriftServer(hbase相关结点)结点无法停止问题
之前在通过PyCharm远程连接HBase时,启动了thrift相关结点,但却发现无法关闭
报错提示:
hadoop@master:/usr/local/hbase/bin$ ./hbase-daemon.sh stop thrift
no thrift to stop because kill -0 of pid failed with status 2
rm: cannot remove '/var/hadoop/pids/hbase-hadoop-thrift.pid': Permission denied
先说解决方案:
上述报错有两处:一是结点无法停止问题,二是 rm 时文件权限不够(暴力解决方法:赋予文件所有权限 chmod 777 文件名)
解决结点无法停止问题
单点模式:只需在hbase-env.sh 文件下加入:export HBASE_PID_DIR=/var/hadoop/pids
集群模式:在所有机器下的hbase-env.sh 文件下加入:export HBASE_PID_DIR=/var/hadoop/pids
配置完后,创建出对应的文件夹 /var/hadoop/pids 正常是需要创建 hadoop 和 pids 这两个文件夹
export HBASE_PID_DIR=/var/hadoop/pids
修改后:
问题原因:
因为我配置的是集群,不知到什么原因,只在主机的hbase-env.sh 文件下配置了 export HBASE_PID_DIR=/var/hadoop/pids,然而在其他的两个从机上都没有配置,所以导致结点无法停止。
在解决这个问题时的发现:
之前每次关闭hbase相关节点时,发现都无法关闭,但在关闭hadoop相关结点时,hbase结点都关了,所以没当回事,通过解决这个问题,个人认为之前hbase结点都是在hadoop关闭后自动掉了。
总结:
在配置集群时,最好先在主机上配置好相关配置后在scp到从机,减少不必要的麻烦。