Category Archives: 大数据技术

Hadoop / Hive / HBase / Mahout

Gearman(分布式任务调度框架) 简介

在@hacker101的围脖上看到了这个框架,看了下官网,觉得很适合爬虫、多进程并行处理等任务。

看看官方提供的几个例子:

  • Mass PDF quote email
  • Synchronous Image Resize
  • Shard-Query: a PHP project which uses Net_Gearman to execute queries on horizontally partitioned databases and returns the results.[......]

    继续阅读

MongoDB中缩减Shard集群(删除一个Shard)

对MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。

但是缩减集群(删除分片)这种一般很少用到。由于曙光的某服务器又挂了,所以我们送修之前必须把它上面的数据自动迁移到其他Shard上。

以下内容翻译自:http://docs.mongodb.org/manual/tutorial/remove-shards-from-cluster/

1、执行RemoveShard命令
db.runCommand( { removeshard: "y[......]

继续阅读

MongoDB持续灌入大数据遇到的一些问题

首先这类NoSQL数据库的设计宗旨基本是“读多写少”。

而我们的需求是:有一大批数据(5亿条记录,每条100B左右)。需要灌入MongoDB。

考虑到数据规模,事先已经做好了Sharding,10台机器。

1、并发12进程,持续灌入数据。

一开始速度很快,基本10W/s,到了1亿6千万左右,开始变成龟速。经过仔细检查,mongos中报大量如下错误:
Wed Jun 6 16:56:41 [conn33] warning: splitChunk failed - cmd[......]

继续阅读

MongoDB中的索引操作

1、启用索引

下面的命令对id字段建索引,1表示是升序。如果-1是降序。
db.collection.ensureIndex({id:1}, {unique:true, dropDups:true, background:true});
2、删除索引

删除id的索引
db.collection.dropIndex({id:1})
删除全部索引
db.collection.dropIndexes();
3、重建索引
db.collection.reIndex()[......]

继续阅读

MongoDB配置Sharding (负载均衡)

Mongod DB中有Sharding(分片)和Replication(副本)两个功能。

前者主要是将数据水平分割到各个结点上,达到负载均衡的目的。

后者用于故障恢复。即一般一个Sharding有若干个Replication。

本文只讨论Sharding的情况,因为我们的环境机器本来就不够,不会拿来做Replication的。

配置Sharding有如下三个要素

1、1~1000个Sharding。

2、1~3个mongo config服务器。

3、1[......]

继续阅读