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

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

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


http://www.kler.cn/a/414389.html

相关文章:

  • Mac安装及合规无限使用Beyond Compare
  • 有关物流无人机与快递配送的协同研究
  • Tomcat(37)如何在Tomcat中配置压缩?
  • python json.dump()和json.dumps()的区别
  • 九、Ubuntu Linux操作系统
  • 华为昇腾 acl_pytorch
  • 实现uniapp开发安卓应用使用AIDL与原生安卓通信
  • 《C++ 与神经网络:自动微分在反向传播中的高效实现之道》
  • jenkins 2.346.1最后一个支持java8的版本搭建
  • git的简单使用与gdb
  • LVGL加载器,led和列表学习(基于正点原子)
  • Django websocket 进行实时通信(消费者)
  • 第32周:猴痘病识别(Tensorflow实战第四周)
  • GitLab历史演进
  • 组成无重复数字的三位数
  • 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。-多语言
  • 第02章 使用VMware部署CENTOS系统
  • SqlServer强制转换函数TRY_CONVERT和TRY_CAST
  • “小bug”示例
  • 一款现代化的轻量级跨平台Redis桌面客户端
  • 大数据机器学习算法与计算机视觉应用05:乘法权重算法
  • 【第十二课】Rust并发编程(三)
  • NodeFormer:一种用于节点分类的可扩展图结构学习 Transformer
  • 修改element UI el-table背景颜色样式 input select date vuetree
  • 如何在 IIS 上部署 .NET Core 应用程序 ?
  • 基于 Flask 和 Socket.IO 的 WebSocket 实时数据更新实现