hbase bug
来源:互联网 发布:coc闪电法术数据 编辑:程序博客网 时间:2024/06/15 23:10
转自:http://blog.csdn.net/chenyi8888/article/details/8646659
因为对Hbase了解不多,以下碰到的问题都是很基础问题:
1、运行MR程序时出现:
13/03/07 14:04:58 INFO mapred.JobClient: Task Id : attempt_201303031058_0325_m_000008_0, Status : FAILED
java.lang.RuntimeException: java.lang.ClassNotFoundException: com.neusoft.test.HBaseToFile$TradeMap
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:867)
at org.apache.hadoop.mapreduce.JobContext.getMapperClass(JobContext.java:199)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:719)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
这个问题描述很简单,就是各运行节点没有找到Class类。原因就是缺少一段代码:
job.setJarByClass(TradeMap.class);
2、运行MR程序时,出现了一个现象:
13/03/07 11:37:12 ERROR mapreduce.TableInputFormatBase:
Cannot resolve the host name for /10.200.187.78 because of javax.naming.NameNotFoundException: DNS name not found [response code 3];
remaining name '78.187.200.10.in-addr.arpa'
通过源码查找后,发现是需要设置nameServer,
// Get the name server address and the default value is null.
this.nameServer = context.getConfiguration().get("hbase.nameserver.address",null);
因为没有设置过,所以在后面的验证处理过程中,就会有这样的报错信息。验证步骤如下:
public static String reverseDns(InetAddress hostIp,String ns)throwsNamingException {
//
// Builds the reverse IP lookup form
// This is formed by reversing the IP numbers and appending in-addr.arpa
//
String[] parts = hostIp.getHostAddress().split("\\.");
String reverseIP = parts[3] + "." + parts[2] +"." + parts[1] +"." + parts[0] + ".in-addr.arpa";
DirContext ictx = newInitialDirContext();
Attributes attribute =
ictx.getAttributes("dns://" // Use "dns:///" if the default
+ ((ns == null) ? "" : ns) +
// nameserver is to be used
"/" + reverseIP,newString[] { "PTR" });
ictx.close();
return attribute.get("PTR").get().toString();
}
总结以后,在出现相关的问题时,需要耐心解决,另外借助源码能够快速了解部分逻辑。
3、运行client端时,出现以下错误:
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.hbase.client.NoServerForRegionException: Unable to find region for tmp_order_not_closed,,99999999999999 after 10 tries.
主要原因是在client的机器这边,没有配置hbase集群的主机信息。简单的方法就是在/etc/hosts文件增加全部的节点IP信息,第二种就是使用DNS的方式。
- hbase bug
- HBase Bug 知多少
- HBase Bug 知多少
- HBase bulkload的一个bug定位
- HBase Bulkload bug修复及patch提交
- 解决Hbase的几个常见bug
- HIVE/HBase集成的一个bug
- solr4.7.2整合hbase的BUG
- hadoop+hive+hbase+zookeeper常见Bug
- HBase多次加载-ROOT-和META的bug
- 使用java HBase API查询 小bug记录
- 阿里工程师对HBase Bug的分类分析
- Hbase
- HBase
- hbase
- HBase
- HBASE
- Hbase
- 编译动态库
- Conversion to Dalvik format failed with error 1
- android DatePicker和TimePicke用法
- eclipse CDT 的launch failed.Binary not found问题的解决方法
- 设计模式 - 简单工厂模式
- hbase bug
- the server didn't send back a proper XML response. Please contract your syst
- [UIView animationWithDuration:animations:]使用的注意点
- Oracle 执行计划总结
- Android系统的一些默认配置项
- WIN8无法安装.net3.5处理方法
- Java剖析工具JProfiler入门使用教程:与IntelliJ IDEA集成
- MongoDB副本集的配置示例
- strrchr()函数_字符处理