Apache Heron在Linux平台上的编译指南

Apache Heron在Linux平台上的编译指南

incubator-heron Apache Heron (Incubating) is a realtime, distributed, fault-tolerant stream processing engine from Twitter incubator-heron 项目地址: https://gitcode.com/gh_mirrors/incu/incubator-heron

前言

Apache Heron是一个实时、分布式、可扩展的流处理引擎,最初由Twitter开发并开源。本文将详细介绍在Linux系统(Ubuntu 14.04和CentOS 7)上编译Heron的完整过程,帮助开发者快速搭建Heron开发环境。

系统要求

Heron目前支持在以下Linux平台上构建:

  • Ubuntu 14.04
  • CentOS 7

Ubuntu 14.04编译指南

1. 系统更新

首先确保系统是最新状态:

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

2. 安装必要依赖

安装编译Heron所需的基础库和工具:

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

3. 设置编译器环境变量

指定使用gcc-4.8和g++-4.8:

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

4. 安装JDK 8

Heron需要Java 8环境:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update -y
sudo apt-get install oracle-java8-installer -y
export JAVA_HOME="/usr/lib/jvm/java-8-oracle"

5. 安装Bazel构建工具

Heron使用Bazel作为构建系统:

wget -O /tmp/bazel.sh [Bazel安装脚本地址]
chmod +x /tmp/bazel.sh
/tmp/bazel.sh --user

注意:请使用Heron当前支持的Bazel版本。

6. 安装Python开发工具

sudo apt-get install python-dev python-pip

7. 配置Bazel路径

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

8. 获取Heron源代码

git clone [Heron仓库地址] && cd heron

9. 配置Bazel构建

./bazel_configure.py

10. 构建项目

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

11. 构建安装包

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

构建完成后,安装包会生成在bazel-bin/scripts/packages/目录下。

手动安装依赖库

如果遇到libunwind、libtool或gperftools相关错误,可以手动安装:

安装libtool

wget [libtool下载地址]
tar -xvf libtool-2.4.6.tar.gz
cd libtool-2.4.6
./configure
make
sudo make install

安装libunwind

wget [libunwind下载地址]
tar -xvf libunwind-1.1.tar.gz
cd libunwind-1.1
./configure
make
sudo make install

安装gperftools

wget [gperftools下载地址]
tar -xvf gperftools-2.5.tar.gz
cd gperftools-2.5
./configure
make
sudo make install

CentOS 7编译指南

1. 安装基础依赖

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

2. 手动安装libunwind

wget [libunwind下载地址]
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. 安装JDK 8

cd /opt/
sudo wget [JDK下载地址]
sudo tar xzf jdk-8u91-linux-x64.tar.gz

配置Java环境:

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

设置环境变量:

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

5. 安装Bazel

wget -O /tmp/bazel.sh [Bazel安装脚本地址]
chmod +x /tmp/bazel.sh
/tmp/bazel.sh --user

6. 编译Heron

git clone [Heron仓库地址] && cd heron
./bazel_configure.py
bazel build --config=centos heron/...

7. 构建安装包

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

常见问题解决

  1. 依赖库冲突:如果遇到依赖库版本冲突,建议手动编译安装指定版本。

  2. 内存不足:Heron编译过程需要较多内存,建议至少有4GB可用内存。

  3. Bazel版本问题:确保使用Heron官方推荐的Bazel版本。

  4. Java版本问题:必须使用Java 8,其他版本可能导致编译失败。

总结

本文详细介绍了在Ubuntu 14.04和CentOS 7上编译Apache Heron的完整过程。通过遵循这些步骤,开发者可以成功构建Heron流处理引擎,为后续的开发和部署工作打下基础。如果在编译过程中遇到问题,可以参考常见问题解决部分或查阅Heron官方文档获取更多帮助。

incubator-heron Apache Heron (Incubating) is a realtime, distributed, fault-tolerant stream processing engine from Twitter incubator-heron 项目地址: https://gitcode.com/gh_mirrors/incu/incubator-heron

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎牧联Wood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值