liu: starting zookeeper, logging to /usr/java/hbase/bin/../logs/hbase-root-zookeeper-liu.out
starting master, logging to /usr/java/hbase/logs/hbase-root-master-liu.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

starting regionserver, logging to /usr/java/hbase/logs/hbase-root-1-regionserver-liu.out


经过一天的折腾终于找到为什么会报这个错


原来我用的是jdk1.8  

在hbase的配置文件中  /hbase/conf 中的vim hbase-env.sh 中有一句注释我没有发现

那就是这句

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"


一开始下面的两个是默认打开的  后来我才发现 在jdk1.8中不需要这个配置了  将他们注释掉就行了


改完这个错误后  启动hbase后HQuorumPeer可以启动但是HMaster、HRegionServer两个进程没有启动 没有办法只能继续看日志了 

其中master 日志中报错

  1. java.lang.reflect.InvocationTargetException  
  2.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  3.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)  
  4.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  5.     at java.lang.reflect.Method.invoke(Method.java:600)  
  6.     at jp.co.dgic.testing.common.DJUnitClassLoader.getModifiedClass(DJUnitClassLoader.java:106)  
  7.     at jp.co.dgic.testing.common.DJUnitClassLoader.findClass(DJUnitClassLoader.java:56)  
  8.     at java.lang.ClassLoader.loadClass(ClassLoader.java:653)  
  9.     at jp.co.dgic.testing.common.DJUnitClassLoader.loadClass(DJUnitClassLoader.java:45)  
  10.     at jp.co.dgic.testing.common.DJUnitEclipseClassLoader.loadClass(DJUnitEclipseClassLoader.java:59)  
  11.     at java.lang.ClassLoader.loadClass(ClassLoader.java:619)  
整了半天  还是知道了 我的版本不兼容

我的hadoop用的 1.1.2

但是我的hbase用的1.2.1 两个版本不兼容

所以重新下了个hbase0.9.4 才弄好;了   真是气人啊  


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐