- 浏览: 199712 次
- 性别:
- 来自: 广州
最新评论
-
永立s:
这篇博客帮我解决了一个问题,十分感谢.
HBase表增加snappy压缩 -
BlackWing:
日志是job运行日志,看你怎么配置了,一般就在hadoop安装 ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误 -
heymaomao:
heymaomao 写道有两个问题,想请教下楼主 第一是日志楼 ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误 -
heymaomao:
有两个问题,想请教下楼主 第一是日志楼主到底看的是哪个日志文件 ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误 -
atomduan:
本地的Unix 进程创建失败,检查下服务器内存是否够用,是不是 ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误
文章列表
转载请标明出处:http://blackwing.iteye.com/blog/1949154
不少公司为了安全,hadoop、hbase集群都是不对外开放,只有一台入口机对外,那么当要查看hadoop、hbase集群机器状态等信息时,就没办法了。
而要实现内网机器给外网访问,要解决的问题是:
1.hadoop、hbase页面上的url替换成外网能访问的url
2.通过有限的端口、外网ip对外提供整集群访问
强大的nginx正好能解决这个问题。而nginx要替换返回的页面内容,虽然它自己有模块可以实现,但据了解只能替换一次,而网上比较常用的是第三方的替换模块nginx_substituti ...
转载请标明出处:http://blackwing.iteye.com/blog/1943942
这位xd的文章(http://blog.csdn.net/cxin917/article/details/9005088)讲述的办法能正确解决Not a host:port pair的问题,主要来说是hbase-binding.jar跟hbase、hadoop版本问题。
但我在编译ycsb时遇到asm-3.1.jar出问题,报错大概说can't open zip file。完整的编译过程如下:
1. 下载编译好的tar:
官方git地址:https://github.com/brianfran ...
转载请标明出处:http://blackwing.iteye.com/blog/1943575
之前为HBase增加SNAPPY压缩的一篇文章:http://blackwing.iteye.com/blog/1942037
本以为这样hbase就能使用SNAPPY了,但发现RS的log不停报错:
IOException: Compression algorithm 'snappy' previously failed test
根据官方教程再做一遍:http://hbase.apache.org/book/snappy.compression.html
还是报错,后来发现差异。服务器安 ...
转载请标明来源:http://blackwing.iteye.com/blog/1942037
此前使用的是LZO,近期想着试试snappy的实力,snappy的安装可以参考另外一篇文章:http://blackwing.iteye.com/blog/1940933
HBase添加snappy压缩步骤如下:
1. 验证snappy是否正常安装:
找某个文件,对其进行压缩测试
hbase org.apache.hadoop.hbase.util.CompressionTest hbase-hadoop-regionserver.log snappy
如果正确安装snappy则会显示SUC ...
转载请标明来源:http://blackwing.iteye.com/blog/1940933
基础环境是ubuntu 10.04 LTS,网上得知hadoop 1.0.3以后集成了snappy,所以相比安装lzo,简便一点。
预备条件:
1. 预先配好环境
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
2. 下载并安装snappy
1)下载地址
http://code.google.com/p/snappy/downloads/list
2) ...
hadoop的metrics加入ganglia其实是很简单的,但网络上都是copy,而且文档新旧不一,居然还折腾了一会,太out了。
hadoop版本1.0.3,ganglia版本3.1.2,以下是主要步骤:
1. 修改hadoop/conf/hadoop-metrics2.properties文件
*.sink.file.class=org.apache.hadoop.metrics2.sink.FileSink
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.g ...
转载请声明出处:http://blackwing.iteye.com/blog/1914898
近来hbase总是不稳定,运行一两天后,就会发现-ROOT-不在线,代码连接读表,会有一下报错:
Unable to find region xxxx,,99999999999999 after 10 tries
而rs打印出来的log则有以下错误:
org.apache.hadoop.hbase.NotServingRegionException: Region is not online: -ROOT-„0
有老外说这其实是客户端问题,原因是本地的host列表中没有添加全部rs节点域名,但当 ...
转载请标明出处:http://blackwing.iteye.com/blog/1914841
今天在为表增加LZO压缩,在enable表时,发现耗时很长都未结束,就ctrl+c退出hbase shell,再进入继续enable表,但此时出现如下错误:
ERROR: org.apache.hadoop.hbase.TableNotDisabledException:
错误说表未禁用,但进行disable表操作时,又出现如下错误:
ERROR: org.apache.hadoop.hbase.TableNotEnabledException
那肯定是刚才强行退出导致出问题了,根据大家的经验 ...
转载请标明出处:http://blackwing.iteye.com/blog/1848401
MR任务,充分利用了缓存进行读写。
1)map端
每个map任务,都会先把数据写到一个环形缓存中,该缓存默认大小是100MB,由io.sort.mb(默认值是100MB)和io.sort.spill.percent(默认值是0.8)共同决定。在默认情况下,当缓存达到80MB时,后台线程就开始把数据spill到磁盘。而map会继续写数据到缓存中,当100MB的缓存写满后,map就会阻塞,直到spill完成。
在spill写数据到磁盘前,线程会根据reducer的数量(例如10个reducer)把输 ...
升级了项目依赖的jar包后,build时总是报错,说“找不到符号”,代码测试过是正常的。
网上说是存在多个版本的jar包导致。
后来在build.xml中发现引用的还是项目的lib下的jar,把项目目录下lib文件夹中所有jar包删除,再build,就能正常打包了。
开发环境中,使用的是官方版的hadoop 1.0.1版,而集群上的hadoop则是cloudera的hadoop 2.0版,之前兼容性还不错,直到使用了Counter。
报错如下:
FATAL org.apache.hadoop.mapred.Child: Error running child : java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected
其实从2.0开始,org.apache.hadoop.mapre ...
转载请标明来源:http://blackwing.iteye.com/blog/1791848
之前把一个region人工拆分成多个region,每个region的起始key是具体某个row,但后来发现,hbase是把byte[0]作为一个表的起始key。官方文档这样描述:
http://hbase.apache.org/book.html#arch.catalog
引用Notes on HRegionInfo: the empty key is used to denote table start and table end. A region with an empty start key ...
引用转载请注明出处,文章链接:http://blackwing.iteye.com/blog/1788647
之前通过修改TableInputFormatBase类实现了客户端分拆每个HRegion,从而实现一个region可以同时被多个map同时读取,原文:
http://blackwing.iteye.com/admin/blogs/1763961
但以上方法是把数据取回客户端进行,速度慢,现在改用coprocessor的endpoint方式,直接在server端计算好InputSplit后返回给客户端。
Hbase的coprocessor详解请参考:
https://blogs.a ...
默认情况下,一个region是一个tableSplit,对应一个mapper进行读取,但单mapper读取速度较慢,因此想着把默认一个table split分拆成多个split,这样hadoop就能通过多个mapper读取。
由于HBase不能像hadoop一样通过以下参数调整split大小,而实现多个mapper读取
mapred.min.split.size
mapred.max.split.size
所以目前想到的方法有两种,一是修改TableInputFormatBase,把默认的一个TableSplit分拆成多个,另外一种方法是,通过Coprocessor处理。这里选择修改 ...
用Get查询hbase某个row时,就算该row不存在,但还是返回Result,只是该Result是empty的。
List<Get> batch= new ArrayList<Get>();
Get get1=new Get("1111111111".getBytes());
Get get2=new Get("2222222222".getBytes());
batch.add(get1);
batch.add(get2);
Result [] results = ta ...