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. SQL Server 2008 R2——VC++ ADO 操作 事务

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  2. cocos2d-x之Box2d初试

    物理引擎:用来模拟一套物理事件的物理代码. #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "c ...

  3. FZU 1608 Huge Mission(线段树)

    Problem 1608 Huge Mission Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description Oaiei ...

  4. linux下对2个连通的串口读写遇到的问题

    想要分析下zmodem协议,搜索发现linux下的工具lrzsz是一个包含x,y,z modem传输的工具,下载其源码,下载.它可以借助各种串行的接口进行数据传输,比如串口,socket也可以,这点描 ...

  5. hdu-5496 Beauty of Sequence(递推)

    题目链接: Beauty of Sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java ...

  6. bitbucket和Mercurial安装和相关

    应为工作需要,需要使用bitbucket和Mercurial进行软件开发管理.下面简单介绍以下这些东西和他的安装. bitbucket是一个类似github的软件开发管理工具,和github不同,bi ...

  7. ZOJ 3967 Colorful Rainbows --栈的应用

    题意:给出n条y=ai*x+bi的直线.对于这些直线,如果存在x使得该直线y大于其他任意一直线,那么这条直线可以被看见,问有多少条直线可以被看见. 做法什么的不讲了,参见:http://blog.cs ...

  8. 利用jquery来进行表单的多向提交

    最近由于特别忙,每晚都是1到2点倒床便睡的那种,所以没有给自己要求写日记,等这阶段过完,还会重新开始. 今天来写一个前端的表单提交的方法. 有时往往以为在同一个表单中,不同的按钮,来表达的含义不同,需 ...

  9. 深入.NET框架 项目《魔兽登录系统》

    创建魔兽系统相关窗体: 登录窗体(frmLogin) 注册窗体(frmRegister) 主窗体   (frmMain) 实现魔兽登录系统: 登录的界面如下 实现思路: 1.创建一个对象数组,长度为1 ...

  10. java 15 - 6 List的方法

    List集合的特有功能: A:添加功能 void add(int index,Object element):在指定索引处添加元素 B:获取功能 Object get(int index):获取指定索 ...