This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new a06baad7d7 [docs](docker) Add Run Docker cluster docs (#16520)
a06baad7d7 is described below
commit a06baad7d7f41cdcb2cebfbb2af52b3c59783714
Author: FreeOnePlus <[email protected]>
AuthorDate: Fri Feb 10 14:07:07 2023 +0800
[docs](docker) Add Run Docker cluster docs (#16520)
---
.../construct-docker/construct-docker-compose.md | 30 ---
.../install/construct-docker/run-docker-cluster.md | 215 +++++++++++++++++++++
docs/sidebars.json | 2 +-
.../construct-docker/construct-docker-compose.md | 30 ---
.../install/construct-docker/run-docker-cluster.md | 215 +++++++++++++++++++++
5 files changed, 431 insertions(+), 61 deletions(-)
diff --git a/docs/en/docs/install/construct-docker/construct-docker-compose.md
b/docs/en/docs/install/construct-docker/construct-docker-compose.md
deleted file mode 100644
index 2719af733b..0000000000
--- a/docs/en/docs/install/construct-docker/construct-docker-compose.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-{
-"title": "Build Docker Compose",
-"language": "en"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-# Build Docker Compose
-
-*Todo*
-
diff --git a/docs/en/docs/install/construct-docker/run-docker-cluster.md
b/docs/en/docs/install/construct-docker/run-docker-cluster.md
new file mode 100644
index 0000000000..a6ca26aae9
--- /dev/null
+++ b/docs/en/docs/install/construct-docker/run-docker-cluster.md
@@ -0,0 +1,215 @@
+---
+{
+"title": "Deploy Docker cluster",
+"language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+# Deploy the Docker cluster
+
+## Background description
+
+This article will briefly describe how to quickly build a complete Doris test
cluster through `docker run` or `docker-compose up` commands.
+
+## Applicable scene
+
+It is recommended to use Doris Docker in SIT or DEV environment to simplify
the deployment process.
+
+If you want to test a certain function point in the new version, you can use
Doris Docker to deploy a Playground environment. Or when you want to reproduce
a certain problem during debugging, you can also use the docker environment to
simulate.
+
+In the production environment, currently try to avoid using containerized
solutions for Doris deployment.
+
+## Software Environment
+
+| Software | Version |
+| -------------- | ----------- |
+| Docker | 20.0 and above |
+| docker-compose | 2.10 and above |
+
+## Hardware environment
+
+| Configuration Type | Hardware Information | Maximum Running Cluster Size |
+| -------- | -------- | ---------------- |
+| Minimum configuration | 2C 4G | 1FE 1BE |
+| Recommended configuration | 4C 16G | 3FE 3BE |
+
+## Pre-environment preparation
+
+The following command needs to be executed on the host machine
+
+```shell
+sysctl -w vm.max_map_count=2000000
+```
+
+## Docker Compose
+
+Different platforms need to use different Image images. This article takes the
`X86_64` platform as an example.
+
+### Network Mode Description
+
+There are two network modes applicable to Doris Docker.
+
+1. HOST mode suitable for deployment across multiple nodes, this mode is
suitable for deploying 1FE 1BE on each node.
+2. The subnet bridge mode is suitable for deploying multiple Doris processes
on a single node. This mode is suitable for single-node deployment
(recommended). If you want to deploy multiple nodes, you need to deploy more
components (not recommended).
+
+For the sake of presentation, this chapter only demonstrates scripts written
in subnet bridge mode.
+
+### Interface Description
+
+From the version of `Apache Doris 1.2.1 Docker Image`, the interface list of
each process image is as follows:
+
+| process name | interface name | interface definition | interface example |
+| -------------- |-------------| ------------------- |
-------------------------------------------------------------- |
+| FE\BE\BROKER | FE_SERVERS | FE node main information |
fe1:172.20.80.2:9010,fe2:172.20.80.3:9010,fe3:172.20.80.4:9010 |
+| FE | FE_ID | FE node ID | 1 |
+| BE | BE_ADDR | BE node main information | 172.20.80.5:9050 |
+| BROKER | BROKER_ADDR | Main information of BROKER node | 172.20.80.6:8000 |
+
+Note that the above interface must fill in the information, otherwise the
process cannot be started.
+
+> FE_SERVERS interface rules are:
`FE_NAME:FE_HOST:FE_EDIT_LOG_PORT[,FE_NAME:FE_HOST:FE_EDIT_LOG_PORT]`
+>
+> The FE_ID interface rule is: an integer of `1-9`, where the FE number `1` is
the Master node.
+>
+> BE_ADDR interface rule is: `BE_HOST:BE_HEARTBEAT_SERVICE_PORT`
+>
+> BROKER_ADDR interface rule is: `BROKER_HOST:BROKER_IPC_PORT`
+
+### Script Template
+
+#### Docker Run command
+
+Create a subnet bridge
+
+``` shell
+docker network create --driver bridge --subnet=172.20.80.0/24 doris-network
+```
+
+1FE & 1BE Command Templates
+
+```shell
+docker run -itd \
+--name=fe \
+--env FE_SERVERS="fe1:172.20.80.2:9010" \
+--env FE_ID=1 \
+-p 8030:8030\
+-p 9030:9030 \
+-v /data/fe/doris-meta:/opt/apache-doris/fe/doris-meta \
+-v /data/fe/conf:/opt/apache-doris/fe/conf \
+-v /data/fe/log:/opt/apache-doris/fe/log \
+--network=doris-network \
+--ip=172.20.80.2\
+apache/doris:1.2.1-fe-x86_64
+
+docker run -itd \
+--name=be\
+--env FE_SERVERS="fe1:172.20.80.2:9010" \
+--env BE_ADDR="172.20.80.3:9050" \
+-p 8040:8040 \
+-v /data/be/storage:/opt/apache-doris/be/storage \
+-v /data/be/conf:/opt/apache-doris/be/conf \
+-v /data/be/log:/opt/apache-doris/be/log \
+--network=doris-network \
+--ip=172.20.80.3\
+apache/doris:1.2.1-be-x86_64
+```
+
+3FE & 3BE Run command template if needed [click
here](https://github.com/apache/doris/tree/master/docker/runtime/docker-compose-demo/build-cluster/rum-command/3fe_3be.sh
) to access Downloads.
+
+#### Docker Compose script
+
+1FE & 1BE template
+
+```yaml
+version: '3'
+services:
+ docker-fe:
+ image: "apache/doris:1.2.1-fe-x86_64"
+ container_name: "doris-fe"
+ hostname: "fe"
+ environment:
+ - FE_SERVERS=fe1:172.20.80.2:9010
+ - FE_ID=1
+ ports:
+ - 8030:8030
+ - 9030:9030
+ volumes:
+ - /data/fe/doris-meta:/opt/apache-doris/fe/doris-meta
+ - /data/fe/conf:/opt/apache-doris/fe/conf
+ - /data/fe/log:/opt/apache-doris/fe/log
+ networks:
+ doris_net:
+ ipv4_address: 172.20.80.2
+ docker-be:
+ image: "apache/doris:1.2.1-be-x86_64"
+ container_name: "doris-be"
+ hostname: "be"
+ depends_on:
+ - docker-fe
+ environment:
+ - FE_SERVERS=fe1:172.20.80.2:9010
+ - BE_ADDR=172.20.80.3:9050
+ ports:
+ - 8040:8040
+ volumes:
+ - /data/be/storage:/opt/apache-doris/be/storage
+ - /data/be/conf:/opt/apache-doris/be/conf
+ - /data/be/script:/docker-entrypoint-initdb.d
+ - /data/be/log:/opt/apache-doris/be/log
+ networks:
+ doris_net:
+ ipv4_address: 172.20.80.3
+networks:
+ doris_net:
+ ipam:
+ config:
+ - subnet: 172.20.80.0/16
+```
+
+3FE & 3BE Docker Compose script template if needed [click
here](https://github.com/apache/doris/tree/master/docker/runtime/docker-compose-demo/build-cluster/docker-compose/
3fe_3be/docker-compose.yaml) access to download.
+
+## Deploy Doris Docker
+
+You can choose one of the two deployment methods:
+
+1. Execute the `docker run` command to create a cluster
+2. Save the `docker-compose.yaml` script and execute the `docker-compose up
-d` command in the same directory to create a cluster
+
+### Special case description
+
+Due to the different ways of implementing containers internally on MacOS, it
may not be possible to directly modify the value of `max_map_count` on the host
during deployment. You need to create the following containers first:
+
+```shel
+docker run -it --privileged --pid=host --name=change_count debian nsenter -t 1
-m -u -n -i sh
+```
+
+The container was created successfully executing the following command:
+
+```shell
+sysctl -w vm.max_map_count=2000000
+```
+
+Then `exit` exits and creates the Doris Docker cluster.
+
+## Unfinished business
+
+1. The Computer Node interface has not yet been adapted, and the next version
will adapt
+2. Compose Demo List
diff --git a/docs/sidebars.json b/docs/sidebars.json
index 565f5e46d0..3a36f83e84 100644
--- a/docs/sidebars.json
+++ b/docs/sidebars.json
@@ -35,7 +35,7 @@
"label": "Construct Docker",
"items": [
"install/construct-docker/construct-docker-image",
- "install/construct-docker/construct-docker-compose"
+ "install/construct-docker/run-docker-cluster"
]
}
]
diff --git
a/docs/zh-CN/docs/install/construct-docker/construct-docker-compose.md
b/docs/zh-CN/docs/install/construct-docker/construct-docker-compose.md
deleted file mode 100644
index 9c6d8d1dbe..0000000000
--- a/docs/zh-CN/docs/install/construct-docker/construct-docker-compose.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-{
-"title": "构建 Docker Compose",
-"language": "zh-CN"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-# 构建 Docker Compose
-
-*Todo*
-
diff --git a/docs/zh-CN/docs/install/construct-docker/run-docker-cluster.md
b/docs/zh-CN/docs/install/construct-docker/run-docker-cluster.md
new file mode 100644
index 0000000000..963f91a94f
--- /dev/null
+++ b/docs/zh-CN/docs/install/construct-docker/run-docker-cluster.md
@@ -0,0 +1,215 @@
+---
+{
+"title": "部署 Docker 集群",
+"language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+# 部署 Docker 集群
+
+## 背景说明
+
+本篇将简述如何通过 `docker run` 或 `docker-compose up` 命令快速构建一套完整的 Doris 测试集群。
+
+## 适用场景
+
+建议在 SIT 或者 DEV 环境中使用 Doris Docker 来简化部署的流程。
+
+如在新版本中想测试某一个功能点,可以使用 Doris Docker 部署一个 Playground 环境。或者在调试的过程中要复现某个问题时,也可以使用
docker 环境来模拟。
+
+在生产环境上,当前暂时尽量避免使用容器化的方案进行 Doris 部署。
+
+## 软件环境
+
+| 软件 | 版本 |
+| -------------- | ----------- |
+| Docker | 20.0 及以上 |
+| docker-compose | 2.10 及以上 |
+
+## 硬件环境
+
+| 配置类型 | 硬件信息 | 最大运行集群规模 |
+| -------- | -------- | ---------------- |
+| 最低配置 | 2C 4G | 1FE 1BE |
+| 推荐配置 | 4C 16G | 3FE 3BE |
+
+## 前期环境准备
+
+需在宿主机执行如下命令
+
+```shell
+sysctl -w vm.max_map_count=2000000
+```
+
+## Docker Compose
+
+不同平台需要使用不同 Image 镜像,本篇以 `X86_64` 平台为例。
+
+### 网络模式说明
+
+Doris Docker 适用的网络模式有两种。
+
+1. 适合跨多节点部署的 HOST 模式,这种模式适合每个节点部署 1FE 1BE。
+2. 适合单节点部署多 Doris 进程的子网网桥模式,这种模式适合单节点部署(推荐),若要多节点混部需要做更多组件部署(不推荐)。
+
+为便于展示,本章节仅演示子网网桥模式编写的脚本。
+
+### 接口说明
+
+从 `Apache Doris 1.2.1 Docker Image` 版本起,各个进程镜像接口列表如下:
+
+| 进程名 | 接口名 | 接口定义 | 接口示例
|
+| -------------- | ----------- | ------------------- |
------------------------------------------------------------ |
+| FE\|BE\|BROKER | FE_SERVERS | FE 节点主要信息 |
fe1:172.20.80.2:9010,fe2:172.20.80.3:9010,fe3:172.20.80.4:9010 |
+| FE | FE_ID | FE 节点 ID | 1
|
+| BE | BE_ADDR | BE 节点主要信息 | 172.20.80.5:9050
|
+| BROKER | BROKER_ADDR | BROKER 节点主要信息 | 172.20.80.6:8000
|
+
+注意,以上接口必须填写信息,否则进程无法启动。
+
+> FE_SERVERS
接口规则为:`FE_NAME:FE_HOST:FE_EDIT_LOG_PORT[,FE_NAME:FE_HOST:FE_EDIT_LOG_PORT]`
+>
+> FE_ID 接口规则为:`1-9` 的整数,其中 `1` 号 FE 为 Master 节点。
+>
+> BE_ADDR 接口规则为:`BE_HOST:BE_HEARTBEAT_SERVICE_PORT`
+>
+> BROKER_ADDR 接口规则为:`BROKER_HOST:BROKER_IPC_PORT`
+
+### 脚本模板
+
+#### Docker Run 命令
+
+创建子网网桥
+
+``` shell
+docker network create --driver bridge --subnet=172.20.80.0/24 doris-network
+```
+
+1FE & 1BE 命令模板
+
+```shell
+docker run -itd \
+--name=fe \
+--env FE_SERVERS="fe1:172.20.80.2:9010" \
+--env FE_ID=1 \
+-p 8030:8030 \
+-p 9030:9030 \
+-v /data/fe/doris-meta:/opt/apache-doris/fe/doris-meta \
+-v /data/fe/conf:/opt/apache-doris/fe/conf \
+-v /data/fe/log:/opt/apache-doris/fe/log \
+--network=doris-network \
+--ip=172.20.80.2 \
+apache/doris:1.2.1-fe-x86_64
+
+docker run -itd \
+--name=be \
+--env FE_SERVERS="fe1:172.20.80.2:9010" \
+--env BE_ADDR="172.20.80.3:9050" \
+-p 8040:8040 \
+-v /data/be/storage:/opt/apache-doris/be/storage \
+-v /data/be/conf:/opt/apache-doris/be/conf \
+-v /data/be/log:/opt/apache-doris/be/log \
+--network=doris-network \
+--ip=172.20.80.3 \
+apache/doris:1.2.1-be-x86_64
+```
+
+3FE & 3BE Run
命令模板如有需要[点击此处](https://github.com/apache/doris/tree/master/docker/runtime/docker-compose-demo/build-cluster/rum-command/3fe_3be.sh)访问下载。
+
+#### Docker Compose 脚本
+
+1FE & 1BE 模板
+
+``` yaml
+version: '3'
+services:
+ docker-fe:
+ image: "apache/doris:1.2.1-fe-x86_64"
+ container_name: "doris-fe"
+ hostname: "fe"
+ environment:
+ - FE_SERVERS=fe1:172.20.80.2:9010
+ - FE_ID=1
+ ports:
+ - 8030:8030
+ - 9030:9030
+ volumes:
+ - /data/fe/doris-meta:/opt/apache-doris/fe/doris-meta
+ - /data/fe/conf:/opt/apache-doris/fe/conf
+ - /data/fe/log:/opt/apache-doris/fe/log
+ networks:
+ doris_net:
+ ipv4_address: 172.20.80.2
+ docker-be:
+ image: "apache/doris:1.2.1-be-x86_64"
+ container_name: "doris-be"
+ hostname: "be"
+ depends_on:
+ - docker-fe
+ environment:
+ - FE_SERVERS=fe1:172.20.80.2:9010
+ - BE_ADDR=172.20.80.3:9050
+ ports:
+ - 8040:8040
+ volumes:
+ - /data/be/storage:/opt/apache-doris/be/storage
+ - /data/be/conf:/opt/apache-doris/be/conf
+ - /data/be/script:/docker-entrypoint-initdb.d
+ - /data/be/log:/opt/apache-doris/be/log
+ networks:
+ doris_net:
+ ipv4_address: 172.20.80.3
+networks:
+ doris_net:
+ ipam:
+ config:
+ - subnet: 172.20.80.0/16
+```
+
+3FE & 3BE Docker Compose
脚本模板如有需要[点击此处](https://github.com/apache/doris/tree/master/docker/runtime/docker-compose-demo/build-cluster/docker-compose/3fe_3be/docker-compose.yaml)访问下载。
+
+## 部署 Doris Docker
+
+部署方式二选一即可:
+
+1. 执行 `docker run` 命令创建集群
+2. 保存 `docker-compose.yaml` 脚本,同目录下执行 `docker-compose up -d` 命令创建集群
+
+### 特例说明
+
+MacOS 由于内部实现容器的方式不同,在部署时宿主机直接修改 `max_map_count` 值可能无法成功,需要先创建以下容器:
+
+```shel
+docker run -it --privileged --pid=host --name=change_count debian nsenter -t 1
-m -u -n -i sh
+```
+
+容器创建成功执行以下命令:
+
+```shell
+sysctl -w vm.max_map_count=2000000
+```
+
+然后 `exit` 退出,创建 Doris Docker 集群。
+
+## 未尽事项
+
+1. Computer Node 接口尚未适配,下个版本适配
+2. Compose Demo List
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]