![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式计算
文章平均质量分 60
fourinone
这个作者很懒,什么都没留下…
展开
-
<三>基于淘宝Fourinone实现统一配置管理指南和demo
在分布式多台机器环境下,维持统一的配置信息是最常见的需求, 当配置信息改变时,所有的机器能实时获取并更新。fourinone通过park进行配置信息管理,park提供创建和修改信息的方法,并支持轮循和事件响应两种方式获取变化的对象,两种方式的效果一样。SetConfig:在parkserver上建立一个“domain=浙江、node=杭州、value=西湖”的配置信息,并且在10秒后把“西原创 2011-12-05 13:41:00 · 1247 阅读 · 0 评论 -
Fourinone2.0对分布式文件的简化操作
Fourinone2.0里通过FttpAdapter和FileAdapter实现文件io的支持。其中,FttpAdapter提供对远程文件的操作,FileAdapter提供对本地文件的操作,两者api和使用相似,这里主要说明FttpAdapter:FttpAdapter提供了对分布式文件的便利操作, 将集群中所有机器的硬盘资源利用起来,通过统一的fttp文件路径访问,如:windows:f原创 2012-05-29 15:45:45 · 634 阅读 · 0 评论 -
操作分布式文件之四:如何进行集群内文件复制和并行复制
集群文件复制是经常面临的需求,比如备份容灾,文件迁移,同步数据等等FttpAdapter提供了简单高效的文件复制方法,支持远程文件的集群内复制FttpAdapter fromfile = new FttpAdapter("fttp://10.232.20.151/home/log/a.log");FttpAdapter tofile = fromfile.copyTo("fttp://原创 2012-05-29 15:30:26 · 656 阅读 · 0 评论 -
操作分布式文件之五:如何读写远程文件
FttpAdapter是通过FttpReadAdapter来直接读取远程文件内容FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");FttpReadAdapter reader = fa.getFttpReader();byte[] bts = reader.readAll();上面是读取整原创 2012-05-29 15:32:14 · 479 阅读 · 0 评论 -
操作分布式文件之七:如何并行读写远程文件
FttpAdapter是通过FttpReadAdapter的tryReadAll方法进行并行读FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");Result rs = fa.getFttpReader().tryReadAll();调用tryReadAll会立即返回一个Result,但是不能马原创 2012-05-29 15:34:18 · 767 阅读 · 0 评论 -
操作分布式文件之八:如何批量并行读写远程文件和事务补偿处理
FileBatch类提供了一系列对批量并行读写操作支持(包括对FttpAdapter和FileAdapter),它跟并行读写的区别是不需要检查结果,会等到所有并行读写任务全部完成才返回,并在发生异常时提供事务补偿支持。1、批量并行读:public Result[] readAllBatch(TryByteReadAdapter[] fras)实现对多个FttpReadAdapter任务原创 2012-05-29 15:35:15 · 869 阅读 · 0 评论 -
Fourinone 分布式框架 2.0 正式版发布
Fourinone2.0提供了一个4合1分布式框架和简单易用的编程api,实现对多台计算机cpu,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。Fourinone框架提供了一系列并行计算模式(农民工/包工头/职介绍/手工仓库)用于利用多机多核cpu的计算能力;提供完整的分布式缓存和小型缓存用于利用多机内存能力;提供像操作本地文件一样操作远程文件(访问,并行读写,拆分,排它,复制,解析原创 2012-05-29 15:49:46 · 931 阅读 · 0 评论 -
分布式计算互相sayhello
假设你已经看过分布式计算上手demo指南,对fourinone基本的分布式并行计算方式有了初步了解。本demo演示了工头和几个工人之间互相sayhello的简单例子,从而了解到集群计算节点之间互相交互,以及工头批量处理和工人互相传递数据(多用于合并)的功能。HelloCtor:是一个工头实现,它实现giveTask接口,它首先通过getWaitingWorkers获取到一个线上工人原创 2012-08-27 09:59:54 · 818 阅读 · 0 评论 -
分布式计算多机部署与配置
在分布式计算上手demo指南,分布式计算sayhello,分布式计算完整demo中,对于工人(worker)、工头(ctor),parkserver在多台计算机上的部署和配置:每台计算机放置实现类,fourinone.jar,config.xml文件即可,parkserver的ip配置要保持一致(也可以用域名)假设有192.0.0.1,192.0.0.2,192.0.0.3三台计算机:原创 2012-08-27 10:09:23 · 1414 阅读 · 0 评论 -
大数据机遇和挑战
本ppt完整介绍了大数据的背景、机遇和挑战,并且相关的落地技术和业界状况,为大数据的研究提供全面的参考http://download.csdn.net/detail/fourinone/4624883原创 2012-10-09 10:43:34 · 816 阅读 · 0 评论 -
fourinone分布式协调设计解析
分布式协同是分布式应用中不可缺少的,通常担任协调者的角色,或者说是将多机协同的职责从分布式应用中独立出来,以减少系统的耦合性和增强扩充性。Apache的Zookeeper, google的Chubby都是分布式协同的实现者。fourinone实际上可以单独当做Zookeeper用,它使用最少的代码实现了Zookeeper的所有功能,并且力图做到功能更强但是使用更简洁。一、实现原理fou原创 2012-11-06 16:50:02 · 1046 阅读 · 0 评论 -
操作分布式文件之六:如何解析远程文件
假设通过FttpAdapter已经读取到远程文件中一部分数据,如下:FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");FttpReadAdapter reader = fa.getFttpReader();byte[] bts = reader.readAll();上面得到一个byte数组原创 2012-05-29 15:33:24 · 364 阅读 · 0 评论 -
操作分布式文件之三:如何访问和操作远程文件
FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/qianfeng.py/fttp/tmp/1.log");上面实例化一个FttpAdapter类,并输入一个fttp路径,可以是一个目录路径,也可以是个文件路径FttpAdapter类提供了一系列访问远程文件的方法:createDirectory和createFile原创 2012-05-29 15:29:38 · 501 阅读 · 0 评论 -
操作分布式文件之二:如何访问集群文件根目录
启动FttpAdapter后,可以使用它的api进行相关操作:FttpAdapter.fttpRoots()是一个静态方法,可以得到集群文件系统根目录,它返回一个String数组,通常是ip字符对应每台计算机。listRoots()方法可以得到每台计算机上的硬盘目录,比如:FttpAdapter fa = new FttpAdapter("fttp://"+fttproots[i]);原创 2012-05-29 15:28:43 · 974 阅读 · 0 评论 -
<四>基于淘宝Fourinone实现集群管理demo
对于像淘宝这样上万台服务器集群环境的大型互联网应用, 通常我们面临这样一种需求:我们需要一个集群管理者管理集群里的服务器,同一个集群中任何一台服务器宕机,其他服务器都能感知. 如果是集群管理者宕机,集群中所有的服务器不能受任何影响,能实时切换到备份管理者上被提供服务。这个demo演示了如何利用fourinone在简单几行代码下去实现上述功能GroupManager:是一个集原创 2011-12-05 13:44:41 · 620 阅读 · 0 评论 -
淘宝Fourinone四合一分布式计算框架整体介绍
FourInOne(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,我对分布式计算进行了长时间的思考,也看了老外写的其他开源框架,当我们把复杂的hadoop当作一门学科学习时,似乎忘记了我们想解决问题的初衷:我们仅仅是想写个程序把几台甚至更多的机器一起用起来计算,把更多的cpu和内存利用上,来解决我们数量大和计算复杂的问题,当然这个过程中要考虑到分布式的协同和故障处理。如果仅仅是原创 2011-09-01 13:29:04 · 986 阅读 · 0 评论 -
<一>基于Fourinone实现分布式计算上手指南和demo
本demo用最简洁的代码示范fourinone如何进行分布式计算,fourinone采用一种工头链式结合工人并行的计算结构简化分布式计算,能够通俗易懂并能深入控制整个计算过程SimpleCtor:是一个工头实现,它实现giveTask接口,并通过getWaitingWorkers获取线上工人节点(工人节点为一个独立进程,它可以独立部署一台机器也可以一台机器部署多个),并调用该工人的doTask原创 2011-09-07 10:55:22 · 1008 阅读 · 0 评论 -
<二>基于Fourinone实现分布式计算完整demo
我们现实中的分布式计算存在多个环节,比如有的任务拆分,有的计算结果合并,或者是多个拆分和合并,他们之间是串行关系,也就是合并必须等待拆分和计算完成才能进行,同时每个拆分或者合并的任务又都是并行的过程。CtorDemo:是包含了3个工头实例,对应3个环节,链式处理,实现过程获取到线上工人节点,进行调用,所有的分配任务和中间结果存储都由自己实现处理。这里简单的将20条数据分配给多个工人处理,数原创 2011-09-07 10:56:36 · 542 阅读 · 0 评论 -
用淘宝Fourinone实现Hadoop经典实例wordcount
很多人是通过wordcount入门分布式并行计算, 该demo演示了Hadoop的经典实例wordcount的实现输入数据:n个数据文件,每个1g大小,为了方面统计,每个文件的数据由“aaa bbb ... ccc”(由空格分割的1k单词组)不断复制组成。输出数据:输出这n*1g个数据文件中的每个单词总数fourinone简单实现思路,假设有n台计算机,将这n个1g数据文件放置在每台计原创 2011-12-05 15:08:35 · 867 阅读 · 0 评论 -
<六>基于淘宝Fourinone实现分布式缓存指南和demo
利用fourinone可以轻松实现分布式缓存功能:1、中小应用的缓存实现:直接启动一个parkserver,分别在两个java进程中使用ParkLocal的create和get方法即可实现缓存的读写操作。2、如果是大型网站的缓存,单台parkserver的压力不能承受,需要建立多台CacheServer,并且使用CacheFacade进行负载均衡,CacheFacade会根据key自动寻找原创 2011-12-05 13:49:38 · 558 阅读 · 0 评论 -
<五>基于淘宝Fourinone实现分布式锁指南和demo
LockDemo是利用fourinone进行分布式锁的实现:可以启动多个LockDemo实例,每个实例在fourinone上建立一个自己的node, node的domain为lock, node的值为node然后再轮循判断domain lock的第一个元素是否是自己的node,如果是,就执行,这里模拟线程执行8秒,执行完将自己的node删除,代表释放锁;如果不是,就继续等待。运行步原创 2011-12-05 13:46:29 · 656 阅读 · 0 评论 -
<七>基于淘宝Fourinone实现MQ指南和demo
FourInOne也可以当成简单的mq来使用,该demo演示了队列和主题订阅两种模式的实现一、队列将domain视为mq队列,每个node为一个队列消息,检查domain的变化来获取队列消息。Sender:是一个队列发送者,他发送消息的实现是在queue上创建一个匿名节点来存放消息pl.create(queue, (Serializable)obj);Receiver:是一个队原创 2011-12-05 13:51:17 · 606 阅读 · 0 评论 -
淘宝Fourinone和Hadoop的完整对比
fourinone-1.11.09hadoop-0.21.0体积82K71M依赖关系就一个jar,没有依赖约12项jar包依赖配置就一个配置文件较多配置文件和复杂属性集群搭建简单,每台机器放一个jar和配置文件复原创 2011-12-05 15:23:11 · 1059 阅读 · 0 评论 -
淘宝Fourinone分布式计算框架性能、压力、容灾测试报告
Fourinone在去年11月在淘宝内部通过了压测,上亿排序和wordcount等经典指标均优于hadoop,这是一份长达10多页的详细测试报告:http://down.51cto.com/data/337250 (下载无须积分)原创 2012-02-27 14:19:27 · 1170 阅读 · 0 评论 -
使用并行计算大幅提升递归算法效率
前言:无论什么样的并行计算方式,其终极目的都是为了有效利用多机多核的计算能力,并能灵活满足各种需求。相对于传统基于单机编写的运行程序,如果使用该方式改写为多机并行程序,能够充分利用多机多核cpu的资源,使得运行效率得到大幅度提升,那么这是一个好的靠谱的并行计算方式,反之,又难使用又难直接看出并行计算优势,还要耗费大量学习成本,那就不是一个好的方式。由于并行计算在互联网应用的业务场景都比原创 2012-12-19 10:59:07 · 3485 阅读 · 2 评论