赞
踩
环境配置:
Hadoop-3.0.3
HBase-2.1.0
ZooKeeper-3.4.12
问题说明:
- #切换至HBase-2.1.0 的安装目录下的bin文件夹
- cd /usr/local/hadoop/hbase-2.1.0/bin
-
- #启动HBase-2.1.0 服务
- start-hbase.sh
-
- #启动HBase-2.1.0 的shell 命令窗口,执行如下指令
- hbase shell
-
- #验证HBase 服务是否成功时,出现如下错误信息:
- [root@master bin]# hbase shell
- SLF4J: Class path contains multiple SLF4J bindings.
- SLF4J: Found binding in [jar:file:/usr/local/hadoop/hadoop-3.0.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
- SLF4J: Found binding in [jar:file:/usr/local/hadoop/hbase-2.1.0/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
- SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
- SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
- HBase Shell
- Use "help" to get list of supported commands.
- Use "exit" to quit this interactive shell.
- Version 2.1.0, re1673bb0bbfea21d6e5dba73e013b09b8b49b89b, Tue Jul 10 17:26:48 CST 2018
- Took 0.0021 seconds
- hbase(main):001:0> status
-
- ERROR: KeeperErrorCode = NoNode for /hbase/master
-
- For usage try 'help "status"'
-
- Took 8.2867 seconds
查看HBase-2.1.0 的错误日志文件夹(/usr/local/hadoop/hbase-2.1.0/logs)下,打印的错误日志信息:
- java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder
- at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:635)
- at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
- at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
- at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
- at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
- at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
- at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
- at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
- at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
- at org.apache.hadoop.hbase.util.CommonFSUtils.getRootDir(CommonFSUtils.java:358)
- at org.apache.hadoop.hbase.util.CommonFSUtils.isValidWALRootDir(CommonFSUtils.java:407)
- at org.apache.hadoop.hbase.util.CommonFSUtils.getWALRootDir(CommonFSUtils.java:383)
- at org.apache.hadoop.hbase.regionserver.HRegionServer.initializeFileSystem(HRegionServer.java:691)
- at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:600)
- at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:484)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
- at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
- at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
- at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2965)
- at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:236)
- at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
- at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
- at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)
- at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2983)
- Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
- at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
- at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
- ... 25 more
- 2018-08-01 23:30:33,794 ERROR [main] master.HMasterCommandLine: Master exiting
- java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster.
- at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2972)
- at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:236)
- at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
- at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
- at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)
- at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2983)
- Caused by: java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder
- at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:635)
- at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
- at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
- at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
- at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
- at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
- at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
- at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
- at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
- at org.apache.hadoop.hbase.util.CommonFSUtils.getRootDir(CommonFSUtils.java:358)
- at org.apache.hadoop.hbase.util.CommonFSUtils.isValidWALRootDir(CommonFSUtils.java:407)
- at org.apache.hadoop.hbase.util.CommonFSUtils.getWALRootDir(CommonFSUtils.java:383)
- at org.apache.hadoop.hbase.regionserver.HRegionServer.initializeFileSystem(HRegionServer.java:691)
- at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:600)
- at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:484)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
- at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
- at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
- at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2965)
- ... 5 more
- Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
- at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
- at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
- ... 25 more
解决办法:
将/usr/local/hadoop/hbase-2.1.0/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar 文件拷贝至/usr/local/hadoop/hbase-2.1.0/lib文件夹中 ,执行如下指令:
[root@master client-facing-thirdparty]# cp /usr/local/hadoop/hbase-2.1.0/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar /usr/local/hadoop/hbase-2.1.0/lib
拷贝相关jar 文件后,重新启动HBase-2.1.0 ,验证HBase 服务是否正常启动。但是shell 窗口还是提示错误信息,错误的日志内容如下:
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.
解决版本:
修改HBase-2.1.0的hbase-site.xml,添加如下内容:
- <property>
- <name>hbase.unsafe.stream.capability.enforce</name>
- <value>false</value>
- </property>
重新启动HBase-2.1.0 服务,执行相关指令结果如下:
- [root@master bin]# hbase shell
- SLF4J: Class path contains multiple SLF4J bindings.
- SLF4J: Found binding in [jar:file:/usr/local/hadoop/hadoop-3.0.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
- SLF4J: Found binding in [jar:file:/usr/local/hadoop/hbase-2.1.0/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
- SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
- SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
- HBase Shell
- Use "help" to get list of supported commands.
- Use "exit" to quit this interactive shell.
- Version 2.1.0, re1673bb0bbfea21d6e5dba73e013b09b8b49b89b, Tue Jul 10 17:26:48 CST 2018
- Took 0.0030 seconds
- hbase(main):001:0> status
- 1 active master, 0 backup masters, 2 servers, 0 dead, 1.0000 average load
- Took 0.5673 seconds
- hbase(main):002:0> list
- TABLE
- 0 row(s)
- Took 0.0435 seconds
- => []
- hbase(main):003:0> exit
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。