在 Docker 上搭建 Apache Doris 是一个快速部署分布式 SQL 数据库的方式。以下是通过 Docker 安装 Apache Doris 的步骤。
- 准备工作
安装 Docker: 确保 Docker 已经安装并在你的系统中运行。可以通过命令检查 Docker 是否正确安装:
bash
docker --version
安装 Docker Compose (可选): 如果你希望使用 Docker Compose 来管理容器,可以安装它。
- 下载 Apache Doris Docker 镜像
Doris 官方并没有提供 Docker 镜像,因此通常我们使用社区维护的镜像或者自己构建。这里假设使用社区提供的镜像。
拉取 Doris 镜像:
复制代码
bash
docker pull apachedoris/doris:latest
- 启动 Docker 容器
Apache Doris 需要部署几个关键组件:
FE (Frontend): 负责查询的解析、优化等,是 Doris 的入口。
BE (Backend): 存储数据并执行查询的计算工作。
为了方便起见,我们可以通过 docker-compose 来管理这些服务。
使用 Docker Compose 配置文件
创建 docker-compose.yml 文件:
yaml
bash
version: '3'
services:
fe:
image: apachedoris/doris:latest
container_name: doris-fe
ports:
- "8030:8030" # FE 服务端口
- "9030:9030" # FE MySQL 接口端口
- "8040:8040" # FE Web UI 端口
environment:
- DORIS_ROLE=fe
volumes:
- ./data/fe:/opt/apache-doris/fe/doris-meta
networks:
- doris-network
be:
image: apachedoris/doris:latest
container_name: doris-be
ports:
- "8040:8040" # BE 端口
- "9050:9050" # BE 服务端口
- "9060:9060" # BE RPC 端口
environment:
- DORIS_ROLE=be
volumes:
- ./data/be:/opt/apache-doris/be/storage
networks:
- doris-network
networks:
doris-network:
driver: bridge
该文件定义了两个服务:FE 和 BE,它们将运行在同一 Docker 网络中。
你可以自定义 volumes 路径用于数据持久化。
- 启动 Doris 集群
在 docker-compose.yml 文件所在目录,运行以下命令启动集群:
bash
docker-compose up -d
- 检查服务状态
启动完成后,可以通过以下命令检查 FE 和 BE 的状态:
bash
docker ps
FE 服务的 Web UI 可以通过浏览器访问 http://localhost:8040 来查看。FE 的 MySQL 接口也可通过 localhost:9030 连接。
- 创建 Doris 数据库
通过 FE 的 MySQL 接口登录:
bash
mysql -h 127.0.0.1 -P 9030 -uroot
然后可以运行 Doris 的 SQL 命令来创建数据库:
bash
CREATE DATABASE test;
USE test;
CREATE TABLE example_table (
id INT,
name VARCHAR(100),
value DOUBLE
) DISTRIBUTED BY HASH(id) BUCKETS 3
PROPERTIES("replication_num" = "1");
这将在集群中创建一个简单的分布式表。
- 停止 Doris
要停止 Doris 集群,可以使用:
bash
docker-compose down
总结
通过 Docker 部署 Apache Doris,您可以快速构建一个分布式 SQL 数据库环境。你可以根据需要扩展多个 BE 节点以提升计算和存储能力。