当前位置: 首页 > 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为代表的新业务就像节节攀高的树梢,象征着业务创新和企业成长。但在树梢之下,真正让企业保持成长…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...