摘要: 本文章只针对“微型集群处理大数据”的场景。场景描述:硬件:5个节点,每个节点可用硬盘1块(700G、500G等)、8核cpu,实验室环境(有时候还要跑其他程序跟你抢占资源),16G内存。软件:hadoop-0.20.2-cdh3u2,hbase-0.90.4-cdh3u2。业务:sina微博12亿转发微博,700w用户信息。bzip压缩后共150G。要求就是将这些数据入库并且恢复关注和粉丝列表,建立userId与昵称映射,找出Message的转发关系等等。上述业务实际上比描述的复杂,后续需要做各种分析,再次略去,只说明一下跟入库效率相关的影响因素:1.批量导入数据,需要入库一定要均衡2.恢复关 阅读全文
posted @ 2013-06-20 13:13 花考拉 阅读(1884) 评论(0) 推荐(0) 编辑
摘要: 已经排好序了,所以我们可以借此同时对三个数组进行搜索来找到共同元素下面是java实现代码:import java.util.HashSet;import java.util.Set;public class threeListComm { /** * 3 soted array, find common elements */ static int [] a = {1,3,4,5,6,7,9}; static int [] b = {1,5,8,9,11}; static int [] c = {2,3,5,6}; static Set<Integer> s = new HashS 阅读全文
posted @ 2013-06-20 11:36 花考拉 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 这段代码模拟了警察抓小偷,密室之中,小偷想偷到珠宝,自己有个探测器,警察也有探测器,不过是探测小偷用的,警察之间可以相互传递消息。下面是程序的输入文件parameter.txt# Size of side of square room (even integer), in m2# Radius of entry circle, in m 0.6# Position of treasure (x and y coords), in m 0.5 0.5# Range of anti-cloaking device, in cm 150# Position of the escape route ( 阅读全文
posted @ 2013-05-23 17:56 花考拉 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 给朋友做的,当是放松了。。。本人真心不会matlab,下面的代码不代表个人水平,纯属堆砌。这个程序模拟了一些机器人在一个方形空间中的移动轨迹。clc;clear all;close all;%--------------------Input parameters------------------%R=input('Number of Robots: ');%L=input('Length of the Room (m): ');%N=input('Number of Steps: ');%S=input('Maximum Size o 阅读全文
posted @ 2013-05-23 17:48 花考拉 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 场景HBase的region随着大小的不断变大会触发一个阈值,默认为256M,一旦触发那么他就会自动的分裂开来,随着region变多hbase管理起来也越发困难,性能也会明显下降。当然更多的region使得高并发成为可能。一种较好的实践方案就是一方面预切分HBase的region,确定region的个数,保证并发性能,另一方面设置较高的region size分裂阈值,保证region数量不变。方案预切分方法:./bin/hbase org.apache.hadoop.hbase.util.RegionSplitter -c 500 test -f t1:t2:t3上面的命令行工具给以为你切分一 阅读全文
posted @ 2013-05-14 10:53 花考拉 阅读(4613) 评论(4) 推荐(1) 编辑
摘要: 1 单机HBase集群测试报告1.1机器参数硬件信息机器3台dellPowerEdgeR710内存:8G,cup24核,6x1t磁盘操作系统ubuntu-12.04.1-server-amd641.2HBase单点测试单点测试:单硬盘配置Lzo压缩开启单点测试数据:分别写入108,844,93、108,844,930条数据,单表单列,autoflush=true,单条写入和读取。类型测试集群Region数量线程数操作记录条数Key平均长度Value平均长度每条记录平均操作时间平均tpsPut单节点255/765300108844930701361.544ms648.87Put单节点500300 阅读全文
posted @ 2013-05-13 17:29 花考拉 阅读(7444) 评论(1) 推荐(0) 编辑
摘要: 减少zk超时时间(建议1分钟)Rs与zk的timeout默认为3分钟,由zookeeper.session.timeoutproperty决定。也就是说,如果一个rs挂了,那么master需要3分钟之后才能对其进行重启和恢复。建议调成1分钟会更低。然而,你调低之前应该先确保JVM的配置合理,保证不会引发较长的gc,JVM配置之后会给出,也可以只这样,只要你超时时间可以忍受gc停顿即可。增加handlers(建议100)配置项hbase.regionserver.handler.count决定了用户表接受外来请求的线程数。默认为10。这个数目主要看你的场景。如果是put百万字节或者大量的scan 阅读全文
posted @ 2013-05-13 17:16 花考拉 阅读(2800) 评论(4) 推荐(1) 编辑
摘要: 1 import java.util.ArrayList; 2 import java.util.List; 3 import java.util.Random; 4 5 6 public class RandRange { 7 8 public List<Integer> get(int start, int end){ 9 int cnt = end - start + 1;//计算从start到end之间数字的个数。10 List<Integer> randRes = new ArrayList<Integer>();11 ... 阅读全文
posted @ 2013-04-22 22:12 花考拉 阅读(689) 评论(1) 推荐(0) 编辑
摘要: 1. php提供界面,从HBase服务端下载二进制文件。方案:为了降低系统之前的耦合,前台与后台采取rpc交互方式。采用Thrift封装一个服务,提供下载接口。由于从HBase中读出来就是二进制流,所以php端的Thrift client可以直接接收二进制然后定通过http直接传输到浏览器端。具体实现方式:Thrift中有个类型叫做binary,所以这是个突破口。binary dk_downLoadFileBytes(1:string id)//接口定义HBase端是byte[] 类型作为该接口的返回值(Java)。php端直接可以将接收的二进制定向到网页,代码如下:$client = new 阅读全文
posted @ 2013-04-21 14:43 花考拉 阅读(386) 评论(0) 推荐(0) 编辑
摘要: WARNING! File system needs to be upgraded. You have version null and I want version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script.不用担心,其实你只是缺少个正常的hbase.version文件!机房整体停电,集群所有节点都挂掉了。这种情况很少见,但是在管理不善的实验室也会时有发生。所以要沉着应对,相信hadoop的容灾性,一定能恢复数据。hdfs的备份数只有2,长期在跑的有个数据不大的入库程序,节点很少才5个。首先启动hadoop之后先运 阅读全文
posted @ 2013-03-25 13:47 花考拉 阅读(1915) 评论(4) 推荐(0) 编辑
摘要: 6.2分布式处理一个基于项目的推荐算法对于如此规模的数据,我们希望使用分布式处理的方法。首先,我们会对基于项目的算法的分布式变异版本进行描述。它在某种程度上和以前非分布式的版本很相似。当然它看起来是完全不同的,因为以前的算法未曾被翻译到分布式的世界。接下来我们要用Hadoop来跑一跑。6.2.1构造一个协同矩阵这个算法由一些简单的矩阵操作都成,它易于解释并且容易实现。如果你上次接触矩阵是好几年前了,不要担心,最棘手的操作只有矩阵乘法(如果您连矩阵乘法都不知道,拜托,那还搞啥数据挖掘...)。这里保证没有什么行列式、行分解、特征值等等。回忆一下,基于项目的推荐,我们依赖于ItemSimilari 阅读全文
posted @ 2012-12-16 21:00 花考拉 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: 6分布式推荐计算本章概述:分析维基百科上的一个大数据集利用Hadoop和分布式计算产生推荐结果伪分布式上存在的非分布式推荐本书着眼于持续增长的数据集,从10条到100,000再到1千万再到1.7千万。不过这依然是中等大小的推荐系统所处理的数据。本章依然放手一搏,处理了来自维基百科语料库中的1.3亿条数据,这些数据主要是以文章对文章的连接形式存在的。在这些数据集中,文章既充当了用户,也充当了项目。这也显示了Mahout在特定情形下十分灵活的应用。为满足演示目的,1.3亿的数据还是可管理的。但是对于单机处理推荐过程还是有一些困难的。这就需要使用一种新的推荐算法,通过Mahout基于的Mapredu 阅读全文
posted @ 2012-12-16 20:53 花考拉 阅读(2301) 评论(0) 推荐(1) 编辑
摘要: status:5 servers, 0 dead, 300.6000 average loadversion:0.90.4-cdh3u2, r, Thu Oct 13 20:32:26 PDT 2011list:看看你有啥表建表:create 'TestTable','cf1','cf2','cf3'切分表建表:./bin/hbase org.apache.hadoop.hbase.util.RegionSplitter -c 500 TestTable -f cf1:cf2:cf3修改表属性:disable 'Index 阅读全文
posted @ 2012-12-14 16:30 花考拉 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 今天闲的蛋疼把博客的CSS重写了,貌似对Firefox还有点不兼容,算了不管了,就是闲的。。。。。body{padding:0;margin:0;} #home{ padding:20px 120px; font-family:微软雅黑,Arial; color:#EEEEEE; background: #EEEEEE; background-image: url("http://x.libdd.com/farm1/5b537b/081a5abc/bg.jpg"); } a.headermaintitle{... 阅读全文
posted @ 2012-11-27 13:56 花考拉 阅读(264) 评论(2) 推荐(0) 编辑
摘要: 不知道是断过电还是怎么了,今天HBase突然坏掉了,然后去查看Hadoop的Secondary namenode日志发现:org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Checkpoint not created. Name node is in safe mode.The reported blocks 3774 needs additional 409 blocks to reach the threshold 0.9990 of total 阅读全文
posted @ 2012-11-15 15:42 花考拉 阅读(964) 评论(0) 推荐(0) 编辑