Apache Doris 现行版本 Docker-Compose 运行教程

特别注意!Doris On Docker 部署方式仅限于开发环境或者功能测试环境,不建议生产环境部署! 如有生产环境或性能测试集群部署诉求,请使用裸机/虚机部署或K8S Operator部署方案!

原文阅读:Apache Doris 现行版本 Docker-Compose 运行教程

引言

随着 Apache Doris 项目的火热,很多想尝鲜或者试用的小伙伴都希望通过 Docker 来快速拉起一个功能测试或者开发的集群,但由于一些变更原因,Doris On Docker 这一块的内容还未来得及调整完,所以为了让更多的小伙伴不卡在快速使用的路上,特此出一版教程给大家快速拉起试用。

话不多说,开整!

快速开始

镜像地址

Apache Doris 镜像自 2.1.7 版本开始,都将发布至 apache/doris 仓库项目下,如:

复制代码
docker pull apache/doris:doris-fe-2.1.7
docker pull apache/doris:doris-be-2.1.7

若需要更多镜像地址,可移步至 selectdb/doris 仓库项目下,如:

复制代码
docker pull selectdb/doris.fe-ubuntu:2.1.7
docker pull selectdb/doris.be-ubuntu:2.1.7

若因未能科学上网原因无法拉取下 DockerHub 镜像,可参考另一篇文章的内容添加 Docker 镜像源解决

文档地址:苏奕嘉,公众号:Apache Doris 补习班 《从零构建和使用私有化 Apache Doris Docker 镜像》

前置准备

这里也是后续需要优化的地方,后续版本使用 Docker-Compose 即无需关注这类前置工作了

宿主机设置参数

在宿主机执行以下命令完成环境参数设置,然后启动脚本:

复制代码
ulimit -n 60000
swapoff -a
sysctl -w vm.max_map_count=2000000
修改启动脚本(可选)

上面三项命令在宿主机执行OK后,启动BE将不会有异常问题,以下内容可忽略跳过,若有兴趣的同学可以参考修改调整。

背景说明

因为在 ./be/bin/start_be.sh 启动脚本中,强制校验了为三处环境变量值,若不满足则无法正常启动进程,这三处环境变量值的强制设置是为了在生产环境和性能测试环境中保障进程的稳定性和性能发挥

但使用 Docker 启动,更多是为了体验功能和开发调试,故此可忽略此类校验快速开始。

这里需要我们提前在宿主机上下载一份完整的对应版本的 start_be.sh脚本,或通过临时启动一个 be 的容器,将容器内在 /opt/apache-doris/be/bin/start_be.sh 的脚本,通过 docker cp 命令复制至宿主机,然后修改后删除容器,重新映射给新的容器。

请注意,需根据不同版本使用对应启动脚本,如 2.1.7 版本的启动脚本下载地址:

https://github.com/apache/doris/blob/2.1.7-rc03/bin/start_be.sh

注释部分

2.1.7 版本为例,注释 67-88

启动脚本

1FE + 1BE 模式

为防止因 network 原因导致的无法正常启动,建议使用桥接模式网络完成构建

复制代码
version: "3"
services:
fe:
image:apache/doris:doris-fe-2.1.7
hostname:fe
networks:
my-network:
ipv4_address:172.20.80.2
ports:
-"8030:8030"
-"9030:9030"
environment:
-FE_SERVERS=fe1:172.20.80.2:9010
-FE_ID=1
volumes:
-/data/dockerData/doris/fe/doris-meta:/opt/apache-doris/fe/doris-meta
-/data/dockerData/doris/fe/log:/opt/apache-doris/fe/log

be:
image:apache/doris:doris-be-2.1.7
hostname:be
networks:
my-network:
ipv4_address:172.20.80.3
ports:
-"8040:8040"
environment:
-FE_SERVERS=fe1:172.20.80.2:9010
-BE_ADDR=172.20.80.3:9050
volumes:
-/data/dockerData/doris/be/storage:/opt/apache-doris/be/storage
-/data/dockerData/doris/be/log:/opt/apache-doris/be/log
depends_on:
-fe

networks:
my-network:
driver:bridge
ipam:
config:
-subnet:172.20.80.0/24

将以上脚本内容命名为 docker-compose-doris.yaml 并保存,启动脚本

复制代码
docker-compose -f docker-compose-doris.yaml up -d

运行后,可通过 docker-compose logsdocker logs 查看运行情况,若看到如下日志,则说明已正常启动

小结

本篇提到的三个校验,以及BE本身也会做ulimit校验的情况,会在后续版本中尽快优化掉,带来的不便敬请谅解~

最后还是给各位看官老爷再提示一次:

Docker 运行 Doris 仅适合于开发环境或者功能测试,如若要进行性能测试和生产部署,请使用 Doris-Manager、K8S Operator或手工裸机/虚机完成部署工作!

都到这了,辛苦点个在看吧,这是最大的更新动力了 ^_^ ~

相关推荐
SelectDB1 小时前
拉卡拉 x Apache Doris:统一金融场景 OLAP 引擎,查询提速 15 倍,资源直降 52%
大数据·数据库·数据分析
合合技术团队1 小时前
实测对比|法国 AI 独角兽公司发布的“最强 OCR”,实测效果如何?
大数据·人工智能·图像识别
lilye663 小时前
程序化广告行业(39/89):广告投放的数据分析与优化秘籍
大数据·人工智能·数据分析
中科岩创5 小时前
某地老旧房屋自动化监测项目
大数据·物联网·自动化
viperrrrrrrrrr76 小时前
大数据学习(95)-谓词下推
大数据·sql·学习
汤姆yu7 小时前
基于python大数据的旅游可视化及推荐系统
大数据·旅游·可视化·算法推荐
zhangjin12227 小时前
kettle从入门到精通 第九十四课 ETL之kettle MySQL Bulk Loader大批量高性能数据写入
大数据·数据仓库·mysql·etl·kettle实战·kettlel批量插入·kettle mysql
哈哈真棒8 小时前
hadoop 集群的常用命令
大数据
阿里云大数据AI技术8 小时前
百观科技基于阿里云 EMR 的数据湖实践分享
大数据·数据库
泛微OA办公系统8 小时前
上市电子制造企业如何实现合规的质量文件管理?
大数据·制造