zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MPP数据库之Doris(1):Doris编译

数据库 编译 Doris MPP
2023-09-14 09:14:56 时间

目录

0. 相关文章链接

1. Doris简介

2. Apache Doris编译准备工作

2.1. 网络准备

2.2. Docker环境准备

3. Apache Doris编译

3.1. 拉取镜像

3.2. 指定JDK版本

3.3. 编译Doris

4. 已编译好的Doris-0.15版本下载地址


0. 相关文章链接

数据库 文章汇总

1. Doris简介

        Apache Doris最早诞生于2008年,最初只为解决百度凤巢报表的专用系统。在08年那个时候数据存储和计算成熟的开源产品非常少,HBase的导入性能只有大约2000条/秒,在这种不能满足业务的背景下,doris1诞生了,并且跟随百度凤巢系统一起正式上线。

        Apache Doris是一个现代化的MPP分析性数据库产品。仅需要亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析。

为分析而生的11年:Doris简介链接地址由此进

2. Apache Doris编译准备工作

2.1. 网络准备

# 查看防火墙状态
systemctl status firewalld.service

# 关闭防火墙
systemctl stop firewalld.service

# 开机禁止防火墙服务器
systemctl disable firewalld.service

# 安装wget工具
yum -y install wget

# 确定能ping通外网
ping www.baidu.com

2.2. Docker环境准备

        Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

        简而言之,可以类比于我们在学习过程中经常使用到的虚拟机技术,但相较虚拟机,Docker极为轻量化和简单化,通过容器化部署,可以快速隔离出一个有资源、有独立系统、有独立环境的小型完备的系统容器,我们可以通过简单的安装和使用简单的命令,来操控我们的Linux系统创建一个用于编译Doris环境的Docker容器。

请按照如下命令按顺序执行:

# Docker 要求 CentOS 系统的内核版本高于3.10 ,首先查看系统内核版本是否满足
uname -r
​
# 使用 root 权限登录系统,确保 yum 包更新到最新
sudo yum update
​
# 假如安装过旧版本,先卸载旧版本
sudo yum remove docker  docker-common docker-selinux docker-engine
​
# 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
​
# 设置yum源(加速yum下载速度)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
​
# 查看所有仓库中所有docker版本,并选择特定版本安装,一般可直接安装最新版
yum list docker-ce --showduplicates | sort -r
​
# 安装最新稳定版本
sudo yum install docker-ce -y 
​
# 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
​
# 查看Version,验证是否安装成功
docker version

Docker的常用命令,不是必须执行:

# 查看当前运行的Docker镜像
docker ps
​
# 进入某个Docker镜像
docker exec -it <镜像Name> /bin/bash
​
# 查看当前机器已拉取的镜像
docker images
​
# 运行指定的镜像创建容器
docker run -p 本机映射端口:镜像映射端口 -d  --name 启动镜像名称 -e 镜像启动参数  镜像名称:镜像版本号

3. Apache Doris编译

3.1. 拉取镜像

# 拉取 0.15.0版本 的doris
docker pull apache/incubator-doris:build-env-for-0.15.0
​
# 使用 docker images 命令,查看是否有doris 0.15版本镜像
docker images
​
# 在centos7上创建doris的压缩包,然后使用docker命令启动docker,并指定对应的centos7目录
# 因为如果直接使用 docker run -it apache/incubator-doris:build-env-for-0.15.0 命令进入镜像的话
# 做的所有操作都是资源隔离的,资源会随着退出镜像而消失。
# 建议以挂载本地 Doris 源码目录的方式运行镜像,这样编译的产出二进制文件会存储在宿主机中,不会因为镜像退出而消失。
# 同时,建议同时将镜像中 maven 的 .m2 目录挂载到宿主机目录,以防止每次启动镜像编译时,重复下载 maven 的依赖库。
​
# 创建目录
mkdir /opt/doris
​
# 使用wget命令 下载 doris源码包
wget https://downloads.apache.org/incubator/doris/0.15.0-incubating/apache-doris-0.15.0-incubating-src.tar.gz
​
# 下载后得到源码tar压缩包,执行以下命令解压缩
tar -zxvf apache-doris-0.15.0-incubating-src.tar.gz 
​
# 启动 docker
# docker run --name apache-doris-0.15.0 -it -v /root/.m2:/root/.m2 -v 宿主机下载了源码的位置:容器内你想看到的源码位置 apache/incubator-doris:build-env-for-0.15.0
docker run --name apache-doris-0.15.0 -it -v /root/.m2:/root/.m2 -v /opt/doris:/opt/doris apache/incubator-doris:build-env-for-0.15.0

3.2. 指定JDK版本

在我们拉取下的官方编译环境镜像中,其实给了两套JDK供我们选择,一套是JDK8、一套JDK11,默认使用的是JDK11,所以我们按需进行修改。

JDK8版本:

# 按需执行(在docker镜像中)
alternatives --set java java-1.8.0-openjdk.x86_64
alternatives --set javac java-1.8.0-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/java-1.8.0

JDK11版本:

# 按需执行(在docker镜像中)
alternatives --set java java-11-openjdk.x86_64
alternatives --set javac java-11-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/java-11

3.3. 编译Doris

##### 如下命令在docker镜像中执行
​
# 进入解压包的目录
cd /opt/doris/apache-doris-0.15.0-incubating-src/
​
# 编译(如果是第一次编译的时候要使用如下命令,这是因为1.4.2 版本镜像升级了 thrift(0.9 -> 0.13),需要通过 --clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码)
sh build.sh --clean --be --fe --ui -j2
​
# 如果不是第一次编译
sh build.sh
​
​
# 至此,编译步骤全部完成且成功~
# 我们需要将FE文件夹和BE文件夹拷贝至宿主机,这是我们的编译结晶,相当于是孵化器成功孵化出小鸡,我们要把小鸡从孵化器中拎出来去喂养和做后续操作~
​
##### 如下命令在centos7中执行
​
# 将编译的包复制出来(注意:前面的 ed22cbfd325a 是你docker镜像的名称)
docker cp 1b9295aa83d8:/opt/doris/apache-doris-0.15.0-incubating-src/output /opt/
​
# 当然,因为前面启动docker时指定了目录,其实在centos7中能直接查看到(output目录)
ll /opt/doris/apache-doris-0.15.0-incubating-src/

设置JDK8,并进入目录,进行编译:

编译过程:

编译结果:

结果包导出:

4. 已编译好的Doris-0.15版本下载地址

CSDN下载地址:doris0.15版本安装包-其它文档类资源-CSDN下载

百度网盘下载地址: 百度网盘下载链接      百度网盘提取码: 1234 


注:Doris系列博文为通过对Doris官网学习记录所写,其中有加入个人理解,如有不足,请各位读者谅解☺☺☺

注:其他相关文章链接由此进 ->     数据库 文章汇总