当前位置: 首页 > news >正文

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

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

相关文章:

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

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

Flink四大基石之窗口(Window)使用详解

目录 一、引言 二、为什么需要 Window 三、Window 的控制属性 窗口的长度(大小) 窗口的间隔 四、Flink 窗口应用代码结构 是否分组 Keyed Window --键控窗 Non-Keyed Window 核心操作流程 五、Window 的生命周期 分配阶段 触发计算 六、Wi…...

NGINX配置https双向认证(自签一级证书)

一 生成自签证书 以下是生成自签证书(包括服务端和客户端的证书)的步骤,以下命令执行两次,分别生成客户端和服务端证书和私钥。具体执行可以先建两个目录client和server,分别进入到这两个目录下执行下面的命令。 生成私钥: 首先&…...

Flink双流Join

在离线 Hive 中,我们经常会使用 Join 进行多表关联。那么在实时中我们应该如何实现两条流的 Join 呢?Flink DataStream API 为我们提供了3个算子来实现双流 join,分别是: join coGroup intervalJoin 下面我们分别详细看一下这…...

【数据结构实战篇】用C语言实现你的私有队列

🏝️专栏:【数据结构实战篇】 🌅主页:f狐o狸x 在前面的文章中我们用C语言实现了栈的数据结构,本期内容我们将实现队列的数据结构 一、队列的概念 队列:只允许在一端进行插入数据操作,在另一端…...

基于web的海贼王动漫介绍 html+css静态网页设计6页+设计文档

📂文章目录 一、📔网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站演示 五、⚙️网站代码 🧱HTML结构代码 💒CSS样式代码 六、🔧完整源码下载 七、📣更多 一、&#…...

2022 年 9 月青少年软编等考 C 语言三级真题解析

目录 T1. 课程冲突T2. 42 点思路分析T3. 最长下坡思路分析T4. 吃糖果思路分析T5. 放苹果思路分析T1. 课程冲突 此题为 2021 年 9 月三级第一题原题,见 2021 年 9 月青少年软编等考 C 语言三级真题解析中的 T1。 T2. 42 点 42 42 42 是: 组合数学上的第 5 5 5 个卡特兰数字…...

机器学习算法(六)---逻辑回归

常见的十大机器学习算法: 机器学习算法(一)—决策树 机器学习算法(二)—支持向量机SVM 机器学习算法(三)—K近邻 机器学习算法(四)—集成算法 机器学习算法(五…...

计算机科学中的主要协议

1、主要应用层协议: HTTP、FTP、SMTP、POP、IMAP、DNS、TELNET和SSH等 应用层协议的主要功能是支持网络应用,定义了不同应用程序之间的通信规则。它们负责将用户操作转换为网络可以理解的数据格式,并通过传输层进行传输。应用层协议直接与用…...

下载maven 3.6.3并校验文件做md5或SHA512校验

一、下载Apache Maven 3.6.3 Apache Maven 3.6.3 官方下载链接: 二进制压缩包(推荐): ZIP格式: https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zipTAR.GZ格式: https://archive.apache.org/dist/…...

【Android】View工作原理

View 是Android在视觉上的呈现在界面上Android提供了一套GUI库,里面有很多控件,但是很多时候我们并不满足于系统提供的控件,因为这样就意味这应用界面的同类化比较严重。那么怎么才能做出与众不同的效果呢?答案是自定义View&#…...

TIE算法具体求解-为什么是泊松方程和傅里叶变换

二维泊松方程的通俗理解 二维泊松方程 是偏微分方程的一种形式,通常用于描述空间中某个标量场(如位相场、电势场)的分布规律。其一般形式为: ∇ 2 ϕ ( x , y ) f ( x , y ) \nabla^2 \phi(x, y) f(x, y) ∇2ϕ(x,y)f(x,y) 其…...

postman中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等

在Postman中,您可以使用内置的动态变量和编写脚本的方式来获取随机数、唯一ID、时间日期以及截取指定位数的字符。以下是具体的操作方法: 一、postman中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等 获取…...

【计算机网络】实验3:集线器和交换器的区别及交换器的自学习算法

实验 3:集线器和交换器的区别及交换器的自学习算法 一、 实验目的 加深对集线器和交换器的区别的理解。 了解交换器的自学习算法。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、熟悉集线器和交换器的区别 (1) 第一步:构建网络…...

flink学习(14)—— 双流join

概述 Join:内连接 CoGroup:内连接,左连接,右连接 Interval Join:点对面 Join 1、Join 将有相同 Key 并且位于同一窗口中的两条流的元素进行关联。 2、Join 可以支持处理时间(processing time)和事件时…...

HTTP协议详解:从HTTP/1.0到HTTP/3的演变与优化

深入浅出:从头到尾全面解析HTTP协议 一、HTTP协议概述 1.1 HTTP协议简介 HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最广泛的通信协议之一。它用于客户端与服务器之间的数据传输,尤其是在Web…...

张量并行和流水线并行在Transformer中的具体部位

目录 张量并行和流水线并行在Transformer中的具体部位 一、张量并行 二、流水线并行 张量并行和流水线并行在Transformer中的具体部位 张量并行和流水线并行是Transformer模型中用于提高训练效率的两种并行策略。它们分别作用于模型的不同部位,以下是对这两种并行的具体说…...

WEB开发: 丢掉包袱,拥抱ASP.NET CORE!

今天的 Web 开发可以说进入了一个全新的时代,前后端分离、云原生、微服务等等一系列现代技术架构应运而生。在这个背景下,作为开发者,你一定希望找到一个高效、灵活、易于扩展且具有良好性能的框架。那么,ASP.NET Core 显然是一个…...

【论文阅读】Federated learning backdoor attack detection with persistence diagram

目的:检测联邦学习环境下,上传上来的模型是不是恶意的。 1、将一个模型转换为|L|个PD,(其中|L|为层数) 如何将每一层转换成一个PD? 为了评估第𝑗层的激活值,我们需要𝑐个输入来获…...

Gooxi Eagle Stream 2U双路通用服务器:性能强劲 灵活扩展 稳定易用

人工智能的高速发展开启了飞轮效应,实施数字化变革成为了企业的一道“抢答题”和“必答题”,而数据已成为现代企业的命脉。以HPC和AI为代表的新业务就像节节攀高的树梢,象征着业务创新和企业成长。但在树梢之下,真正让企业保持成长…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...