摘要: 快速排序 算法思想 快速排序采用了一种分治策略,学术上称之为分治法(Divide-and-Conquer Method)。 哨兵(如下算法中的key) 每趟排序将哨兵插入到数组的合适位置,使得哨兵左侧的所有元素比哨兵大,右侧所有元素比哨兵小。 然后,哨兵左侧数组继续此操作(递归调用),哨兵右侧数组亦 阅读全文
posted @ 2018-05-16 10:24 海华85 阅读(12720) 评论(0) 推荐(0) 编辑
摘要: HBase的table是该region切分的,client操作一个row的时候,如何知道这个row对应的region是在哪台Region server上呢?这里有个region location过程。主要涉及到2张系统表,-ROOT-,.META.。其结构见图 在zookeeper的/hbase/r 阅读全文
posted @ 2018-05-15 15:47 海华85 阅读(1480) 评论(0) 推荐(0) 编辑
摘要: 十年前,谷歌发表了 “BigTable” 的论文,论文中很多很酷的方面之一就是它所使用的文件组织方式,这个方法更一般的名字叫 Log Structured-Merge Tree。 LSM是当前被用在许多产品的文件结构策略:HBase, Cassandra, LevelDB, SQLite,甚至在ma 阅读全文
posted @ 2018-05-15 11:18 海华85 阅读(1030) 评论(0) 推荐(0) 编辑
摘要: package main import ( "bytes" "encoding/xml" "fmt" "io" "io/ioutil" "net/http" "strings" ) // The URL of the SOAP server const MH_SOAP_URL = "http://sp.mountyhall.com... 阅读全文
posted @ 2018-04-28 16:53 海华85 阅读(4510) 评论(0) 推荐(0) 编辑
摘要: 上一章我们了解了zookeeper到底是什么,这一章重点来看zookeeper当初到底面临什么问题?而zookeeper又是如何解决这些问题的? 实际上zookeeper主要就是解决分布式环境下的一致性问题。那么解决这个问题到底有哪些难点呢?我们一步一步来阐述和推理这个过程。 分布式事务 我们首先考 阅读全文
posted @ 2018-04-07 10:15 海华85 阅读(2980) 评论(0) 推荐(0) 编辑
摘要: 上一章讨论了paxos算法,把paxos推到一个很高的位置。但是,paxos有没有什么问题呢?实际上,paxos还是有其自身的缺点的: 1. 活锁问题。在base-paxos算法中,不存在leader这样的角色,于是存在这样一种情况,即P1提交了一个proposal n1并且通过了prepare阶段 阅读全文
posted @ 2018-04-05 09:44 海华85 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 上一章讨论了一种强一致性的情况,即需要分布式事务来解决,本章我们来讨论一种最终一致的算法,paxos算法。 paxos算法是由大牛lamport发明的,关于paxos算法有很多趣事。比如lamport论文最初由故事描述来引入算法,以至于那班习惯数学公式的评委将该论文打回,导致该论文延误了8年才公开发 阅读全文
posted @ 2018-04-04 10:12 海华85 阅读(422) 评论(0) 推荐(1) 编辑
摘要: zookeeper可谓是目前使用最广泛的分布式组件了。其功能和职责单一,但却非常重要。 在现今这个年代,介绍zookeeper的书和文章可谓多如牛毛,本人不才,试图通过自己的理解来介绍zookeeper,希望通过一个初学者的视角来学习zookeeper,以期让人更加深入和平稳的理解zookeeper 阅读全文
posted @ 2018-04-03 21:03 海华85 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 操作 在/etc/init.d下新建示例脚本文件(customize.sh),该脚本会启动zookeeper服务。内容如下: 执行如下命令将customize.sh脚本添加到系统服务中。 如果没有安装chkconfig,可以自行安装一个,例如:ubuntu或deepin系统可以采用下面命令 原理 通 阅读全文
posted @ 2018-03-31 22:22 海华85 阅读(5181) 评论(0) 推荐(1) 编辑
摘要: 目前deepin操作系统,软件也比较多,所以想在自己的thinkpad t430笔记本上安装。但是安装时报错,具体错误忘了看了。反复试了好几次都不行,最后在网上查了,讲bios设置调整之后可以正常安装了。 安装系统前把UEFI/Legacy Boot设置为UEFI Only。然后就可以正常安装了。 阅读全文
posted @ 2018-03-31 21:17 海华85 阅读(4141) 评论(0) 推荐(0) 编辑