分布式
文章平均质量分 80
KDF5000
热爱互联网热爱IT
展开
-
Ubuntu 14.04 下安装使用Python rq模块
rq 是Python的一个第三方模块,使用rq可以方便快速的实现Python的队列操作,实现多态电脑的分布式架构。其中 R是Redis的意思,Q是Queue的首字母,rq使用Redis和Queue实现分布式,分别实现了Master和Worker,通过Redis存储任务队列。Ubuntu14.04 安装rq假设已经安装了Python和pip,本文通过`pip来安装rq$sudo pip install原创 2015-08-23 23:44:02 · 1577 阅读 · 0 评论 -
分布式爬虫
RSpider一个基于scrapy-redis的分布式爬虫模板,在scrapy-redis自带的example的基础上进行修改,添加在实际爬取过程中大部分爬虫可能用到的功能,使的构建分布式爬虫更加的简单。 scrapy-redis: https://github.com/darkrho/scrapy-redis安装RedisWindowsRedis官网没有windows的安装程序,但是微软的MsO原创 2015-08-28 15:13:17 · 2623 阅读 · 0 评论 -
基于docker的hadoop分布式集群
Hydra-hadoop项目地址:https://github.com/KDF5000/hydra-hadoop 使用docker在单机部署hadoop和hbase的分布式环境,本项目具有一下特征: * 使用serf和dnsmasq 作为集群节点管理和dns解析 * 可以自定义集群hadoop和hbase的配置,配置完后只需重新build镜像即可 * ssh远程登录集群节点容器项目目录ser原创 2016-05-16 16:41:45 · 1327 阅读 · 0 评论 -
面向HBase的内存key-value缓存的实现
0x01 背景之所以要实现这个缓存主要原因如下(但是由于不是实际业务场景需求,所以可能不太准确,也可能不存在这个需求): * 非结构化数据的爆炸式增长 * 处理速度的要求越来越高 * HBase是面向硬盘的 * 内存容量越来越大 * 热点数据可以在内存放下0x02 设计方案通常的要实现缓存,主要是在有两个大方向实现,一个是在客户端实现,另一个时在服务端实现 * 客户端实现 - 修改H原创 2016-06-19 18:54:54 · 7011 阅读 · 0 评论 -
一致性哈希算法
前面专门介绍过几种常见的数据分片(Sharding),主要包括范围分片(Range)和哈希(Hash)分片两种大的策略,其中哈希分片最简单的Round Robin方法(直接按照机器数取模)存在一个明显的缺点,当机器数增加或者减少的时候,所有的数据都要进行重新的哈希分配。这个问题的本质原因是因为机器和数据哈希分布之间强耦合,因此针对这个缺陷主要有两个解决方案一种是引入虚拟桶的概念,分两步映射(key-原创 2017-05-03 12:41:11 · 1566 阅读 · 1 评论 -
再读分布式一致性算法Raft论文
Raft是一个管理日志副本一致性的算法。相比Paxos结果一样,并且一样高效,但是理解起来更加的容易。Raft将一致性的主要元素分离开来,比如leader选举,log 复制,安全等。同时,也提供了一个新的机制实现cluster membership改变,其使用多数的原则来保证安全性。一致性算法一致性算法的意义就是保证一致性的一组机器能够在其部分成员出现故障的时候依然能够存活下来(提供服务)。在Raf原创 2017-07-16 10:21:11 · 2640 阅读 · 1 评论