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. jQuery 获取页面元素的属性值

    获取浏览器显示区域(可视区域)的高度 :    $(window).height();    获取浏览器显示区域(可视区域)的宽度 : $(window).width();    获取页面的文档高度 ...

  2. C++ string的大小写转换

    将一个string转换成大写或者小写,是项目中经常需要做的事情,但string类里并 没有提供这个方法.自己写个函数来实现,说起来挺简单,但做起来总让人觉得不方便.打个比方:早上起来想吃个汉堡,冰箱里 ...

  3. css3 animation动画技巧

    一,css3 animation动画前言 随着现在浏览器对css3的兼容性越来越好,使用css3动画来制作动画的例子也越来越广泛,也随着而来带来了许多的问题值得我们能思考.css3动画如何让物体运动更 ...

  4. 《TCP/IP详解 卷一》读书笔记-----TCP连接建立

    1.在每个TCP报文段中,头部的flag字段里的SYN,FIN,RST,PSH可以多个有效,并没有限定为必须只有一个 2.TCP连接建立过程: 1)客户端发送一个SYN报文段,其中包含了客户端要传送的 ...

  5. java获取Json和http状态码

    最近再做接口自动化测试,其中有几个方法比较重要 1.获取http状态码 /* * 返回接口状态码 * */ public static String getHttpCode(String url) { ...

  6. 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)

    1. Animation动画   在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimati ...

  7. js/jquery判断浏览器的方法总结

    JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:nav ...

  8. HDU 3333 Turing Tree --树状数组+离线处理

    题意:统计一段序列[L,R]的和,重复元素只算一次. 解法:容易看出在线做很难处理重复的情况,干脆全部讲查询读进来,然后将查询根据右端点排个序,然后离散化数据以后就可以操作了. 每次读入一个数,如果这 ...

  9. mysql创建表

    说明:此文件包含了blog数据库中建立所有的表的Mysql语句. 在sql语句中注意“约束的概念": 1.实体完整性约束(主键--唯一且非空) primary key() 违约处理:No a ...

  10. ref out 方法参数

    ref out 相似 ref和out两个关键字的作用大致相同,但是有一些微妙但是重要的区别. 两者的行为相似到连编译器都认为这两者不能被重载:public void SampleMethod(out ...