Hbase PleaseHoldException错误

PleaseHoldException

① 原因:(由于正在操作Hbase时,电脑突然关机,未正常关闭hbase,故导致shell无法正常显示)如下图:

          

②解决过程:

     先在网上百度到了使用https://blog.csdn.net/liulang12580/article/details/77841699 可能是因为出错原因不同,所以使用教程并不能完全解决问题,还导致出了别的问题

          问题1  Can't get master address from ZooKeeper; znode data == null解决办法

               

          解决方法

              http://www.aboutyun.com/thread-8691-1-1.html

         

         问题2    (pid文件在stop-all.sh stop-dfs.sh,stop-yarn.sh脚本,发现原理都是通过一个pid文件来停止集群的。这些进程的pid文件默认都是保存在系统的/tmp目录下面,不存在

  

 

                参考教程:  https://blog.csdn.net/YonJarLuo/article/details/78252637

         先解决了以上问题。

 

     建议:百度纠错时,尽量找与自己出错原因相近的教程解决问题,否则会给自己带来很多麻烦。

          然后解决以上问题后,又回到了最初的错误。

          

 

        然后找到了和我一样的情况的博客:https://blog.csdn.net/qq_41665356/article/details/80271562  参考它解决了问题。

     

        首先

      ① 检查文件 :

        hdfs fsck / -locations -blocks -files

 

        出现以下结果:

        

                                                      图            1

        

                                                图     2(删除一个文件后)

 

        以上黄色的部分表明:

                            图 1  有2个文件处于打开状态,说明当时正在写文件时断电了,因此需要删除这2个文件,才可正常启动HBase。

                            图 2  有1个文件处于打开状态,说明当时正在写文件时断电了,因此需要删除这1个文件,才可正常启动HBase。(因为删除了前一个文件的过程没截图,直接从这个文件开始解释。)

 

      ② 查看哪些文件正在打开中:

          hdfs fsck / -openforwrite    

         

            如下图所示:

           

     

      ③黄色部分即为打开的文件执行删除文件(删除的文件与你的上一步结果相对应)

        Hadoop dfs -rm

            /hbase/WALs/zhaoteng-virtualbox,16201,1539096368516/zhaoteng-virtualbox%2C16201%2C1539096368516.meta.1539096385044 

          再次检查:

             hadoop fsck / -openforwrite

    

              黄色部分没有文件即可。

              然后重启hbase即解决问题。

     

                

 

posted @ 2018-10-10 13:17  s硕s  阅读(542)  评论(0编辑  收藏  举报