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/

發佈了29 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章