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或手工裸机/虚机完成部署工作!

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

相关推荐
189228048613 小时前
NY243NY253美光固态闪存NY257NY260
大数据·网络·人工智能·缓存
武子康3 小时前
大数据-70 Kafka 日志清理:删除、压缩及混合模式最佳实践
大数据·后端·kafka
CCF_NOI.5 小时前
解锁聚变密码:从微观世界到能源新未来
大数据·人工智能·计算机·聚变
杨荧5 小时前
基于Python的电影评论数据分析系统 Python+Django+Vue.js
大数据·前端·vue.js·python
数据智研6 小时前
【数据分享】上市公司创新韧性数据(2007-2023)
大数据·人工智能
辞--忧12 小时前
双十一美妆数据分析:洞察消费趋势与行业秘密
大数据
时序数据说19 小时前
国内时序数据库概览
大数据·数据库·物联网·时序数据库·iotdb
阿Paul果奶ooo21 小时前
Flink中基于时间的合流--双流联结(join)
大数据·flink
数据爬坡ing21 小时前
过程设计工具深度解析-软件工程之详细设计(补充篇)
大数据·数据结构·算法·apache·软件工程·软件构建·设计语言
计算机源码社1 天前
分享一个基于Hadoop的二手房销售签约数据分析与可视化系统,基于Python可视化的二手房销售数据分析平台
大数据·hadoop·python·数据分析·毕业设计项目·毕业设计源码·计算机毕设选题