分享

HBase启动后马上挂掉,求解决!

yanyang 发表于 2016-1-20 10:33:39 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 20209
版本:
        Hadoop 2.6.0

        HBase 0.98.16.1-hadoop2
已用hadoop的jar替换hbase下的jar

错误信息如下:
2016-01-20 10:23:52,066 INFO  [main] impl.MetricsSystemImpl: HBase metrics system started
2016-01-20 10:23:53,122 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:3048)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:193)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:135)
        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.master.HMaster.main(HMaster.java:3062)
Caused by: java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentialsProvider
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398)
        at java.lang.Class.getConstructor0(Class.java:2708)
        at java.lang.Class.newInstance0(Class.java:328)
        at java.lang.Class.newInstance(Class.java:310)
        at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:356)
        at java.util.ServiceLoader$1.next(ServiceLoader.java:428)
        at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:2563)
        at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2574)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2630)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2612)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
        at org.apache.hadoop.hbase.util.FSUtils.getRootDir(FSUtils.java:943)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:533)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:3043)
        ... 5 more
Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentialsProvider
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 27 more


另:
hbase配置文件 hbase-site.xml  如下:
<configuration>
    <property>  
        <name>hbase.rootdir</name>  
        <value>hdfs://Master:9000/hbase</value>  
    </property>   
    <property>  
        <name>hbase.master</name>  
        <value>hdfs://Master:60000</value>  
    </property>
    <property>  
        <name>hbase.tmp.dir</name>  
        <value>/usr/hbase/tmp</value>  
    </property>        
    <property>  
        <name>hbase.zookeeper.quorum</name>  
        <value>Node1</value>  
    </property>
    <property>  
        <name>hbase.cluster.distributed</name>  
        <value>true</value>  
    </property>        
    <property>  
        <name>hbase.zookeeper.property.datadir</name>  
        <value>/usr/hbase/zookeeper</value>  
    </property>
</configuration>

已有(5)人评论

跳转到指定楼层
levycui 发表于 2016-1-20 11:09:05
主机名  就是 Master  和 Node1吗?  基本上是配置问题 好好check下
回复

使用道具 举报

wscl1213 发表于 2016-1-20 12:26:13
配置中映射的主机名和现在的主机名是否一致

如果centos尝试下面:
具体修改如下:
1、 vi /etc/sysconfig/network

HOSTNAME= master (master就是需要修改的主机名)

2、修改wannetwork文件后,通过命令hostname master是配置生效。(可以通过命令hostname直接查看是否修改)

3、重新启动hbase就好了。

其它系统一样的道理确保hosts一致的

回复

使用道具 举报

yanyang 发表于 2016-1-20 13:12:22
levycui 发表于 2016-1-20 11:09
主机名  就是 Master  和 Node1吗?  基本上是配置问题 好好check下

对的,只有两台机器,Master  和 Node1
配置应该是没有问题的,hadoop和hbase都单独执行过的!怀疑是不是缺失jar导致的,各位大神帮帮看看!
回复

使用道具 举报

yanyang 发表于 2016-1-20 13:13:01
wscl1213 发表于 2016-1-20 12:26
配置中映射的主机名和现在的主机名是否一致

如果centos尝试下面:

配置应该是没有问题的,hadoop和hbase都单独执行过的!怀疑是不是缺失jar导致的,各位大神帮帮看看!
回复

使用道具 举报

yanyang 发表于 2016-1-20 14:03:46
jar缺失问题已处理,解决方案:
需要将 hadoop-2.6.0/share/hadoop/tools/lib/aws-java-sdk-1.7.4.jar 拷贝到hbase/lib下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条