• HBase启动问题(一) org/apache/hadoop/hbase/master/ClusterSchema


    错误如下:

    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
    Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
    Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (524288k) is equal to or greater than the entire heap (524288k).  A new max generation size
     of 524224k will be used.
    Error: A JNI error has occurred, please check your installation and try again
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/master/ClusterSchema
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
    	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    	at java.lang.Class.getDeclaredMethods0(Native Method)
    	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    	at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    	at java.lang.Class.getMethod0(Class.java:3018)
    	at java.lang.Class.getMethod(Class.java:1784)
    	at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
    	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
    Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.master.ClusterSchema
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:371)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    	... 19 more
    Caused by: java.util.zip.ZipException: error reading zip file
    	at java.util.zip.ZipFile.read(Native Method)
    	at java.util.zip.ZipFile.access$1400(ZipFile.java:60)
    	at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:734)
    	at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:434)
    	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
    	at sun.misc.Resource.getBytes(Resource.java:124)
    	at java.net.URLClassLoader.defineClass(URLClassLoader.java:463)
    	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    	... 25 more
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    过程: 之前还可以正常使用,但是因为强行杀死进程后,再次启动出现次问题。

    网上的解决方案,都不可行:

    1. 说是hadoop的jar 和 hbase的 jar包冲突,将hbase下lib的jar包,拷贝到hadoop的lib包中,无用;
    2. 说是jdk的 java 和 javac版本不同。
      这两种情况都不行。

    ====================================
    具体解决如下:
    考虑到都在说jar,所以怀疑是jar出现损坏,那么就将现有的hbase中lib目录下的jar删除,重新解压一个,拷贝进来, 可以!!!!

    问题二:进入到hbase的shell控制台,输入list命令,出现以下异常:

    ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
    	at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2731)
    	at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:1067)
    	at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
    	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
    	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
    	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
    	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
    
    List all user tables in hbase. Optional regular expression parameter could
    be used to filter the output. Examples:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    处理方法:进入到hadoop的安装目录, 在bin目录下,执行:

    ./hadoop dfsadmin -safemode leave 
    
    • 1

    但是重新进入hbase的shell命令,出现了新的错误:

    ERROR: KeeperErrorCode = NoNode for /hbase/master
    
    • 1

    这个问题,可能和hadoop、zookeeper,hbase本身都有关系:
    我这里查看了以下zookeeper的日志,发现了:

    EndOfStreamException: Unable to read additional data from client sessionid 0x1831bd77ab70004, likely client has closed socket
    	at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)
    	at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:203)
    	at java.lang.Thread.run(Thread.java:748)
    
    • 1
    • 2
    • 3
    • 4

    而且,hbase 我已经执行命令停止了,但是jps的时候,还是存在 Main的信息; 但是HMaster已经没有了。

    解决办法:
    将zookeeper、hbase、hadoop都停止了,通过jps查看,没有关闭的,手动kill。 然后依次启动 zookeeper、hadoop、 hbase。 问题解决!

    这个是我思路,肯定不适合其他同学的情况,仅供参考!

  • 相关阅读:
    【Lilishop商城】记录一下B2B2C商城系统学习笔记~
    人工智能基础_机器学习027_L2正则化_岭回归_非稀疏性_原理解读_公式推导---人工智能工作笔记0067
    留意差距:弥合网络安全基础设施的挑战
    (原创)【B4A】一步一步入门07:EditText,文本框、密码框、键盘样式、提示文本(控件篇03)
    从零开始的 MyBatis 拦截器之旅:实战经验分享
    时序处理的一些命令
    艾美捷PEG化蛋白ELISA试剂盒—高度灵敏度,高通量格式!
    一文带你深入了解Linux IIO 子系统
    浅谈Zk和Optimistic Rollups:原理、区别和前景
    [Spring MVC 4] MyBatis 分页开发
  • 原文地址:https://blog.csdn.net/beishanyingluo/article/details/126767132