1. 程式人生 > >hbase無法啟動Regionserver:ClassNotFoundException: org.apache.hadoop.util.PlatformName問題解決

hbase無法啟動Regionserver:ClassNotFoundException: org.apache.hadoop.util.PlatformName問題解決

java.lang.RuntimeException: Failed construction of Regionserver: class org.apache.hadoop.hbase.regionserver.HRegionServer  at org.apache.hadoop.hbase.regionserver.HRegionServer.constructRegionServer(HRegionServer.java:2325)  at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:61)  at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:85)  at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)  at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)  at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2340) Caused by: java.lang.reflect.InvocationTargetException  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)  at java.lang.reflect.Constructor.newInstance(Constructor.java:526)  at org.apache.hadoop.hbase.regionserver.HRegionServer.constructRegionServer(HRegionServer.java:2323)  ... 5 more Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName  at org.apache.hadoop.security.UserGroupInformation.getOSLoginModuleName(UserGroupInformation.java:303)  at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:348)  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  at java.lang.reflect.Method.invoke(Method.java:606)  at org.apache.hadoop.hbase.util.Methods.call(Methods.java:39)  at org.apache.hadoop.hbase.security.User.call(User.java:434)  at org.apache.hadoop.hbase.security.User.callStatic(User.java:424)  at org.apache.hadoop.hbase.security.User.access$200(User.java:49)  at org.apache.hadoop.hbase.security.User$SecureHadoopUser.isSecurityEnabled(User.java:412)  at org.apache.hadoop.hbase.security.User$SecureHadoopUser.login(User.java:383)  at org.apache.hadoop.hbase.security.User.login(User.java:207)  at org.apache.hadoop.hbase.security.UserProvider.login(UserProvider.java:113)  at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:573)  ... 10 more Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)  at java.security.AccessController.doPrivileged(Native Method)  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)  ... 25 more 解決方法:  由於hbase執行時缺少hadoop-auth-2.2.0.jar包的問題,將hadoop-2.2.0/share/hadoop/common/lib/目錄下hadoop-auth-2.2.0.jar拷貝到hbase的依賴包目錄:hbase/lib/