news 2026/6/10 3:49:55

【Doris从0到1】(二)Docker部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Doris从0到1】(二)Docker部署

第 1 步(1/3):下载启动脚本

#!/bin/bash# Default versionDORIS_QUICK_START_VERSION="latest"# Parse parameterswhilegetopts"v:"opt;docase$optinv)DORIS_QUICK_START_VERSION="$OPTARG";;\?)echo"Invalid option: -$OPTARG">&2exit1;;esacdone# Check system typeOS_TYPE=$(uname-s)if[["$OS_TYPE"!="Linux"&&"$OS_TYPE"!="Darwin"]];thenecho"Error: Unsupported operating system [$OS_TYPE], only Linux and Mac are supported"exit1fi# Check Docker environmentif!command-vdocker&>/dev/null;thenecho"Error: Docker environment not detected, please install Docker first"exit1fi# Check docker-composeCOMPOSE_CMD=""ifcommand-vdocker-compose&>/dev/null;thenCOMPOSE_CMD="docker-compose"elifdockercompose version&>/dev/null;thenCOMPOSE_CMD="docker compose"elseecho"Error: docker-compose plugin or docker-compose command is required"exit1fi# Generate docker-compose configuration for corresponding systemif[["$OS_TYPE"=="Linux"]];thencat>docker-compose-doris.yaml<<EOF version: "3" services: fe: image: apache/doris:fe-${DORIS_QUICK_START_VERSION}hostname: fe environment: - FE_SERVERS=fe1:127.0.0.1:9010 - FE_ID=1 network_mode: host be: image: apache/doris:be-${DORIS_QUICK_START_VERSION}hostname: be environment: - FE_SERVERS=fe1:127.0.0.1:9010 - BE_ADDR=127.0.0.1:9050 depends_on: - fe network_mode: host EOFelse# Mac systemcat>docker-compose-doris.yaml<<EOF version: "3" networks: custom_network: driver: bridge ipam: config: - subnet: 172.20.80.0/24 services: fe: image: apache/doris:fe-${DORIS_QUICK_START_VERSION}hostname: fe ports: - 8030:8030 - 9030:9030 - 9010:9010 environment: - FE_SERVERS=fe1:172.20.80.2:9010 - FE_ID=1 networks: custom_network: ipv4_address: 172.20.80.2 be: image: apache/doris:be-${DORIS_QUICK_START_VERSION}hostname: be ports: - 8040:8040 - 9050:9050 environment: - FE_SERVERS=fe1:172.20.80.2:9010 - BE_ADDR=172.20.80.3:9050 depends_on: - fe networks: custom_network: ipv4_address: 172.20.80.3 EOFfi# Start servicesif!$COMPOSE_CMD-fdocker-compose-doris.yaml up -d;thenecho"Error: Failed to start Doris cluster"exit1fiecho"Doris cluster started successfully, version:${DORIS_QUICK_START_VERSION}"echo"You can manage the cluster using the following commands:"echo" Stop cluster:$COMPOSE_CMD-f docker-compose-doris.yaml down"echo" View logs:$COMPOSE_CMD-f docker-compose-doris.yaml logs -f"echo" Connect to cluster: mysql -uroot -P9030 -h127.0.0.1"# Display connection information based on system typeif[["$OS_TYPE"=="Linux"]];thenecho-e"\nAccess FE/BE http ports (8030, 8040) using the following addresses (Linux system):"echo" http://127.0.0.1:8030"echo" http://127.0.0.1:8040"elif[["$OS_TYPE"=="Darwin"]];thenecho-e"\nAccess FE/BE http ports (8030, 8040) using the following addresses (Mac system):"echo" http://docker.for.mac.localhost:8030"echo" http://docker.for.mac.localhost:8040"echo"Note: If access fails, try using 127.0.0.1 address:"echo" http://127.0.0.1:8030"echo" http://127.0.0.1:8040"fi

运行以下命令赋予执行权限:

chmod755start-doris.sh

第 2 步(2/3):启动集群
运行脚本启动集群(默认使用 4.0.1 版本):

bashstart-doris.sh

如需指定版本,使用 -v 参数:

bashstart-doris.sh-v4.1.0

第 3 步(3/3):验证集群状态

使用 MySQL 客户端连接集群,检查 FE 和 BE 状态

-- 目的:验证 FE 节点是否正常加入集群 -- 期望:Join 和 Alive 列均为truemysql-uroot-P9030-h127.0.0.1-e'SELECT `host`, `join`, `alive` FROM frontends()'-- 目的:验证 BE 节点是否正常心跳 -- 期望:Alive 列为1mysql-uroot-P9030-h127.0.0.1-e'SELECT `host`, `alive` FROM backends()'

输出解析: Alive=true(FE)或 Alive=1(BE)表示节点运行正常。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 3:46:24

鸿蒙数学108篇 第六十八篇:平面坐标系完整构建

第六十八篇:平面坐标系完整构建 【阶位归属】第七阶・七星・动态变化篇 【本源溯源】 承接第六十七篇七星与周期数理关联,空间方位、周期节律已然明晰,为精准标定动态点位、描摹运动轨迹,依托两仪阴阳、三才位次、六合方位,构建平面坐标系。坐标系以中和原点为枢,双向…

作者头像 李华
网站建设 2026/6/10 3:46:19

文件描述符(File Descriptors, 简称 FD)

文章目录文件描述符&#xff08;file descriptor&#xff0c;简称 fd&#xff09;本质上就是&#xff1a;操作系统给“已打开资源”分配的一个编号。非负整数分配编号后&#xff0c;后续操作就是围绕这个编号来的。代码通常不直接用 fd 编号&#xff1b;真正直接使用 fd 编号的…

作者头像 李华
网站建设 2026/6/10 3:43:41

为什么dubbo和openFeign都是通过动态代理的方式发起调用

因为它们要实现同一个目标&#xff1a;让“远程调用”在代码层看起来像“本地方法调用”而实现这个目标的关键设计就是&#xff1a;动态代理 方法拦截1 一句话本质Dubbo / OpenFeign “接口 服务入口” 动态代理 “拦截方法调用 → 转换成远程请求”2 为什么必须用动态代理…

作者头像 李华
网站建设 2026/6/10 3:36:32

STM32F103超频实战:用CubeMX和Keil把ADC时钟从14M提到36M,采样率翻倍

STM32F103超频实战&#xff1a;突破ADC时钟限制的性能优化指南引言在嵌入式开发领域&#xff0c;性能优化始终是开发者追求的核心目标之一。对于使用STM32F103系列MCU的工程师而言&#xff0c;ADC采样率往往成为系统性能的瓶颈。官方手册明确标注ADC时钟不得超过14MHz&#xff…

作者头像 李华