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安装就完成了~