关于启动Hbase时所报的异常
liu: starting zookeeper, logging to /usr/java/hbase/bin/../logs/hbase-root-zookeeper-liu.outstarting master, logging to /usr/java/hbase/logs/hbase-root-master-liu.outJava HotSpot(TM) 64-Bit Server
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 日志中报错
- java.lang.reflect.InvocationTargetException
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:600)
- at jp.co.dgic.testing.common.DJUnitClassLoader.getModifiedClass(DJUnitClassLoader.java:106)
- at jp.co.dgic.testing.common.DJUnitClassLoader.findClass(DJUnitClassLoader.java:56)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:653)
- at jp.co.dgic.testing.common.DJUnitClassLoader.loadClass(DJUnitClassLoader.java:45)
- at jp.co.dgic.testing.common.DJUnitEclipseClassLoader.loadClass(DJUnitEclipseClassLoader.java:59)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
我的hadoop用的 1.1.2
但是我的hbase用的1.2.1 两个版本不兼容
所以重新下了个hbase0.9.4 才弄好;了 真是气人啊
更多推荐
所有评论(0)