Ubuntu中Hbase shell命令list命令出现错误的解决办法ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException:
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException:
目录
1.如果用stop-hbase.sh结束不了的话就用kill杀死三个H开头的进程
2.再输入stop-all.sh会结束所有Hadoop的服务。
一、错误信息
在hbase shell下输入list命令出现下面的错误:
二、解决办法
共三种解决办法:
1.1检查hadoop是否为安全模式
hdfs dfsadmin -safemode get #查看安全模式
hdfs dfsadmin -safemode leave #关闭安全模式
关闭状态:
2.2Hadoop和Hbase中的jar包出现冲突
路径:/usr/local/hbase/lib/client-facing-thirdparty下的slf4j-log4j12-1.7.25.jar这个包移动到别的没用的文件夹中,也可以删掉,删掉有风险哦
(注意:因为我的slf4j-log4j12-1.7.25.jar已经被我移动到了别的无用的文件夹中,在此就不展示啦。)
移动命令:
mv slf4j-log4j12-1.7.25.jar /yours file
再把hbase中hbase-env.sh中如果有export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
则把前面的注释去掉并删除true的双引号,没有则添加:
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true
hbase-env.sh的路径为:cd /usr/local/hbase/conf/hbase-env.sh
2.3在hbase-site.xml文件中添加以下配置
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
全要添加哦,localhost:对应的是你Hadoop里的端口号,我的是9000所以localhost:9000
2.4重启Hadoop和hbase
注意:必须先结束hbase在结束Hadoop,顺序反了可能会是Hadoop变成安全模式!!!!
1.如果用stop-hbase.sh结束不了的话就用kill杀死三个H开头的进程
kill
命令用于终止正在运行的进程。它的基本语法如下:
kill [选项] <进程ID>
常用选项包括:
-9
:强制终止进程,即发送SIGKILL
信号。这是最常用的选项,用于强制终止一个进程。-15
(或无选项):优雅地终止进程,即发送SIGTERM
信号。这会让进程有机会做一些清理工作并优雅地退出。
如:
kill -9 1234
2.再输入stop-all.sh会结束所有Hadoop的服务。
最终输入jps一个只有一个给jps进程,注意:如果不是只有一个jps进程其余进程也需要结束!!!
更多推荐
所有评论(0)