Heron是Twitter为了更好的进行实时计算的项目,主要是为了替换和改善Storm的不足而设计。详细的基础介绍和设计目标优势等,可以搜索Google或者查看官方文档(http://twitter.github.io/heron/)。

 这里对Heron的使用做出一些介绍,在了解基础上,动手实践总是更好理解。这一部分只提及heron的安装依赖环境。

一、Heron使用依赖的环境:

 1.  系统平台平台要求: 

   Heron目前只在几个平台可用,Mac OS X 10.10,Ubuntu 14.04,和CentOS 7.

 2.  依赖包要求:

  • Bazel = 0.3.0. Later versions might work but have not been tested. See Installing Bazel below.

  • Java 8 is required by Bazel but Heron does not use Java 8 features; Heron topologies can be written in Java 7 or above and all Heron jars are compatible with Java 7.

  • Autoconf >= 2.6.3

  • Automake >= 1.11.1

  • GNU Make >= 3.81

  • GNU Libtool >= 2.4.6

  • gcc/g++ >= 4.8.1 (Linux platforms)

  • CMake >= 2.6.4

  • Python >= 2.7 (not including Python 3.x)

  • Perl >= 5.8.8

二、Linux下Heron安装

 Ubuntu14.04下安装

    1. 更新Ubuntu

$ sudo apt-get update -y
$ sudo apt-get upgrade -y

    2. 安装需要的依赖包

$ sudo apt-get install git build-essential automake cmake libtool zip \  
        libunwind-setjmp0-dev zlib1g-dev unzip pkg-config -y

    3. 设置gcc和g++环境变量

export CC=/usr/bin/gcc-4.8
export CCX=/usr/bin/g++-4.8

    4. 安装JDK8

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update -y
$ sudo apt-get install oracle-java8-installer -y

    5. 安装Bazel

wget -O /tmp/bazel.sh chmod +x /tmp/bazel.sh
/tmp/bazel.sh --user

    注:安装最新的bazel版本,目前是0.3.0

    6. 设置bazel的环境变量

$ export PATH="$PATH:$HOME/bin"

    7. 获取最新的heron源码

$ git clone https://github.com/twitter/heron.git && cd heron

    8. 为bazel配置heron

$ ./bazel_configure.py

    9. build project

$ bazel build --config=ubuntu heron/...

    10. build packages

$ bazel build --config=ubuntu scripts/packages:binpkgs  
$ bazel build --config=ubuntu scripts/packages:tarpkgs

        通过上面几个步骤就可以将heron包安装在 bazel-bin/scriptes/packages/ 目录下。

   如果有人使用libunwind,libtool或者gperftools遇到一些错误,推荐手动安装这些东西。

 1.编译安装libtool

$ wget 
$ tar -xvf libtool-2.4.6.tar.gz
$ cd libtool-2.4.6
$ ./configure$ make$ sudo make install

 2. 编译安装libunwind

$ wget 
$ tar -xvf libunwind-1.1.tar.gz
$ cd libunwind-1.1
$ ./configure$ make
$ sudo make install

 3. 编译安装gperftools

$ wget 
$ tar -xvf gperftools-2.5.tar.gz
$ cd gperftools-2.5
$ ./configure$ make
$ sudo make install


Centos7安装

 1. 安装需要的依赖

$ sudo yum install gcc gcc-c++ kernel-devel wget unzip zlib-devel zip git automake cmake patch libtool -y

 2. 从源码安装libunwind

$ wget 
$ tar xvf libunwind-1.1.tar.gz
$ cd libunwind-1.1$ ./configure
$ make
$ sudo make install

 3. 设置下面的环境变量

$ export CC=/usr/bin/gcc
$ export CCX=/usr/bin/g++

 4. 安装JDK8

$ cd /opt/
$ sudo wget --no-cookies --no-check-certificate \  
    --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \  
    "
$ sudo tar xzf jdk-8u91-linux-x64.tar.gz

 使用alternative配置jdk版本

$ sudo cd /opt/jdk1.8.0_91/
$ sudo alternatives --install /usr/bin/java java /opt/jdk1.8.0_91/bin/java 2
$ sudo alternatives --config java

 设置javac和jar命令

$ sudo alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_91/bin/jar 2
$ sudo alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_91/bin/javac 2
$ sudo alternatives --set jar /opt/jdk1.8.0_91/bin/jar$ sudo alternatives --set javac /opt/jdk1.8.0_91/bin/javac

    导入java环境变量

export JAVA_HOME=/opt/jdk1.8.0_91export JRE_HOME=/opt/jdk1.8.0_91/jreexport PATH=$PATH:/opt/jdk1.8.0_91/bin:/opt/jdk1.8.0_91/jre/bin

 5. 安装Bazel

wget -O /tmp/bazel.sh 
chmod +x /tmp/bazel.sh
/tmp/bazel.sh --user

 6. 下载编译heron

$ git clone https://github.com/twitter/heron.git && cd heron
$ ./bazel_configure.py
$ bazel build --config=centos heron/...

 7. build packages

$ bazel build --config=centos scripts/packages:binpkgs
$ bazel build --config=centos scripts/packages:tarpkgs

    如此便可将heron包安装在bazel-bin/scriptes/packages/ 目录下。

    至此Linux环境下的Heron安装就完成了~