一、问题描述
远程调试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");
}