1.启动hbase之后,Hmaster老是挂掉

在这里插入图片描述
如图,我的Hbase在启动之后Hmaster总是会莫名其妙的挂掉。
首先遇到问题了之后,先是查看了hbase的日志文件查看报错信息,发现相关问题的报错信息如下图所示:
在这里插入图片描述
在这里插入图片描述
当然目前我看这些还是看不懂的,所以我就把报错信息复制进行百度,查找相关的解决方法,通过百度查找,看到好多解决方法都是说将zookeeper当中的hbase缓存清除掉或者直接删掉hdfs里面的/hbase文件。但是由于我的环境是使用的hbase自带的zookeeper,所以前面的方法貌似对我来说行不通,然后我试了删掉hdfs里面的/hbase文件,成功解决了Hmaster老是挂掉的问题。
在这里插入图片描述
但是后面我发现这个问题的根本原因并不在这儿,而是因为Hbase配置文件中的hbase.rootdir的地址有问题,这个地址应该和hadoop的配置文件当中的地址必须要是一样的。
在这里插入图片描述

2.创建表的时候老是会报错Master is initializing.

在这里插入图片描述
值得注意的是我在hbase shell里边进行测试的时候,就只有创建表的时候会报错,而其它的命令如status、list都没有问题,所以猜测应该是配置文件的问题。然后我仔细研究了一下配置文件。
在这里插入图片描述
发现配置文件上hbase.rootdir的映射是localhost,而我的系统终端显示的主机名却是cxf-virtual-machine(如下图所示:)
在这里插入图片描述
于是我就进入了/etc/hosts查看主机映射,果不其然发现我所使用的主机名映射的地址为127.0.1.1,而localhost映射的则为127.0.0.1(如下图所示:)。
在这里插入图片描述
然后我在/etc/hostname 文件中修改主机名为localhost,并删除/etc/hosts 文件中cxf-virtual-machine那一栏。然后再试一试创建表,创建成功了!
在这里插入图片描述

3.进行HbaseAPI编程的时候,运行报错java.lang.NoClassDefFoundError: org/apache/htrace/Trace和Exception in thread“main“ java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

然后就是运行hbaseAPI编程的时候报了两个找不到包的错误,而这些包在hadoop目录下./share/hadoop/common/lib中包含有,可以直接从这儿导入到项目当中。所需要导入的包如下图:
在这里插入图片描述
然后我先是导入了一个htrace-core-3.1.0-incubating.jar的包,但是还是报错找不到java.lang.NoClassDefFoundError: org/apache/htrace/Trace,网上查询可能是因为版本的问题,所以就又从网上下载了一个4.1.0版本导入到项目中,成功解决问题。最终导入的包如下图所示:
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐