一、问题描述
远程调试HBase,创建配置文件,建立管理员Admin,但是创建时报错:
org.apache.hadoop.hbase.MasterNotRunningException

在代码运行后报错,我运行之后报错:
Warning:(22, 28) java: org.apache.hadoop.hbase.client.HBaseAdmin中的HBaseAdmin(org.apache.hadoop.conf.Configuration)已过时
Error:(22, 28) java: 未报告的异常错误org.apache.hadoop.hbase.MasterNotRunningException; 必须对其进行捕获或声明以便抛出
如下图:

二、问题原因
经过查找,发现java对于异常,会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。找到能够处理这类异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。这样保证程序可以正常运行。
三、解决办法
1.方法一
在main函数加上throws Exception
2.方法二
try{
HBaseAdmin admin = new HBaseAdmin(conf);
}
catch(Exception e){
System.out.println("HBaseAdmin error");
}

本文详细解析了远程调试HBase时遇到的MasterNotRunningException异常及HBaseAdmin使用警告,提供了两种解决方案:一是通过throws Exception声明异常,二是使用try-catch结构捕获并处理异常。

3825

被折叠的 条评论
为什么被折叠?



