Iveely.Computing是参考Storm的分布式实时计算系统的部分原理,用纯Java实现的轻量级、迷你型,适合于搜索引擎的实时计算系统, Iveely 搜索引擎是一款基于Iveely.Computing的搜索引擎,因此部署Iveely.Computing是使用Iveely搜索的关键,通过验证,Iveely搜索稳定在Iveely.Computing上运行了一个月。

一个完整的部署文件包含以下内容:

Zookeeper 是必要的协调服务。

Master 是Iveey.Computing的任务主节点,仅需部署一个。

Slave 是Iveely.Computing的数据处理节点,可部署在更多的服务器上,数量不作限制。

UI 是Iveely.Computing的可视化界面,界面参考Storm。

Console 是用于Iveely.Computing 提交任务的工具。

本地部署

1. 启动Zookeeper: 运行Zookeeper\bin\文件夹下的zkServer.cmd。

2. 启动Master: 运行 Master\RunMaster.bat。

3. 启动Slave:运行Slave\RunSlave.bat。

多机器部署:

1. 启动Zookeeper:根据实际情况,设定zookeeper数量,部署方法类似。

2. 启动Master:在选择的机器上,拷贝Master文件夹,修改Master\RunMaster.bat中的zookeeper地址和端口号(127.0.0.1 2181 改为实际机器地址和端口号)。

3. 启动Slave:在选择的机器上(可一台或多台),拷贝Slave文件夹,修改Slave\RunSlave.bat文件中的zookeeper地址和端口号(同上)。

测试是否启动成功:

双击打开UI的index.html,如果看到如下页面,且Slave节点正常显示出来,则说明部署成功。(多台机器部署时,UI\js\request.js 中 uiAddress 值需要改为Master的地址)。

在Slave summary 中需要看到对应的slave节点,否则slave节点可能没有被识别到。

如何提交任务运行:

在Console文件夹下面,有一个示例程序Iveey.Computing.Example.jar

双击RunConsole,输入:upload Iveey.Computing.Example.jar com.iveely.computing.example.WordCount,屏幕返回success表示已经提交成功。

其中,upload是指令,第一个参数是jar路径,第二个参数是执行的类名,包含完成包名。

这个时候,返回index.html,在TopologySummary中,将会看到刚刚提交的任务,这是一个词频统计任务。

如果状态是running表示正常运行,如果是completed表示运行结束,如果是Exception,表示存在异常。

如何查看任务的运行详细信息

点击上图中的”WordCount“链接,将会看到更加详细的信息,包括每个节点运行情况、异常、数据量等等。

详细了解可以参考:如何快速写一个分布式实时应用程序

如何部署Iveely.Computing分布式实时计算系统的更多相关文章

  1. 一脸懵逼学习Storm---(一个开源的分布式实时计算系统)

    Storm的官方网址:http://storm.apache.org/index.html 1:什么是Storm? Storm是一个开源的分布式实时计算系统,可以简单.可靠的处理大量的数据流.被称作“ ...

  2. (第8篇)实时可靠的开源分布式实时计算系统——Storm

    摘要: 在Hadoop生态圈中,针对大数据进行批量计算时,通常需要一个或者多个MapReduce作业来完成,但这种批量计算方式是满足不了对实时性要求高的场景.那Storm是怎么做到的呢? 博主福利 给 ...

  3. 一脸懵逼学习Storm的搭建--(一个开源的分布式实时计算系统)

    Storm的官方网址:http://storm.apache.org/index.html :集群部署的基本流程(基本套路): 集群部署的流程:下载安装包.解压安装包.修改配置文件.分发安装包.启动集 ...

  4. 开源分布式实时计算引擎 Iveely Computing 之 WordCount 详解(3)

    WordCount是很多分布式计算中,最常用的例子,例如Hadoop.Storm,Iveely Computing也不例外.明白了WordCount在Iveely Computing上的运行原理,就很 ...

  5. 开源分布式实时计算引擎 Iveely Computing 之 安装部署(2)

          在Github中下载代码和二进制程序中,您都会看到一个bin\iveely computing目录,里面即是Iveely Computing的运行库.              以前总是有 ...

  6. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  7. Storm实时计算系统

    来自知乎: 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同时对于信息的时效性要求也越来越高.举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希 ...

  8. 转: 透过CAT,来看分布式实时监控系统的设计与实现

    评注: 开源的分布式监控系统 转:http://www.infoq.com/cn/articles/distributed-real-time-monitoring-and-control-syste ...

  9. (四):C++分布式实时应用框架——状态中心模块

    C++分布式实时应用框架--状态中心模块 上篇:(三):C++分布式实时应用框架--系统管理模块 技术交流合作QQ群:436466587 欢迎讨论交流 版权声明:本文版权及所用技术归属smartguy ...

随机推荐

  1. Nginx为什么比Apache Httpd高效:原理篇

    一.进程.线程? 进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6)中,线 ...

  2. Eclipse编译去除svn文件夹

    使用Eclipse编译文件后,classes文件中总是有.svn的文件夹,这些文件没有什么用,而且影响build的速度 "Project->Properties->Java Bu ...

  3. Android资源下载

    各个版本,在线源码: http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/ ...

  4. Hibernate占位符?和:及JPA

    小结一下hibernate占位符. 1.最常见的?占位符. String hql = "select a from Apple a where a.color=? a.weight>? ...

  5. SQL Server with(nolock)详解

    大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的. 什么是并发访问:同一时间有多个用户访问同一资源,并发 ...

  6. SSIS WITH VERTICA的注意事项总结

    项目中使用到SSIS访问vertica,以下是我使用中总结的一些注意事项: 1.vertica对约束的处理方式与之前的DBMS是不同的. 以上的截图说明,在使用ado.net provider连接ve ...

  7. codeforces 709A A. Juicer(水题)

    题目链接: A. Juicer 题意: 给出n个橘子,汁漫出来了就倒出来,反正就是要求要倒几次; 思路: AC代码: #include <iostream> #include <cs ...

  8. POJ 1269 Intersecting Lines【判断直线相交】

    题意:给两条直线,判断相交,重合或者平行 思路:判断重合可以用叉积,平行用斜率,其他情况即为相交. 求交点: 这里也用到叉积的原理.假设交点为p0(x0,y0).则有: (p1-p0)X(p2-p0) ...

  9. 对Spring的IoC和DI最生动的解释

    首先想说说IoC(Inversion of Control,控制倒转).这是spring的核心,贯穿始终.所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系 ...

  10. DoTween NGUI bug

    多次动画导致UISprite丢失 DOTween动画进行时与UISprite有冲突,DOTween多次重复同一个动画时,UISprite会莫名的丢失 UISprite动画代码 CUIManager.I ...