从源码编译

从2.4.0开始,Pegasus目前支持Linux和macOS平台进行源码编译。编译过程中遇到问题,可以通过Github Issues向我们咨询。

环境要求

  • GCC 5+
  • CMake 3.11+

Ubuntu环境配置

你可以参考 pegasus-build-dev/ubuntu20.04 的Docker镜像安装全部依赖。

apt-get update -y; \
apt-get install -y --no-install-recommends \
                       build-essential \
                       software-properties-common \
                       clang-10 \
                       openjdk-8-jdk \
                       python3-pip \
                       libaio-dev \
                       libsnappy-dev \
                       libbz2-dev \
                       libzstd-dev \
                       liblz4-dev \
                       zlib1g \
                       zlib1g.dev \
                       patch \
                       netcat \
                       wget \
                       ccache \
                       git \
                       curl \
                       zip \
                       unzip \
                       gdb \
                       vim \
                       automake \
                       libtool \
                       libssl-dev \
                       bison \
                       maven \
                       flex;

pip3 install --no-cache-dir cmake

CentOS环境配置

你可以参考 pegasus-build-dev/centos7 的Docker镜像安装全部依赖。

yum -y install centos-release-scl \
                   scl-utils \
                   epel-release; \
                   yum -y install devtoolset-7-gcc \
                   devtoolset-7-gcc-c++ \
                   java-1.8.0-openjdk-devel.x86_64 \
                   python3 \
                   automake \
                   autoconf \
                   make \
                   libtool \
                   git \
                   file \
                   wget \
                   ccache \
                   nmap-ncat \
                   zip \
                   gdb \
                   vim \
                   unzip \
                   which \
                   openssl-devel \
                   libaio-devel \
                   snappy-devel \
                   bzip2-devel \
                   zlib \
                   zlib-devel \
                   libzstd-devel \
                   lz4-devel \
                   bison \
                   flex \
                   patch;

pip3 install --no-cache-dir cmake

源码编译

在此之前,请确保:

  • maven已被正确安装且已添加到PATH
  • devtoolset-7已被添加到PATH
  • JAVA_HOME已被正确设置

请先参考下载文档获取源码。

./run.sh build -c

编译后输出会放在当前目录的DSN_ROOT/文件夹下,里面包含bin、include、lib目录。

编译打包

打包server端程序包,用于服务部署:

./run.sh pack_server

打包client端库,用于C/C++端客户端开发:

./run.sh pack_client

打包tools工具集,里面包含了各种工具(shell、bench):

./run.sh pack_tools

编译成功后,推荐先体验onebox集群

Copyright © 2023 The Apache Software Foundation. Licensed under the Apache License, Version 2.0.

Apache Pegasus is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Apache Pegasus, Pegasus, Apache, the Apache feather logo, and the Apache Pegasus project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.