什么是Heron?

Twitter使用Storm实时分析海量数据已经有好几年了,并在2011年将其开源。该项目稍后开始在Apache基金会孵化,并在2015年秋天成为顶级项目。Storm以季度为发布周期,并且向着人们期望的稳定版前进。但一直以来,Twitter都在致力于开发替代方案Heron,因为Storm无法满足他们的实时处理需求。Twitter现在已经用Heron完全替换了Storm。前者现在每天处理“数10TB的数据,生成数10亿输出元组”,在一个标准的单词计数测试中,“吞吐量提升了6到14倍,元组延迟降低到了原来的五到十分之一”,硬件减少了2/3。当被问到Twitter是否会开源Heron时,Ramasamy说“在短时间内不会,但长期来看可能。”然而就在2016年5月25日,Twitter正式宣布Heron开源。Twitter工程经理Karthik Ramasamy在博客上宣布了这一消息。

快速安装Heron

一、使用安装脚本下载heron的二进制文件

安装脚本的下载地址是https://github.com/twitter/heron/releases

博主用的是centos7,所以下载了centos版本的安装文件。

[heron@spark ~]$ ls
heron-client-install-0.14.4-centos.sh heron-tools-install-0.14.4-centos.sh
[heron@spark ~]$

下载完后开始安装

[root@spark heron]# chmod +x heron-client-install-0.14.4-centos.sh
[root@spark heron]# ./heron-client-install-0.14.4-centos.sh
--warning=no-timestamp
Heron client installer
---------------------- Uncompressing..tar xfz /usr/local/heron/heron-client.tar.gz -C /usr/local/heron --warning=no-timestamp
....
Heron is now installed! Make sure you have "/usr/local/bin" in your path. See http://heronstreaming.io/docs/getting-started for how to use Heron. heron.build.version : '0.14.4-1-g8de8003'
heron.build.time : Wed Oct 5 17:55:30 PDT 2016
heron.build.timestamp : 1475715348000
heron.build.host : tw-mbp-kramasamy
heron.build.user : kramasamy
heron.build.git.revision : 8de80037791dfde3d493a6ec255429908716f03f
heron.build.git.status : Clean
[root@spark heron]#

默认安装的路径是/usr/local/bin。

也可以指定安装路径  ./heron-client-install-VERSION-PLATFORM.sh --user

安装完后,配置一下 /etc/profile

vi /etc/profile
export PATH=$PATH:/usr/local/bin

然后source一下

source /etc/profile

安装另一个文件

[root@spark heron]# chmod +x heron-tools-install-0.14.4-centos.sh
[root@spark heron]# ./heron-tools-install-0.14.4-centos.sh
--warning=no-timestamp
Heron tools installer
--------------------- Uncompressing..tar xfz /usr/local/herontools/heron-tools.tar.gz -C /usr/local/herontools --warning=no-timestamp
....
Heron Tools is now installed! Make sure you have "/usr/local/bin" in your path. See http://heronstreaming.io/docs/getting-started for how to use Heron. heron.build.version : '0.14.4-1-g8de8003'
heron.build.time : Wed Oct 5 17:55:30 PDT 2016
heron.build.timestamp : 1475715348000
heron.build.host : tw-mbp-kramasamy
heron.build.user : kramasamy
heron.build.git.revision : 8de80037791dfde3d493a6ec255429908716f03f
heron.build.git.status : Clean
[root@spark heron]#

最后确认一下是否安装完成

[root@spark local]# heron version
heron.build.version : '0.14.4-1-g8de8003'
heron.build.time : Wed Oct 5 17:55:30 PDT 2016
heron.build.timestamp : 1475715348000
heron.build.host : tw-mbp-kramasamy
heron.build.user : kramasamy
heron.build.git.revision : 8de80037791dfde3d493a6ec255429908716f03f
heron.build.git.status : Clean
[root@spark local]#

二、提交一个topology

[root@spark local]# heron submit local /usr/local/heron/examples/heron-examples.jar com.twitter.heron.examples.ExclamationTopology ExclamationTopology --deploy-deactivated
INFO: Using config file under /usr/local/heron/conf/local
INFO: Launching topology 'ExclamationTopology'
INFO: Topology 'ExclamationTopology' launched successfully
INFO: Elapsed time: 4.417s.
[root@spark local]#

提交了topology后,heron并不会激活它。

我们查看一下topology是否成功启动和工作目录

[root@spark local]# ls -al ~/.herondata/topologies/local/root/ExclamationTopology
container_1_exclaim1_1.pid heron-executor-0.stdout log-files metrics.json.metricsmgr-2.1
container_1_exclaim1_3.pid heron-executor-1.pid metrics.json.metricsmgr-0.0 metrics.json.metricsmgr-2.2
container_1_word_5.pid heron-executor-1.stderr metrics.json.metricsmgr-0.1 metrics.json.metricsmgr-2.3
container_2_exclaim1_2.pid heron-executor-1.stdout metrics.json.metricsmgr-0.2 metrics.json.metricsmgr-2.4
container_2_exclaim1_4.pid heron-executor-2.pid metrics.json.metricsmgr-0.3 metricsmgr-0.pid
container_2_word_6.pid heron-executor-2.stderr metrics.json.metricsmgr-0.4 metricsmgr-1.pid
ExcalamationTopology.defn heron-executor-2.stdout metrics.json.metricsmgr-1.0 metricsmgr-2.pid
heron-conf heron-shell-0.pid metrics.json.metricsmgr-1.1 release.yaml
heron-core heron-shell-1.pid metrics.json.metricsmgr-1.2 stmgr-1.pid
heron-examples.jar heron-shell-2.pid metrics.json.metricsmgr-1.3 stmgr-2.pid
heron-executor-0.pid heron-tmaster.pid metrics.json.metricsmgr-1.4
heron-executor-0.stderr java-f6c01842-started.stderr metrics.json.metricsmgr-2.0
[root@spark local]#

所有实例的日志文件都可以在工作目录下的日志文件中找到。

[root@spark local]# ls -al ~/.herondata/topologies/local/root/ExclamationTopology/log-files/
container_1_exclaim1_1.log.0 container_2_word_6.log.0 heron-ExclamationTopology-scheduler.log.0.lck
container_1_exclaim1_1.log.0.lck container_2_word_6.log.0.lck heron-shell.log
container_1_exclaim1_3.log.0 gc.container_1_exclaim1_1.log metricsmgr-0.log.0
container_1_exclaim1_3.log.0.lck gc.container_1_exclaim1_3.log metricsmgr-0.log.0.lck
container_1_word_5.log.0 gc.container_1_word_5.log metricsmgr-1.log.0
container_1_word_5.log.0.lck gc.container_2_exclaim1_2.log metricsmgr-1.log.0.lck
container_2_exclaim1_2.log.0 gc.container_2_exclaim1_4.log metricsmgr-2.log.0
container_2_exclaim1_2.log.0.lck gc.container_2_word_6.log metricsmgr-2.log.0.lck
container_2_exclaim1_4.log.0 gc.metricsmgr.log
container_2_exclaim1_4.log.0.lck heron-ExclamationTopology-scheduler.log.0

三、启动 Heron Tracker

[root@spark local]# heron-tracker
INFO: 11/09/2016 09:55:17 +0000 Connecting to file state with rootpath: /root/.herondata/repository/state/local
INFO: 11/09/2016 09:55:17 +0000 State watch triggered for topologies.
INFO: 11/09/2016 09:55:17 +0000 Adding new topology: ExcalamationTopology, state_manager: local
INFO: 11/09/2016 09:55:17 +0000 Registering a watch with uid: 6d218788-1c8c-4f43-806a-a217c59ab4b5
INFO: 11/09/2016 09:55:17 +0000 No execution state found for: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Watch triggered for topology execution state: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Tracker has started
INFO: 11/09/2016 09:55:17 +0000 Setting topology info for topology: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Running on port: 8888
INFO: 11/09/2016 09:55:17 +0000 Watch triggered for topology pplan: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Using config file: /usr/local/herontools/conf/heron_tracker.yaml
INFO: 11/09/2016 09:55:17 +0000 Setting topology info for topology: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Watch triggered for topology tmaster: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Setting topology info for topology: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Watch triggered for topology scheduler location: ExcalamationTopology
INFO: 11/09/2016 09:55:17 +0000 Setting topology info for topology: ExcalamationTopology

启动后可以通过浏览器来查看刚刚提交的topology是否成功,端口号是8888

了解更多的heron tracker,请参考Heron Tracker Rest API

四、启动 Heron UI

[root@spark ~]# heron-ui
INFO: 11/09/2016 10:02:25 +0000 Listening at http://0.0.0.0:8889
INFO: 11/09/2016 10:02:25 +0000 Using tracker url: http://localhost:8888
INFO: 11/09/2016 10:02:29 +0000 200 GET /topologies (192.168.25.57) 52.86ms
INFO: 11/09/2016 10:02:29 +0000 200 GET /static/js/bootstrap.js (192.168.25.57) 37.41ms
INFO: 11/09/2016 10:02:29 +0000 200 GET /static/js/jquery.min.js (192.168.25.57) 24.41ms
INFO: 11/09/2016 10:02:29 +0000 200 GET /static/js/jquery-ui-1.8.23.custom.min.js (192.168.25.57) 16.54ms
INFO: 11/09/2016 10:02:29 +0000 200 GET /static/js/moment.min.2.8.3.js (192.168.25.57) 15.74ms
INFO: 11/09/2016 10:02:29 +0000 200 GET /static/js/underscore-min.1.6.0.js (192.168.25.57) 9.57ms
INFO: 11/09/2016 10:02:29 +0000 200 GET /static/css/visstyle.css (192.168.25.57) 6.50ms
INFO: 11/09/2016 10:02:29 +0000 200 GET /static/js/common.js?v=aea0e809de29e66079cc8ee4c7ea16f7 (192.168.25.57) 2.54ms
INFO: 11/09/2016 10:02:30 +0000 200 GET /static/js/alltopologies.js?v=f6ba00d23089084d4cb32f8bfcf351a0 (192.168.25.57) 3.48ms
INFO: 11/09/2016 10:02:30 +0000 200 GET /static/img/logo54x54.png (192.168.25.57) 9.42ms
INFO: 11/09/2016 10:02:31 +0000 200 GET /static/icomoon/fonts/icomoon.woff (192.168.25.57) 21.88ms
INFO: 11/09/2016 10:02:31 +0000 200 GET /topologies/list.json?format=json (192.168.25.57) 6.98ms

启动后可以通过浏览器查看,端口号8889。(heron-tracker必须启动,不然报错)

五、topology的管理命令

在第二步中,我们已经提交了topology,现在我们可以用命令激活、停止、杀死等命令

heron activate local ExclamationTopology
heron deactivate local ExclamationTopology
heron kill local ExclamationTopology

博文地址:http://julyme.com/20161108/21.html

个人博客:http://julyme.com

Twitter开源的Heron快速安装部署教程的更多相关文章

  1. NideShop项目的安装部署教程

    本文档为微信小程序商城NideShop项目的安装部署教程,欢迎star NideShop商城api服务:https://github.com/tumobi/nideshop NideShop微信小程序 ...

  2. WIX 安装部署教程(六) 为你收集的七个知识点

    前段时间整理5篇WIX(Windows Installer XML)的安装教程,但还不够完善,这里继续整理了七个知识点分享给大家.WIX最新版本3.8,点击下载 WIX安装部署(一)同MSBuild自 ...

  3. 开源社群系统ThinkSNS+安装部署演示视频!

    社群系统TS+一期版本发布之后,很多小伙伴们反馈安装部署有些困难,那么今天由我们的颜值与技术实力担当乔斌大佬通过录制视频的形式,给大家演示一下部署的整个过程,录制过程中有些杂音,请各位尽情谅解,后续我 ...

  4. Nginx Windows详细安装部署教程

    一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...

  5. (转载)Nginx Windows详细安装部署教程

    本文转载自:https://www.cnblogs.com/taiyonghai/p/9402734.html 一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服 ...

  6. OSW 快速安装部署

    关于在运行Oracle的环境下部署OSW具体好处不再多说,只需要知晓,在日常Oracle定位各类故障,osw的数据可以协助诊断问题.MOS很多文档也多处提到需要osw的监控数据. 一.前期资料准备 1 ...

  7. Redis安装部署教程

    1)下载 redis-3.2.9.tar.gz 2)用ssh工具连接目录主机,在命令窗口输入:mkdir -p /opt/redis创建redis文件夹 3)通过WinSCP工具将redis-3.2. ...

  8. OpenVPN Windows 平台安装部署教程

    一.环境准备: 操作系统Windows 服务器IP:192.168.88.123  VPN:192.168.89.1 客户端IP:192.168.78.3 客户端服务端单网卡,路由器做好端口映射 安装 ...

  9. 全网排名第一的免费开源ERP Odoo Git源代码部署教程

    文/开源智造联合创始人老杨 本文来自<开源自主OdooERP部署架构指南>试读:第三章-Git源代码部署 .书籍尚未出版,请勿转载.欢迎您反馈阅读意见. 我们将从git源代码部署Odoo ...

随机推荐

  1. maveb安装与配置(win10)

    转载:https://www.cnblogs.com/eagle6688/p/7838224.html 看了几篇博客,感觉这篇博客写的含金量最高了,因为我电脑的系统是win10的,所以配置有细微的差别 ...

  2. bind&currying

    1. bind 基本用法 bind()是ECMAScript5中新增的方法,这个方法主要作用是将函数绑定至某个对象.当在函数f()上调用bind()方法并传入一个对象o作为参数,这个方法将返回一个新函 ...

  3. xkcd 单线程下载图片

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  4. Redis危险命令重命名、禁用

    Redis的危险命令主要有: flushdb,清空数据库 flushall,清空所有记录,数据库 config,客户端连接后可配置服务器 keys,客户端连接后可查看所有存在的键 作为服务端的redi ...

  5. centos6.5环境下安装zk

    第一步:先下载安装包,解压. 第二步:进去根目录,创建data文件夹  mkdir  data 第三步:进去conf文件夹,修改  zoo_sample.cfg    的名字   mv zoo_sam ...

  6. hp电脑重装win7 64位 后 所有软件都装不上问题【转】

    hp 电脑重装后 所有软件都装不上问题 装了近100来次机,第一次遇到这样的. bug描述: 新笔记本刚装了纯净版的64位旗舰版win7,想装软件,就弹出已停止工作.比如装火狐浏览器,弹出火狐浏览器网 ...

  7. CodeForces - 907A Masha and Bears

    A. Masha and Bears time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  8. bzoj千题计划299:bzoj1856: [Scoi2010]字符串

    http://www.lydsy.com/JudgeOnline/problem.php?id=1856 卡特兰数 从(1,1)走到(n,m),不能走y=x 上方的点,求方案数 从(1,1)走到(n, ...

  9. Ubuntu下提示U盘没有权限--只能读不能写

    在Windows下,U盘能够正常地读写文件(能复制粘贴),但发现有个文件打不开.然后在Linux下,对U盘只能读不能写.提示:Read only system. 参考:https://bugs.lau ...

  10. Http请求中 content-type 和 dataType 区别

    contentType: 告诉服务器,我要发什么类型的数据 dataType:告诉服务器,我要想什么类型的数据,如果没有指定,那么会自动推断是返回 XML,还是JSON,还是script,还是Stri ...