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-website.git
The following commit(s) were added to refs/heads/master by this push:
new d2e4c7f2d5e [fix](install) Fix typo of install docs (#1208)
d2e4c7f2d5e is described below
commit d2e4c7f2d5e22ff0e36445f002db66d62bbbc9b0
Author: KassieZ <[email protected]>
AuthorDate: Mon Oct 21 12:02:42 2024 +0800
[fix](install) Fix typo of install docs (#1208)
# Versions
- [ ] dev
- [ ] 3.0
- [ ] 2.1
- [ ] 2.0
# Languages
- [ ] Chinese
- [ ] English
---
docusaurus.config.js | 2 +-
.../k8s-deploy/install-config-cluster.md | 53 +--
.../cluster-deployment/k8s-deploy/install-env.md | 3 +-
.../k8s-deploy/install-operator.md | 198 +++++------
.../k8s-deploy/install-quickstart.md | 122 +++++--
.../cluster-deployment/run-docker-cluster.md | 24 +-
.../cluster-deployment/standard-deployment.md | 361 ++++++++++-----------
7 files changed, 414 insertions(+), 349 deletions(-)
diff --git a/docusaurus.config.js b/docusaurus.config.js
index d042a9be40b..cdca350a5d5 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -26,7 +26,7 @@ function getDocsVersions() {
}
function getLatestVersion() {
- return VERSIONS.includes('2.1') ? '2.1' : VERSIONS[0];
+ return VERSIONS.includes('3.0') ? '3.0' : VERSIONS[0];
}
/** @type {import('@docusaurus/types').Config} */
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-config-cluster.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-config-cluster.md
index db62f76f81d..e95b2f11f9b 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-config-cluster.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-config-cluster.md
@@ -27,7 +27,8 @@ under the License.
在 Doris 集群中,包括 FE、BE、CN 和监控组件在内的组件都需要将数据持久化到物理存储中。Kubernetes 提供了 [Persistent
Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
的能力将数据持久化到物理存储中。在 Kubernetes 环境中,主要存在两种类型的 Persistent Volumes:
-- 本地 PV 存储(Local Persistent Volumes):本地 PV 是 Kubernetes
直接使用宿主机的本地磁盘目录来持久化存储容器的数据。本地 PV 提供更小的网络延迟,在使用 SSD 等高性能硬盘时,可以提供更好的读写能力。由于本地 PV
与宿主机绑定,在宿主机出现故障时,本地 PV 进行故障漂移。
+- 本地 PV 存储(Local Persistent Volumes):本地 PV 是 Kubernetes
直接使用宿主机的本地磁盘目录来持久化存储容器的数据。本地 PV 提供更小的网络延迟,在使用 SSD 等高性能硬盘时,可以提供更好的读写能力。由于本地 PV
与宿主机绑定,在宿主机出现故障时,本地 PV 的数据可能无法访问,因为它与宿主机绑定。
+
- 网络 PV 存储(Network Persistent Volumes):网络 PV 是通过网络访问的存储资源。网络 PV
可以被集群中的任一节点访问,在宿主机出现故障时,网络 PV 可以挂载到其他节点继续使用。
StorageClass 可以用于定义 PV 的类型和行为,通过 StorageClass 可以将磁盘资源与容器解耦,从而实现数据的持久性与可靠性。在
Doris Operator 中,在 Kubernetes 上部署 Doris,可以支持本地 PV 与网络 PV,可以根据业务需求进行选择。
@@ -42,8 +43,11 @@ StorageClass 可以用于定义 PV 的类型和行为,通过 StorageClass 可
在 Doris 中,建议持久化存储以下目录:
- FE 节点:doris-meta、log
+
- BE 节点:storage、log
+
- CN 节点:storage、log
+
- Broker 节点:log
在 Doris 中存在多种日志类型,如 INFO 日志、OUT 日志、GC 日志以及审计日志。Doris Operator 可以将日志同时输出到
console 与指定目录下。如果用户的 Kubernetes 有完整的日志收集能力,可以通过 console 输出来收集 Doris 的 INFO
日志。建议将 Doris 的所有日志通过 PVC 配置持久化到指定存储中,这将有助于问题的定位与排查。
@@ -53,7 +57,7 @@ StorageClass 可以用于定义 PV 的类型和行为,通过 StorageClass 可
Doris Operator 使用 Kubernetes 默认的 StorageClass 来支持 FE 与 BE 的存储。在 DorisCluster 的
CR 中,通修改 StorageClass 指定 `persistentVolumeClaimSpec.storageClassName`,可以配置指定的网络
PV。
```yaml
-persistentVolumes:
+ persistentVolumes:
- mountPath: /opt/apache-doris/fe/doris-meta
name: storage0
persistentVolumeClaimSpec:
@@ -69,7 +73,7 @@ persistentVolumes:
**FE 配置持久化存储**
-在部署集群时,建议对 FE 中的 doris-meta 与 log 目录做持久化存储。doris-meta 用户存放元数据,一般在几百 MB 到几十
GB,建议预留 100GB。log 目录用来存放 FE 日志,一般建议预留 50GB。
+在部署集群时,建议对 FE 中的 doris-meta 与 Log 目录做持久化存储。doris-meta 用户存放元数据,一般在几百 MB 到几十
GB,建议预留 100GB。Log 目录用来存放 FE 日志,一般建议预留 50GB。
下例中 FE 使用 StorageClass 挂载了元数据存储与日志存储:
@@ -115,14 +119,14 @@ doris-storage openebs.io/local
Delete Wai
```
:::tip 提示
-可以通过配置 [ConfigMap](<#FE ConfigMap>) 修改默认的元数据路径与日志路径:
-1. fe-meta 的 mounthPath 配置需要与 ConfigMap 中的 meta_dir 变量配置路径一致,默认情况下元数据会写入
/opt/apache-doris/fe/doris-meta 目录下;
-2. fe-log 的 mounthPath 配置需要与 ConfigMap 中的 LOG_DIR 变量路径一致,默认情况下日志数据会写入到
/opt/apache-doris/fe/log 目录下。
+可以通过配置 [ConfigMap](#fe-configmap) 修改默认的元数据路径与日志路径:
+1. fe-meta 的 mountPath 配置需要与 ConfigMap 中的 meta_dir 变量配置路径一致,默认情况下元数据会写入
`/opt/apache-doris/fe/doris-meta` 目录下;
+2. fe-log 的 mountPath 配置需要与 ConfigMap 中的 LOG_DIR 变量路径一致,默认情况下日志数据会写入到
`/opt/apache-doris/fe/log` 目录下。
:::
**BE 配置持久化存储**
-在部署集群时,建议对 BE 中的 storage 与 log 目录做持久化存储。storage 用户存放数据,需要根据业务数据量衡量。log 目录用来存放
FE 日志,一般建议预留 50GB。
+在部署集群时,建议对 BE 中的 Storage 与 Log 目录做持久化存储。Storage 用户存放数据,需要根据业务数据量衡量。Log 目录用来存放
BE 日志,一般建议预留 50GB。
下例中 BE 使用 StorageClass 挂载了数据存储与日志存储:
@@ -132,7 +136,7 @@ beSpec:
- mountPath: /opt/apache-doris/be/storage
name: be-storage
persistentVolumeClaimSpec:
- storageClassName: {storageClassName}
+ storageClassName: ${storageClassName}
accessModes:
- ReadWriteOnce
resources:
@@ -141,7 +145,7 @@ beSpec:
- mountPath: /opt/apache-doris/be/log
name: belog
persistentVolumeClaimSpec:
- storageClassName: {storageClassName}
+ storageClassName: ${storageClassName}
accessModes:
- ReadWriteOnce
resources:
@@ -153,7 +157,7 @@ beSpec:
### 集群名称
-可以通过修改 DorisCluster Custom Resource 中的 metadata.name 来配置集群名称。
+可以通过修改 DorisCluster Custom Resource 中的 `metadata.name` 来配置集群名称。
### 镜像版本
@@ -161,19 +165,20 @@ beSpec:
### 集群拓扑
-在部署 Doris 集群前,需要根据业务规划集群的拓扑结构。可以通过修改 spec.{feSpec|beSpec}.replicas
配置各个组件的节点数。基于生产节点的数据高可用原则,Doris Operator 规定集群中 Kubernetes 集群中至少有 3
个节点。同时,为了保证集群的可用性,建议至少部署 3 个 FE 与 BE 节点。
+在部署 Doris 集群前,需要根据业务规划集群的拓扑结构。可以通过修改 `spec.{feSpec|beSpec}.replicas`
配置各个组件的节点数。为了高可用性和容错性,建议至少部署 3 个 FE 与 BE 节点,但具体节点数取决于业务需求和资源限制。
### 服务配置
-Kubernetes 提供不同的 Serivce 方式暴露 Doris 的对外访问接口,如
`ClusterIP`、`NodePort`、`LoadBalancer` 等。
+Kubernetes 提供不同的 Service 方式暴露 Doris 的对外访问接口,如
`ClusterIP`、`NodePort`、`LoadBalancer` 等。
**ClusterIP**
-ClusterIP 类型的 service 会在集群内部创建虚拟 IP。通过 ClusterIP 只能在 Kubernetes 集群内访问,对外不可见。在
Doris Custom Resource 中,默认使用 ClusterIP 类型的 Service。
+ClusterIP 类型的 Service 会在集群内部创建虚拟 IP。通过 ClusterIP 只能在 Kubernetes 集群内访问,对外不可见。在
Doris Custom Resource 中,默认使用 ClusterIP 类型的 Service。
**NodePort**
-在没有 LoadBalancer 时,可以通过 NodePort 暴露。NodePort 是通过节点的 IP 和静态端口暴露服务。通过请求 `NodeIP
+ NodePort`,可以从集群的外部访问一个 NodePort 服务。
+在没有 LoadBalancer 时,可以通过 NodePort 暴露服务。NodePort 是通过节点的 IP 和静态端口暴露服务。通过请求
`NodeIP + NodePort`,可以从集群的外部访问一个 NodePort 服务。
+
```yaml
...
@@ -196,6 +201,7 @@ Doris 在 Kubernetes 使用 `ConfigMap` 实现配置文件和服务解耦。Dori
在 Doris Cluster 的 CR 中,提供 ConfigMapInfo 定义给各个组件挂载配置信息。ConfigMapInfo 包含两个变量:
- ConfigMapName 表示想要使用的 ConfigMap 的名称
+
- ResolveKey 表示对应的配置文件,FE 配置选择 fe.conf,BE 配置选择 be.conf
### FE ConfigMap
@@ -246,8 +252,11 @@ data:
:::tip 提示
在 ConfigMap 中使用 data 字段存储键值对。在上述 FE ConfigMap 中:
+
- fe.conf 是键值对中的 key,使用 `|` 表示将保留后续字符串中的换行符和缩进
+
- 后续配置为键值对中的 value,与 fe.conf 文件中的配置相同
+
在 data 字段中,由于使用了 `|` 符号保留后续字符串格式,后续的配置中需要保持两个空格缩进。
:::
@@ -319,7 +328,9 @@ data:
:::tip 提示
在 ConfigMap 中使用 data 字段存储键值对。在上述 BE ConfigMap 中:
+
- be.conf 是键值对中的 key,使用 `|` 表示将保留后续字符串中的换行符和缩进
+
- 后续配置为键值对中的 value,与 be.conf 文件中的配置相同
在 data 字段中,由于使用了 `|` 符号保留后续字符串格式,后续的配置中需要保持两个空格缩进。
:::
@@ -375,9 +386,9 @@ data:
...
```
-其中,在 data 字段中存储了配置的键值对,在上例中存储了 key 分别为 be.conf 与 core-site.xml 的键值对。
+其中,在 Data 字段中存储了配置的键值对,在上例中存储了 Key 分别为 be.conf 与 core-site.xml 的键值对。
-在 data 字段中,需要满足以下的键值结构映射:
+在 Data 字段中,需要满足以下的键值结构映射:
```yaml
data:
@@ -391,7 +402,7 @@ data:
### 为 BE 配置多盘存储
-Doris 支持为 BE 挂载多块 PV。通过配置 BE 参数 `storage_root_path` 可以指定 BE 使用多盘存储。在
Kubernetes 环境中,可以在 DorisCluster CR 中对 pv 进行映射,通过 ConfigMap 为 BE 配置
`storage_root_path` 参数。
+Doris 支持为 BE 挂载多块 PV。通过配置 BE 参数 `storage_root_path` 可以指定 BE 使用多盘存储。在
Kubernetes 环境中,可以在 DorisCluster CR 中对 PV 进行映射,通过 ConfigMap 为 BE 配置
`storage_root_path` 参数。
**为 BE 多盘存储配置 pv 映射**
@@ -400,7 +411,7 @@ Doris 支持为 BE 挂载多块 PV。通过配置 BE 参数 `storage_root_path`
- 通过 `configMapInfo` 配置可以标识使用相同 namespace 下的指定 ConfigMap,resolveKey 固定为 be.conf
- 通过 `persistentVolumeClaimSpec` 可以为 BE 存储目录配置多个 pv 映射
-下例中为 BE 配置了两块盘的 pv 映射:
+下例中为 BE 配置了两块盘的 PV 映射:
```yaml
...
@@ -452,6 +463,7 @@ Doris 支持为 BE 挂载多块 PV。通过配置 BE 参数 `storage_root_path`
在上例中 Doris 集群指定了多盘存储
- beSpec.persistentVolumes 以数组的方式指定了多块 pv,映射了
`/opt/apache-doris/be/storage{1,2}` 两个数据存储 pv
+
- beSpec.configMapInfo 中指定了需要挂载名为 `be-configmap` 的 ConfigMap
**配置 BE ConfigMap 指定 storage_root_path 参数**
@@ -499,7 +511,10 @@ data:
```
:::caution 注意
+
在创建 BE ConfigMap 时,需要注意以下事项:
+
1. metadata.name 需要与 DorisCluster CR 中 beSpec.configMapInfo.configMapName
相同,表示该集群使用指定的 ConfigMap;
-2. ConfigMap 中的 storage_root_path 参数要与 DorisCluster CR 中的 persistentVolume
数据盘一一对应。
+
+2. ConfigMap 中的 `storage_root_path` 参数要与 DorisCluster CR 中的 persistentVolume
数据盘一一对应。
:::
\ No newline at end of file
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-env.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-env.md
index ff1422b8519..5e6138baeeb 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-env.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-env.md
@@ -45,8 +45,9 @@ systemctl disable firewalld
```
如果无法关闭防火墙服务,可以根据规划,打开 FE 与 BE 端口:
+
:::tip 提示
-如果无法关闭防火墙,需要根据 Kubernetes 映射规则打开 Doris 相应端口的防火墙。具体端口可以参考 [Doris
集群端口规划](../standard-deployment.md#%E7%BD%91%E7%BB%9C%E9%9C%80%E6%B1%82)。
+如果无法关闭防火墙,需要根据 Kubernetes 映射规则打开 Doris 相应端口的防火墙。具体端口可以参考 [Doris
集群端口规划](../standard-deployment#检测和关闭系统防火墙)。
:::
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-operator.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-operator.md
index aaf0c5d8311..69046abeb41 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-operator.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-operator.md
@@ -63,7 +63,7 @@ dorisclusters.doris.selectdb.com
2024-02-22T16:23:13Z
### 方案一:快速部署 Doris Operator
-可以直接拉去仓库中的 Doris Operator 模板进行快速部署。
+可以直接拉取仓库中的 Doris Operator 模板进行快速部署。
使用以下命令可以在 Kubernetes 集群中部署 Doris Operator:
@@ -87,7 +87,7 @@ deployment.apps/doris-operator created
在创建完 CRD 后,在 Kubernetes 集群上部署 Doris Operator 有两种方式:在线与离线部署。
-在 operator.yaml 文件中规范了部署 operator 的服务的最低要求。为了适配复杂的生产环境,可以下载 operator.yaml
文件后,按照期望更新其中配置。
+在 operator.yaml 文件中规范了部署 Operator 的服务的最低要求。为了适配复杂的生产环境,可以下载 operator.yaml
文件后,按照期望更新其中配置。
**在线安装 Doris Operator**
@@ -111,157 +111,157 @@ deployment.apps/doris-operator created
**离线安装 Doris Operator**
-1. 下载 operator 运行所需镜像文件
+1. 下载 Operator 运行所需镜像文件
-如果服务器没有连通外网,需要先下载对应的 operator 镜像文件。Doris Operator 用到以下的镜像:
+ 如果服务器没有连通外网,需要先下载对应的 Operator 镜像文件。Doris Operator 用到以下的镜像:
-```shell
-selectdb/doris.k8s-operator:latest
-```
+ ```shell
+ selectdb/doris.k8s-operator:latest
+ ```
-在可以连通外网的服务器中运行以下的命令,可以将镜像下载下来:
+ 在可以连通外网的服务器中运行以下的命令,可以将镜像下载下来:
-```shell
-## download doris operator image
-docker pull selectdb/doris.k8s-operator:latest
-## save the doris operator image as a tar package
-docker save -o doris.k8s-operator-latest.tar selectdb/doris.k8s-operator:latest
-```
+ ```shell
+ ## download doris operator image
+ docker pull selectdb/doris.k8s-operator:latest
+ ## save the doris operator image as a tar package
+ docker save -o doris.k8s-operator-latest.tar
selectdb/doris.k8s-operator:latest
+ ```
-将已打包的 tar 文件放置到所有的 Kubernetes node 节点中,运行以下命令上传镜像:
+ 将已打包的 tar 文件放置到所有的 Kubernetes Node 节点中,运行以下命令上传镜像:
-```shell
-docker load -i doris.k8s-operator-latest.tar
-```
+ ```shell
+ docker load -i doris.k8s-operator-latest.tar
+ ```
2. 配置 Doris Operator
-下载 operator.yaml 文件后,可以根据生产环境期望修改模板。
+ 下载 operator.yaml 文件后,可以根据生产环境期望修改模板。
-Doris Operator 在 Kubernetes 集群中是一个无状态的 Deployment,可以根据需求修改如
`limits`、`replica`、`label`、`namespace` 等项目。如需要指定某一版本的 doirs operator
镜像,可以在上传镜像后对 operator.yaml 文件做如下修改:
+ Doris Operator 在 Kubernetes 集群中是一个无状态的 Deployment,可以根据需求修改如
`limits`、`replica`、`label`、`namespace` 等项目。如需要指定某一版本的 Doirs Operator
镜像,可以在上传镜像后对 operator.yaml 文件做如下修改:
-```shell
-...
-containers:
- - command:
- - /dorisoperator
- args:
- - --leader-elect
- image: selectdb/doris.k8s-operator:v1.0.0
- name: dorisoperator
- securityContext:
- allowPrivilegeEscalation: false
- capabilities:
- drop:
- - "ALL"
+ ```yaml
...
-```
+ containers:
+ - command:
+ - /dorisoperator
+ args:
+ - --leader-elect
+ image: selectdb/doris.k8s-operator:v1.0.0
+ name: dorisoperator
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - "ALL"
+ ...
+ ```
3. 安装 Doris Operator
-在修改 Doris Operator 模板后,可以使用 apply 命令部署 Operator:
+ 在修改 Doris Operator 模板后,可以使用 Apply 命令部署 Operator:
-```shell
-kubectl apply -f ./operator.yaml
-```
+ ```shell
+ kubectl apply -f ./operator.yaml
+ ```
-以下为期望输出结果:
+ 以下为期望输出结果:
-```shell
-namespace/doris created
-role.rbac.authorization.k8s.io/leader-election-role created
-rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding created
-clusterrole.rbac.authorization.k8s.io/doris-operator created
-clusterrolebinding.rbac.authorization.k8s.io/doris-operator-rolebinding created
-serviceaccount/doris-operator created
-deployment.apps/doris-operator created
-```
+ ```shell
+ namespace/doris created
+ role.rbac.authorization.k8s.io/leader-election-role created
+ rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding created
+ clusterrole.rbac.authorization.k8s.io/doris-operator created
+ clusterrolebinding.rbac.authorization.k8s.io/doris-operator-rolebinding
created
+ serviceaccount/doris-operator created
+ deployment.apps/doris-operator created
+ ```
### 方案三:Helm 部署 Doris Operator
Helm Chart 是一系列描述 Kubernetes 相关资源的 YAML 文件的封装。通过 Helm
部署应用时,你可以自定义应用的元数据,以便于分发应用。Chart 是 Helm 的软件包,采用 TAR 格式,用于部署 Kubernetes
原生应用程序。通过 Helm Chart 可以简化部署 Doris 集群的流程。
-1. 添加部署仓库
-
**在线添加仓库**
-通过 `repo add` 命令添加远程仓库
+1. 添加部署仓库
-```shell
-helm repo add doris-repo https://charts.selectdb.com
-```
+ 通过 `repo add` 命令添加远程仓库
-通过 `repo update` 命令更新最新版本的 chart
+ ```shell
+ helm repo add doris-repo https://charts.selectdb.com
+ ```
-```shell
-helm repo update doris-repo
-```
+ 通过 `repo update` 命令更新最新版本的 Chart
+
+ ```shell
+ helm repo update doris-repo
+ ```
2. 安装 Doris Operator
-通过 `helm install` 命令可以使用默认配置在 doris 的 namespace 中安装 Doris Operator
+ 通过 `helm install` 命令可以使用默认配置在 Doris 的 Namespace 中安装 Doris Operator
-```shell
-helm install operator doris-repo/doris-operator
-```
+ ```shell
+ helm install operator doris-repo/doris-operator
+ ```
-如果需要自定义装配
[values.yaml](https://artifacthub.io/packages/helm/doris/doris-operator?modal=values)
,可以参考如下命令:
+ 如果需要自定义装配
[values.yaml](https://artifacthub.io/packages/helm/doris/doris-operator?modal=values)
,可以参考如下命令:
-```shell
-helm install -f values.yaml operator doris-repo/doris-operator
-```
+ ```shell
+ helm install -f values.yaml operator doris-repo/doris-operator
+ ```
-通过 `kubectl get pods` 命令查看 Pod 的部署状态。当 Doris Operator 的 Pod 处于 Running 状态且 Pod
内所有容器都已经就绪,即部署成功。
+ 通过 `kubectl get pods` 命令查看 Pod 的部署状态。当 Doris Operator 的 Pod 处于 Running 状态且
Pod 内所有容器都已经就绪,即部署成功。
-```shell
-kubectl get pod --namespace doris
-```
+ ```shell
+ kubectl get pod --namespace doris
+ ```
-返回结果如下:
+ 返回结果如下:
-```shell
-NAME READY STATUS RESTARTS AGE
-doris-operator-866bd449bb-zl5mr 1/1 Running 0 18m
-```
+ ```shell
+ NAME READY STATUS RESTARTS AGE
+ doris-operator-866bd449bb-zl5mr 1/1 Running 0 18m
+ ```
**离线添加仓库**
-如果服务器无法连接外网,需要预先下载 Doris Operator 与 Doris Cluster 的 chart 资源。
+如果服务器无法连接外网,需要预先下载 Doris Operator 与 Doris Cluster 的 Chart 资源。
-1. 下载离线 chart 资源
+1. 下载离线 Chart 资源
-下载 `doris-operator-{chart_version}.tgz` 安装 Doris Operator chart。如需要下载 1.4.0
版本的 Doris Operator 可以使用以下命令:
+ 下载 `doris-operator-{chart_version}.tgz` 安装 Doris Operator Chart。如需要下载 1.4.0
版本的 Doris Operator 可以使用以下命令:
-```shell
-wget https://charts.selectdb.com/doris-operator-1.4.0.tgz
-```
+ ```shell
+ wget https://charts.selectdb.com/doris-operator-1.4.0.tgz
+ ```
2. 安装 Doris Operator
-通过 `helm install` 命令可以安装 Doris Operator。
+ 通过 `helm install` 命令可以安装 Doris Operator。
-```shell
-helm install operator doris-operator-1.4.0.tgz
-```
+ ```shell
+ helm install operator doris-operator-1.4.0.tgz
+ ```
-如果需要自定义装配
[values.yaml](https://artifacthub.io/packages/helm/doris/doris-operator?modal=values)
,可以参考如下命令:
+ 如果需要自定义装配
[values.yaml](https://artifacthub.io/packages/helm/doris/doris-operator?modal=values)
,可以参考如下命令:
-```shell
-helm install -f values.yaml operator doris-operator-1.4.0.tgz
-```
+ ```shell
+ helm install -f values.yaml operator doris-operator-1.4.0.tgz
+ ```
-通过 `kubectl get pods` 命令查看 Pod 的部署状态。当 Doris Operator 的 Pod 处于 Running 状态且 Pod
内所有容器都已经就绪,即部署成功。
+ 通过 `kubectl get pods` 命令查看 Pod 的部署状态。当 Doris Operator 的 Pod 处于 Running 状态且
Pod 内所有容器都已经就绪,即部署成功。
-```shell
-kubectl get pod --namespace doris
-```
+ ```shell
+ kubectl get pod --namespace doris
+ ```
-返回结果如下:
+ 返回结果如下:
-```shell
-NAME READY STATUS RESTARTS AGE
-doris-operator-866bd449bb-zl5mr 1/1 Running 0 18m
-```
+ ```shell
+ NAME READY STATUS RESTARTS AGE
+ doris-operator-866bd449bb-zl5mr 1/1 Running 0 18m
+ ```
## 查看服务状态
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-quickstart.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-quickstart.md
index d33c52005dd..c9ef6c71bc5 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-quickstart.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/k8s-deploy/install-quickstart.md
@@ -21,31 +21,42 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
+
本章节介绍如何在测试 Kubernetes 集群中部署 Doris Operator 与 Doris 集群。
部署操作如下:
+
1. 创建 Kubernetes 测试集群
+
2. 部署 Doris Operator
+
3. 部署 Doris 集群
+
4. 连接访问 Doris 集群
## 第 1 步:创建 Kubernetes 测试集群
+
此步骤简述在没有 k8s 集群的情况下如何快速搭建一套单节点 k8s 集群,如果已有 k8s 集群,此步骤请跳过。
Kind 是目前比较通用的创建本地 Kubernetes 测试环境的方案。Kind 使用 Docker 容器作为节点,在本地创建和运行 Kubernetes
集群。
+
1. 部署前置条件
+
部署前需要确保环境中具有以下组件:
-| 组件 | 版本要求 |
-|---------|-----------|
-| Docker | \>= 18.09 |
-| kubectl | \>=1.19 |
-| kind | \>=0.8.0 |
+ | 组件 | 版本要求 |
+ |---------|-----------|
+ | Docker | \>= 18.09 |
+ | kubectl | \>=1.19 |
+ | kind | \>=0.8.0 |
-2. 使用 kind 部署 Kubernetes 集群
- 本例中使用 kind 0.10.0 版本安装 Kubernetes 集群,命令如下:
- ```
- kind create cluster --image kindest/node:v1.20.2 --name test-doris
+2. 使用 Kind 部署 Kubernetes 集群
+
+ 本例中使用 Kind 0.10.0 版本安装 Kubernetes 集群,命令如下:
+
+ ```shell
+ kind create cluster --image kindest/node:v1.20.2 --name test-doris
```
期望输出结果:
+
```
Creating cluster "test-doris" ...
✓ Ensuring node image (kindest/node:v1.20.2)
@@ -57,34 +68,49 @@ Kind 是目前比较通用的创建本地 Kubernetes 测试环境的方案。Kin
Set kubectl context to "kind-test-doris"
You can now use your cluster with:
```
+
3. 检查 Kubernetes 集群状态
- 使用以下命令检查 Kubernete 集群状态:
- ```
+
+ 使用以下命令检查 Kubernetes 集群状态:
+
+ ```shell
kubectl cluster-info --context kind-test-doris
```
+
以下是期望输出结果:
+
```
Kubernetes control plane is running at https://127.0.0.1:40075
KubeDNS is running at
https://127.0.0.1:40075/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info
dump'.
```
+
## 第 2 步:部署 Doris Operator
-部署 Doris Operator 分成安装定义和部署 operator 服务两部分:
+
+部署 Doris Operator 分成安装定义和部署 Operator 服务两部分:
+
1. 安装 Doris Operator CRD
+
通过以下命令添加 Doris Operator 的自定义资源(CRD):
- ```
+
+ ```shell
kubectl apply -f
https://raw.githubusercontent.com/selectdb/doris-operator/master/config/crd/bases/doris.selectdb.com_dorisclusters.yaml
```
- 期望输出结果:
+ 期望输出结果:
+
```
customresourcedefinition.apiextensions.k8s.io/dorisclusters.doris.selectdb.com
created
```
+
2. 安装 Doris Operator
- 通过以下命令安装 Doris Operator :
- ```
+
+ 通过以下命令安装 Doris Operator:
+
+ ```shell
kubectl apply -f
https://raw.githubusercontent.com/selectdb/doris-operator/master/config/operator/operator.yaml
```
期望输出结果:
+
```
namespace/doris created
role.rbac.authorization.k8s.io/leader-election-role created
@@ -94,62 +120,94 @@ Kind 是目前比较通用的创建本地 Kubernetes 测试环境的方案。Kin
serviceaccount/doris-operator created
deployment.apps/doris-operator created
```
+
3. 检查 Doris Operator 状态
+
通过以下命令检查 Doris Operator 的部署状态:
- ```
+
+ ```shell
kubectl get pods -n doris
```
- 期望输出结果:
+ 期望输出结果:
+
```
NAME READY STATUS RESTARTS AGE
doris-operator-7f578c86cb-nz6jn 1/1 Running 0 19m
```
- Doris Operator 相关配置以及其他部署方式可参考[部署 operator 部分](./install-operator.md)。
+
+ Doris Operator 相关配置以及其他部署方式可参考[部署 operator 部分](./install-operator)。
+
## 第 3 步:部署 Doris 集群
+
1. 下载模板 Doris 部署模板:
- ```
+
+ ```shell
curl -O
https://raw.githubusercontent.com/apache/doris-operator/master/doc/examples/doriscluster-sample.yaml
```
-2. 根据[集群配置章节](./install-doris-cluster.md)按需进行定制化配置,配置完成后通过如下命令部署:
- ```
+
+2. 根据[集群配置章节](./install-doris-cluster)按需进行定制化配置,配置完成后通过如下命令部署:
+
+ ```shell
kubectl apply -f doriscluster-sample.yaml
```
+
3. 检查集群部署状态:
+
通过查看 pods 的状态检查集群的状态:
- ```
+
+ ```shell
kubectl get pods
```
+
期望结果:
+
```
NAME READY STATUS RESTARTS AGE
doriscluster-sample-fe-0 1/1 Running 0 2m
doriscluster-sample-be-0 1/1 Running 0 3m
```
+
检查部署资源的状态:
- ```
+
+ ```shell
kubectl get dcr -n doris
```
+
期望结果:
+
```
NAME FESTATUS BESTATUS CNSTATUS BROKERSTATUS
doriscluster-sample available available
```
+
## 第 4 步:连接访问 Doris 集群
-在测试环境中快速部署的 Doris 集群,可以进入容器 FE 内部使用 MySQL Client 链接 Doris
进行测试操作。其他访问方式可参考[集群访问章节](./install-access-cluster.md)配置使用。
-1. 获取 FE 容器名称:
- ```
+
+在测试环境中快速部署的 Doris 集群,可以进入容器 FE 内部使用 MySQL Client 链接 Doris
进行测试操作。其他访问方式可参考[集群访问章节](./install-access-cluster)配置使用。
+
+1. 获取 FE 容器名称:
+
+ ```shell
kubectl get pod -n doris | grep fe
- doriscluster-sample-fe-0 1/1 Running 0 16m
```
- 在本例中,FE 容器名为 doriscluster-sample-fe-0。
-
+
+ 期望结果:
-2. 进入 FE 容器内部:
```
+ NAME READY STATUS RESTARTS AGE
+ doriscluster-sample-fe-0 1/1 Running 0 16m
+ ```
+
+ 在本例中,FE 容器名为 `doriscluster-sample-fe-0`。
+
+
+2. 进入 FE 容器内部:
+
+ ```shell
kubectl -n doris exec -it doriscluster-sample-fe-0 /bin/bash
```
3. 在 FE 容器内部使用 MySQL Client 链接 Doris 集群:
- ```
+
+ ```shell
mysql -uroot -P9030 -h127.0.0.1
```
\ No newline at end of file
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/run-docker-cluster.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/run-docker-cluster.md
index adc26da9ede..6f1b4d79f7e 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/run-docker-cluster.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/run-docker-cluster.md
@@ -32,11 +32,11 @@ under the License.
**概述**
-Docker 镜像在制作前要提前准备好制作机器,该机器的平台架构决定了制作以后的 Docker Image 适用的平台架构,如 X86_64 机器,需要下载
X86_64 的 Doris 二进制程序,制作以后的 Image 仅可在 X86_64 平台上运行。ARM64 平台同理。
+在制作 Docker 镜像前,请确保制作机器的平台架构与目标运行平台一致。例如,X86_64 机器应下载 X86_64 版本的 Doris
二进制程序,以确保镜像的兼容性。ARM64 平台同理。
**硬件要求**
-推荐配置:4 核 16GB 内存
+构建镜像时:推荐配置为 4 核 CPU 和 16GB 内存
**软件要求**
@@ -48,21 +48,21 @@ Docker Version:20.10 及以后版本
**Dockerfile 脚本编写注意**
-- 基础父镜像选用经过 Docker-Hub 认证的 OpenJDK 官方镜像,版本用 JDK 1.8
版本,推荐基础父镜像:openjdk:8u342-jdk;
+- 基础父镜像应选用经过 Docker-Hub 认证的 OpenJDK 官方镜像,版本为 JDK 8,推荐基础父镜像为 openjdk:8u342-jdk。
-- 需要内嵌脚本来完成 FE 的启动、多 FE 注册、状态检查和 BE 的启动、注册 BE 至 FE、状态检查等任务流程;
+- 需要编写内嵌脚本来完成 Doris FE 的启动、多 FE 注册、状态检查以及 BE 的启动、注册至 FE、状态检查等任务流程。这些脚本应正确处理
Doris 的依赖和环境变量。
-- 应用程序在 Docker 内启动时不建议使用`--daemon` 的方式启动,否则在 K8s 等编排工具部署过程中会有异常。
+- 在 Docker 容器内启动应用程序时,不建议使用 --daemon 方式,以避免容器退出或进程管理问题。
**构建方式**
编译 Docker Image 的 Dockerfile 脚本中,关于 Apache Doris 程序二进制包的加载方式,有两种:
-- 通过 wget / curl 在编译时执行下载命令,随后完成 Docker Build 制作过程
+- **在线下载**:通过 `wget` / `curl` 在编译时执行下载命令,随后完成 Docker Build
制作过程。这种方式可能减小镜像大小,但依赖于稳定的网络环境,且构建时间可能较长(取决于缓存命中情况)。
-- 提前下载二进制包至编译目录,然后通过 ADD 或者 COPY 命令加载至 Docker Build 过程中
+- **提前下载**:将二进制包提前下载至编译目录,然后通过 `ADD` 或者 `COPY` 命令加载至 Docker Build
过程中。这种方式适用于网络环境不佳的情况。
-使用前者会让 Docker Image Size
更小,但是如果构建失败的话可能下载操作会重复进行,导致构建时间过长,而后者更适用于网络环境不是很好的构建环境。这里以第二种方式进行示例。
+以下以第二种方式(提前下载)为例进行说明:
### 构建 FE 镜像
@@ -126,10 +126,10 @@ docker build . -t ${fe-tagName}
1. 构建环境目录如下:
-```SQL
+```sql
└── docker-build // 构建根目录
└── be // BE 构建目录
- ├── dockerfile // dockerfile
脚本
+ ├── Dockerfile // Dockerfile
脚本
└── resource // 资源目录
├── init_be.sh // 启动及注册脚本
└── apache-doris-2.0.3-bin.tar.gz // 二进制程序包
@@ -226,9 +226,9 @@ Doris Docker 适用的网络模式有两种。
- 适合跨多节点部署的 HOST 模式,这种模式适合每个节点部署 1 FE 1 BE。
-- 适合单节点部署多 Doris 进程的子网网桥模式,这种模式适合单节点部署(推荐),若要多节点混部需要做更多组件部署(不推荐)。
+- 适合单节点部署多 Doris 进程的桥接网络模式,这种模式适合单节点部署(推荐),若要多节点混部需要做更多组件部署(不推荐)。
-为便于展示,本章节仅演示子网网桥模式编写的脚本。
+为便于展示,本章节仅演示桥接网络模式编写的脚本。
**接口说明**
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/standard-deployment.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/standard-deployment.md
index aa7cba36e75..bc0d425dde1 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/standard-deployment.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/install/cluster-deployment/standard-deployment.md
@@ -22,6 +22,7 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
+
手动部署 Doris 集群,通常要进行四步规划:
1. 软硬件环境检查:检查用户的硬件资源情况及操作系统兼容性
@@ -40,29 +41,27 @@ under the License.
**CPU**
-当安装 Doris 时,建议选择支持 AVX2 指令集的机器,以利用 AVX2 的向量化能力实现查询向量化加速。
+当安装 Doris 时,建议选择配备支持 AVX2 指令集的机器,以利用 AVX2 的向量化能力实现查询向量化加速。
-运行以下命令,有输出结果,及表示机器支持 AVX2 指令集。
+运行以下命令,有输出结果,即表示机器支持 AVX2 指令集。
```sql
cat /proc/cpuinfo | grep avx2
```
-如果机器不支持 AVX2 指令集,可以使用 no AVX2 的 Doris 安装包进行部署。
+如果机器不支持 AVX2 指令集,可以使用 No AVX2 的 Doris 安装包进行部署。
**内存**
-Doris 没有强制的内存限制。一般在生产环境中,建议内存至少是 CPU 核数的 4 倍(例如,16 核机器至少配置 64G 内存)。在内存是 CPU 核数
8 倍时,会得到更好的性能。
+Doris 没有强制的内存限制。但在生产环境中,一般建议内存至少是 CPU 核数的 4 倍(例如,16 核机器至少配置 64G 内存)。当内存是 CPU
核数的 8 倍时,性能更佳。
**存储**
-Doris 部署时数据可以存放在 SSD 或 HDD 硬盘或者对象存储中。
-
-在以下几种场景中建议使用 SSD 作为数据存储:
+Doris 部署时数据可以存放在 SSD 或 HDD 硬盘或者对象存储中。在以下几种场景中建议使用 SSD 作为数据存储:
-- 大规模数据量下的高并发点查场景
+- 大规模数据量下的高并发点查场景。
-- 大规模数据量下的高频数据更新场景
+- 大规模数据量下的高频数据更新场景。
**文件系统**
@@ -70,7 +69,7 @@ ext4 和 xfs 文件系统均支持。
**网卡**
-Doris 在进行计算过程涉及将数据分片分发到不同的实例上进行并行处理,会导致一定的网络资源开销。为了最大程度优化 Doris
性能并降低网络资源开销,强烈建议在部署时选用万兆网卡(10 Gigabit Ethernet,即 10GbE)或者更快网络。
+Doris 在计算过程中会将数据分片分发到不同实例进行并行处理,这会产生一定的网络资源开销。为最大程度优化 Doris
性能并降低网络资源开销,强烈建议在部署时选用万兆网卡(10 Gigabit Ethernet,即 10GbE)或更快网络。
### 服务器建议配置
@@ -83,8 +82,7 @@ Doris 支持运行和部署在 x86-64 架构的服务器平台或 ARM64 架构
| Frontend | 8 核 + | 8 GB+ | SSD 或 SATA,10 GB+ | 千兆/万兆网卡 | 1
|
| Backend | 8 核 + | 16 GB+ | SSD 或 SATA,50 GB+ | 千兆/万兆网卡 | 1
|
-:::tip
-说明
+:::tip 说明
- 在验证测试环境中,可以将 FE 与 BE 部署在同一台服务器上
@@ -94,7 +92,7 @@ Doris 支持运行和部署在 x86-64 架构的服务器平台或 ARM64 架构
- **多个 FE 所在服务器的时钟必须保持一致,最多允许 5 秒的时钟偏差**
-- 测试环境也可以仅使用一个 BE 进行测试。实际生产环境,BE 实例数量直接决定了整体查询延迟。
+- 测试环境也可以仅使用一个 BE 进行测试。实际生产环境中,BE 实例数量直接决定整体查询延迟。
:::
**生产环境**
@@ -104,24 +102,23 @@ Doris 支持运行和部署在 x86-64 架构的服务器平台或 ARM64 架构
| Frontend | 16 核 + | 64 GB+ | SSD 或 RAID 卡,100GB+ | 万兆网卡 | 1
|
| Backend | 16 核 + | 64 GB+ | SSD 或 SATA,100G+ | 万兆网卡 | 3
|
-:::tip
-说明
+:::tip 说明
-- 在生产环境中,如果 FE 与 BE 混布,需要注意资源争用问题,建议元数据存储与数据存储分盘存放
+- 在生产环境中,如果 FE 与 BE 混布,需要注意资源争用问题,建议元数据存储与数据存储分盘存放。
-- BE 节点可以配置多块硬盘存储,在一个 BE 实例上绑定多块 HDD 或 SSD 盘
+- BE 节点可以配置多块硬盘存储,在一个 BE 实例上绑定多块 HDD 或 SSD 盘。
-- 集群的性能与 BE 节点的资源有关,BE 节点越多,Doris 性能越好。通常情况下在 10 - 100 台机器上可以充分发挥 Doris 的性能
+- 集群性能与 BE 节点资源有关,BE 节点越多,Doris 性能越好。通常情况下,在 10 - 100 台机器上可以充分发挥 Doris 的性能。
:::
### 硬盘空间计算
-在 Doris 集群中,FE 主要用于元数据存储,包括元数据 edit log 和 image。BE 的磁盘空间主要用于存放数据,需要根据业务需求计算。
+在 Doris 集群中,FE 主要用于元数据存储,包括元数据 Edit Log 和 Image。BE 的磁盘空间主要用于存放数据,需要根据业务需求计算。
| 组件 | 磁盘空间说明 |
| ------ | ------------------------------------------------------------ |
| FE | 元数据一般在几百 MB 到几 GB,建议不低于 100GB |
-| BE | Doris 默认 LZ4 压缩方式进行存储,压缩比在 0.3 - 0.5 左右磁盘空间需要按照总数据量 * 3(3
副本)计算需要预留出 40% 空间用作后台 compaction 以及临时数据的存储 |
+| BE | Doris 默认使用 LZ4 压缩方式存储,压缩比在 0.3 - 0.5 左右。磁盘空间需按照总数据量 * 3(3
副本)计算,并预留出 40% 空间用于后台 Compaction 及临时数据存储。|
| Broker | 如需部署 Broker,通常情况下可以将 Broker 节点与 FE / BE 节点部署在同一台机器上 |
### Java 版本
@@ -146,7 +143,7 @@ Doris 的所有进程都依赖 Java。
swapoff -a
```
-**永久关闭**,使用 Linux root 账户,注释掉 /etc/fstab 中的 swap 分区,然后重启即可彻底关闭 swap 分区。
+**永久关闭**,使用 Linux root 账户,注释掉 `/etc/fstab` 中的 swap 分区,然后重启即可彻底关闭 swap 分区。
```Plain
# /etc/fstab
@@ -157,14 +154,15 @@ tmpfs /tmp tmpfs
nodev,nosuid 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2
```
-:::caution
-不建议使用设置 vm.swappiness = 0 的方式,因为这个参数在不同的 Linux 内核版本会有不同的语义,很多情况下不能完全关闭 swap。
+:::caution 注意
+不建议使用设置 `vm.swappiness = 0` 的方式,因为这个参数在不同的 Linux 内核版本会有不同的语义,很多情况下不能完全关闭 swap。
:::
### 检测和关闭系统防火墙
如果发现端口不同,可以试着关闭防火墙,确认是否是本机防火墙造成。如果是防火墙造成,可以根据配置的 Doris 各组件端口打开相应的端口通信。
+
```sql
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
@@ -191,13 +189,13 @@ vi /etc/security/limits.conf
* hard nofile 1000000
```
-:::caution
+:::caution 注意
当前用户需要退出当前 Session,并重新登录进入才能生效
:::
-### 修改虚拟内存区域数量为
+### 修改虚拟内存区域数量
-修改虚拟内存区域至少 2000000
+修改虚拟内存区域至少为 2000000
```sql
sysctl -w vm.max_map_count=2000000
@@ -216,127 +214,123 @@ echo never > /sys/kernel/mm/transparent_hugepage/defrag
### 端口规划
-Doris 各个实例直接通过网络进行通讯,其正常运行需要网络环境提供以下的端口。管理员可以根据实际环境自行调整 Doris 的端口:
+Doris 的各个实例通过网络进行通信,其正常运行需要网络环境提供以下端口。管理员可以根据实际环境自行调整 Doris 的端口配置:
-| 实例名称 | 端口名称 | 默认端口 | 通信方向 | 说明
|
-| -------- | ---------------------- | -------- | -------------------------- |
---------------------------------------------------- |
-| BE | be_port | 9060 | FE --> BE |
BE 上 thrift server 的端口,用于接收来自 FE 的请求 |
-| BE | webserver_port | 8040 | BE <--> BE |
BE 上的 http server 的端口 |
-| BE | heartbeat_service_port | 9050 | FE --> BE |
BE 上心跳服务端口(thrift),用于接收来自 FE 的心跳 |
-| BE | brpc_port | 8060 | FE <--> BE,BE <--> BE |
BE 上的 brpc 端口,用于 BE 之间通讯 |
-| FE | http_port | 8030 | FE <--> FE,Client <--> FE |
FE 上的 http server 端口 |
-| FE | rpc_port | 9020 | BE --> FE,FE <--> FE |
FE 上的 thrift server 端口,每个 fe 的配置需要保持一致 |
-| FE | query_port | 9030 | Client <--> FE |
FE 上的 MySQL server 端口 |
-| FE | edit_log_port | 9010 | FE <--> FE |
FE 上的 bdbje 之间通信用的端口 |
-| Broker | broker_ipc_port | 8000 | FE --> Broker,BE --> Broker |
Broker 上的 thrift server,用于接收请求 |
+| 实例名称 | 端口名称 | 默认端口 | 通信方向 | 说明
|
+| -------- | ---------------------- | -------- | -------------------------- |
----------------------------------------------------- |
+| BE | be_port | 9060 | FE -> BE |
BE 上 Thrift Server 的端口,用于接收来自 FE 的请求 |
+| BE | webserver_port | 8040 | BE <-> BE |
BE 上的 HTTP Server 端口 |
+| BE | heartbeat_service_port | 9050 | FE -> BE |
BE 上的心跳服务端口(Thrift),用于接收来自 FE 的心跳 |
+| BE | brpc_port | 8060 | FE <-> BE,BE <-> BE |
BE 上的 BRPC 端口,用于 BE 之间的通信 |
+| FE | http_port | 8030 | FE <-> FE,Client <-> FE |
FE 上的 HTTP Server 端口 |
+| FE | rpc_port | 9020 | BE -> FE,FE <-> FE |
FE 上的 Thrift Server 端口,每个 FE 的配置需保持一致 |
+| FE | query_port | 9030 | Client <-> FE |
FE 上的 MySQL Server 端口 |
+| FE | edit_log_port | 9010 | FE <-> FE |
FE 上的 bdbje 通信端口 |
+| Broker | broker_ipc_port | 8000 | FE -> Broker,BE -> Broker |
Broker 上的 Thrift Server 端口,用于接收请求 |
### 节点数量规划
-**FE 节点数量**
-
-FE 节点主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
+**FE** **节点数量**
-对于生产集群,一般至少需要部署 3 节点 FE 的高可用环境。FE 节点分为两种角色:
+FE 节点主要负责用户请求的接入、查询解析规划、元数据管理及节点管理等工作。
-- Follower 节点参与选举操作,当 Master 节点宕机后,会选择一个可用的 Follower 节点成为新的 Master;
+对于生产集群,一般建议部署至少 3 个节点的 FE 以实现高可用环境。FE 节点分为以下两种角色:
-- Observer 节点仅从 Leader 节点同步元数据,不参与选举。可以横向扩展以提供元数据的读服务的扩展性。
+- Follower 节点:参与选举操作,当 Master 节点宕机时,会选择一个可用的 Follower 节点成为新的 Master。
+- Observer 节点:仅从 Leader 节点同步元数据,不参与选举,可用于横向扩展以提升元数据的读服务能力。
-通常情况下,建议部署 3 个 Follower 节点。在高并发的场景中,可以通过扩展 Observer 节点提高集群的连接数。
+通常情况下,建议部署至少 3 个 Follower 节点。在高并发的场景中,可以通过增加 Observer 节点的数量来提高集群的连接数。
**BE 节点数量**
-BE 节点负责数据的存储与计算。在生产环境中,一般会使用 3 副本存储数据,建议部署至少 3 个 BE 节点。
+BE 节点负责数据的存储与计算。在生产环境中,为了数据的可靠性和容错性,通常会使用 3 副本存储数据,因此建议部署至少 3 个 BE 节点。
-BE 节点可以横向扩容,通过扩展 BE 节点的数量,可以提高查询的性能与并发能力。
-
-## 4 安装集群
+BE 节点支持横向扩容,通过增加 BE 节点的数量,可以有效提升查询的性能和并发处理能力。
### 部署 FE Master 节点
**创建元数据路径**
-FE 元数据通常不超过 10GB,建议与 BE 节点数据存储在不同的硬盘上。
-
-在解压安装包时,会默认附带 doris-meta 目录,建议可以创建独立的元数据目录并创建该目录到 doris-meta
的软连接。**生产环境强烈建议单独指定目录不要放在 Doris 安装目录下,最好是单独的磁盘(如果有 SSD 最好),测试开发环境可以使用默认配置**
+FE 元数据通常不超过 10GB,建议将其存储在与 BE 节点数据存储不同的硬盘上,以避免潜在的 I/O 竞争。
-```sql
-## 选择独立于 BE 数据的硬盘,创建 FE 的元数据目录
-mkdir -p <doris_meta_created>
+在解压 Doris 安装包时,会默认附带 `doris-meta` 目录。建议创建一个独立的元数据目录,并建立该目录到 `doris-meta`
的符号链接。对于生产环境,强烈建议单独指定元数据目录,并避免将其放置在 Doris 安装目录下,最好是使用单独的磁盘(如果可能的话,使用
SSD)。测试和开发环境可以使用默认配置。
-## 创建 FE 的元数据目录软连接
+```Shell
+# 选择独立于 BE 数据存储的硬盘,创建 FE 的元数据目录
+mkdir -p <doris_meta_created>
+
+# 创建 FE 元数据目录的符号链接
ln -s <doris_meta_original> <doris_meta_created>
```
**修改 FE 配置文件**
-FE 的配置文件在 FE 部署路径下的 conf 目录中,启动 FE 节点前需要修改 `conf/fe.conf`。
+FE 的配置文件位于 FE 部署路径下的 `conf` 目录中。在启动 FE 节点之前,需要修改 `conf/fe.conf` 文件。
1. 修改 FE 元数据目录
- 在配置文件中,`meta_dir` 指定元数据的存放位置。`meta_dir` 默认放在 FE 的安装路径下。
-
- 如果创建了 FE 元数据目录的软连接,无需配置该选项。
+ 在配置文件中,`meta_dir` 参数指定了元数据的存放位置。默认情况下,`meta_dir` 位于 FE 的安装路径下。如果已创建了 FE
元数据目录的符号链接,则无需配置此选项。
2. 绑定集群 IP
-
- 在多网卡的环境中,需要显示配置 priority_networks 选项。
- ```sql
+ 在多网卡环境中,需要显式配置 `priority_networks` 选项,以指定 FE 使用的 IP 地址。
+
+ ```Shell
priority_networks = 10.1.3.0/24
```
- 这是一种 CIDR 的表示方式,该配置会指定 FE 使用的 IP。在配置 FQDN 的环境中,可以忽略该选项。
+ 这是一种 CIDR 表示方式,用于指定 FE 监听的网段。在配置使用 FQDN 的环境中,可以忽略此选项。
3. 调整 FE 内存
- 在 fe.conf 中,默认 Java 最大堆内存为 8GB,建议生产环境调整至 16G 以上。在 `JAVA_OPTS` 参数中指定 `-Xmx`
选项可以调整 Java 最大堆内存。
+ 在 `fe.conf` 文件中,默认 Java 最大堆内存设置为 8GB。对于生产环境,建议将其调整至 16GB 以上,以提高性能。可以通过修改
`JAVA_OPTS` 参数中的 `-Xmx` 选项来调整 Java 最大堆内存。
- ```TypeScript
- JAVA_OPTS="-Xmx16384m -XX:+UseMembar -XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled
-XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80
-XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:$DORIS_HOME/log/fe.gc.log.$DATE"
+ ```Shell
+ JAVA_OPTS="-Xmx16384m -XX:+UseMembar -XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled
-XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80
-XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:$DORIS_HOME/log/fe.gc.log.$DATE"
```
-4. 修改 Doris 大小写敏感参数 `lower_case_table_names`
+4. 修改 Doris 大小写敏感参数
- 在 Doris 中默认表名大小写敏感。如果有对大小写不敏感的需求,需要在集群初始化时进行设置。表名大小写敏感在集群初始化完成后就无法再进行修改。详细参见
[变量](../../query/query-variables/variables) 文档中关于 `lower_case_table_names` 的介绍。
+ Doris 默认对表名大小写敏感。如果需要对大小写不敏感,请在集群初始化时设置 `lower_case_table_names`
参数。请注意,一旦集群初始化完成,表名大小写敏感设置将无法更改。有关详细信息,请参阅
[变量](../query/query-variables/variables) 文档中的 `lower_case_table_names` 部分。
**启动 FE 进程**
-通过以下命令可以启动 FE 进程
+使用以下命令启动 FE 进程:
-```shell
+```Shell
bin/start_fe.sh --daemon
```
-FE 进程启动进入后台执行。日志默认存放在 `log/` 目录下。如启动失败,可以通过查看 `log/fe.log` 或者 log/fe.out 查看错误信息
+FE 进程将在后台启动,日志默认存放在 `log/` 目录下。如果启动失败,请检查 `log/fe.log` 或 `log/fe.out`
文件以获取错误信息。
**检查 FE 启动状态**
-通过 MySQL Client 可以链接 Doris 集群。初始化用户为 `root`,密码为空。
+通过 MySQL Client 连接 Doris 集群,初始化用户为 `root`,密码为空。
```sql
mysql -uroot -P<fe_query_port> -h<fe_ip_address>
```
-链接到 Doris 集群后,可以通过 `show frontends` 命令查看 FE 的状态,通常要确认以下几项
+连接到 Doris 集群后,使用 `show frontends` 命令查看 FE 的状态。通常需要确认以下几项:
+
+- `Alive` 为 `true` 表示节点存活。
-- Alive 为 true 表示节点存活
+- `Join` 为 `true` 表示节点已加入集群,但不一定表示当前仍在集群内(可能已失联)。
-- Join 为 true 表示节点加入到集群中,但不代表当前还在集群内(可能已失联)
+- `IsMaster` 为 `true` 表示当前节点为 Master 节点。
-- IsMaster 为 true 表示当前节点为 Master 节点
### 部署 FE 集群(可选)
-在生产集群中,建议至少部署 3 个 Follower 节点。在部署过 FE Master 节点后,需要再部署两个 FE Follower 节点。
+在生产环境中,建议至少部署 3 个 Follower 节点以提高系统的可用性和容错性。在成功部署 FE Master 节点后,接下来需要部署另外两个 FE
Follower 节点。
**创建元数据目录**
-参考部署 FE Master 节点,创建 doris-meta 目录
+参考部署 FE Master 节点,创建 `doris-meta` 目录
**修改 FE Follower 节点配置文件**
-参考部署 FE Master 节点,修改 FE 配置文件。通常情况下,可以直接复制 FE Master 节点的配置文件。
+参考部署 FE Master 节点,对 FE Follower 节点的配置文件进行修改。通常情况下,可以直接复制 FE Master 节点的配置文件作为起点。
**在 Doris 集群中注册新的 FE Follower 节点**
@@ -349,24 +343,24 @@ mysql -uroot -P<fe_query_port> -h<fe_ip_address>
## 注册 FE Follower 节点
## fe_edit_log_port 可以从 fe.conf 中查看,默认为 9010
## 在 MySQL Client 中执行 ALTER SYSTEM 语句
-ALTER SYSTEM ADD FOLLOWER "<fe_ip_address>:<fe_edit_log_port>"
+ALTER SYSTEM ADD FOLLOWER "<fe_ip_address> : <fe_edit_log_port>";
+
```
-如果要添加 observer 节点,可以使用 `ADD OBSERVER` 命令
+如果要添加 Observer 节点,可以使用 `ADD OBSERVER` 命令
```sql
## 注册 FE observer 节点,在 MySQL Client 中执行 ALTER SYSTEM 语句
ALTER SYSTEM ADD OBSERVER "<fe_ip_address>:<fe_edit_log_port>"
```
-:::caution
-注意
+:::caution 注意
1. FE Follower(包括 Master)节点的数量建议为奇数,建议部署 3 个组成高可用模式。
2. 当 FE 处于高可用部署时(1 个 Master,2 个 Follower),我们建议通过增加 Observer FE 来扩展 FE 的读服务能力
-3. 通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下
+3. 通常,一个 FE 节点可以管理 10-20 个 BE 节点。建议整个集群中的 FE 节点总数不超过 10 个。
:::
**启动 FE Follower 节点**
@@ -377,20 +371,20 @@ ALTER SYSTEM ADD OBSERVER
"<fe_ip_address>:<fe_edit_log_port>"
bin/start_fe.sh --helper <helper_fe_ip>:<fe_edit_log_port> --daemon
```
-其中,helper_fe_ip 为当前 FE 集群中任一存活的节点。`--heper` 参数只应用于第一次启动 FE 时同步元数据,后续重启 FE
的操作不需要指定。
+其中,helper_fe_ip 为当前 FE 集群中任一存活的节点。`--helper` 参数只应用于第一次启动 FE 时同步元数据,后续重启 FE
的操作不需要指定。
-**判断 follower 节点状态**
+**判断 Follower 节点状态**
-与判断 FE master 节点状态的方式相同,添加注册 FE follower 节点后需要通过 `show frontends` 命令查看 FE
节点状态。与 Master 状态不同,`IsMaster` 的状态应为 false。
+与判断 FE Master 节点状态的方式相同,添加注册 FE Follower 节点后需要通过 `show frontends` 命令查看 FE
节点状态。与 Master 状态不同,`IsMaster` 的状态应为 false。
### 部署 BE
**创建数据目录**
-BE 进程应用于数据的计算与存储。数据目录默认放在 `be/storage` 下。在生产环境中,通常使用独立的硬盘来存储数据,将 BE 数据与 BE
的部署文件置于不同的硬盘中。BE 支持数据分布在多盘上以更好的利用多块硬盘的 I/O 能力。
+BE 进程负责数据的计算与存储。默认情况下,数据目录位于 `be/storage` 下。在生产环境中,建议使用独立的硬盘来存储数据,并将 BE 数据与 BE
的部署文件分开存放在不同的硬盘上。BE 支持数据分布在多个硬盘上,以充分利用多块硬盘的 I/O 能力。
```sql
-## 在每一块数据硬盘上创建 BE 数据存储目录
+# 在每一块数据硬盘上创建 BE 数据存储目录
mkdir -p <be_storage_root_path>
```
@@ -400,94 +394,93 @@ BE 的配置文件在 BE 部署路径下的 conf 目录中,启动 FE 节点前
1. 配置 Java 环境
-从 1.2 版本开始 Doris 支持 Java UDF 函数,BE 依赖于 Java 环境。需要预先配置操作系统 `JAVA_HOME` 环境变量,或者在
BE 配置文件中指定 Java 环境变量。
+ 从 1.2 版本开始,Doris 支持 Java UDF 函数,因此 BE 依赖于 Java 环境。需要预先在操作系统中配置 JAVA_HOME
环境变量,或者在 BE 配置文件中指定 Java 环境变量。
-```sql
-## 修改 be/conf/be.conf 的 Java 环境变量
-JAVA_HOME = <your-java-home-path>
-```
+ ```sql
+ ## 修改 be/conf/be.conf 的 Java 环境变量
+ JAVA_HOME = <your-java-home-path>
+ ```
2. 配置 BE 存储路径
-如需修改 BE 的存储路径,可以修改 storage_root_path 参数。在多路径之间使用英文分号 `;` 分隔 **(最后一个目录不要加分号)。**
+ 如需修改 BE 的存储路径,可以修改 `storage_root_path` 参数。在多路径之间使用英文分号 `;` 分隔
**(最后一个目录不要加分号)。**
-**冷热数据分级存储**
+ **冷热数据分级存储**
-Doris 支持冷热数据分级存储,将冷数据存储在 HDD 或对象存储中,热数据存储在 SSD 中。
+ Doris 支持冷热数据分级存储,将冷数据存储在 HDD 或对象存储中,热数据存储在 SSD 中。
-可以通过路径区别节点内的冷热数据存储目录,HDD(冷数据目录)或 SSD(热数据目录)。如果不需要 BE 节点内的冷热机制,那么只需要配置路径即可,无需指定
medium 类型;也不需要修改 FE 的默认存储介质配置。
+ 可以通过路径区别节点内的冷热数据存储目录,HDD(冷数据目录)或 SSD(热数据目录)。如果不需要 BE
节点内的冷热机制,那么只需要配置路径即可,无需指定 Medium 类型;也不需要修改 FE 的默认存储介质配置。
-在使用冷热数据分离功能时,需要在 `storage_root_path` 中使用 `medium` 选项。
+ 在使用冷热数据分离功能时,需要在 `storage_root_path` 中使用 `medium` 选项。
-```sql
-## 在 storage_root_path 中使用 medium 指定磁盘类型
-## /home/disk1/doris,medium:HDD: 表示该目录存储冷数据;
-## /home/disk2/doris,medium:SSD: 表示该目录存储热数据;
-storage_root_path=/home/disk1/doris,medium:HDD;/home/disk2/doris,medium:SSD
-```
+ ```sql
+ ## 在 storage_root_path 中使用 medium 指定磁盘类型
+ ## /home/disk1/doris,medium:HDD:表示该目录存储冷数据;
+ ## /home/disk2/doris,medium:SSD:表示该目录存储热数据;
+ storage_root_path=/home/disk1/doris,medium:HDD;/home/disk2/doris,medium:SSD
+ ```
-:::caution
-**注意:**
+ :::caution 注意
-1. 当指定存储路径的存储类型时,至少设置一个路径的存储类型为 HDD;
+ 1. 当指定存储路径的存储类型时,至少设置一个路径的存储类型为 HDD;
-2. 如未显示声明存储路径的存储类型,则默认全部为 HDD;
+ 2. 如果未明确声明存储路径的存储类型,则默认所有路径均为 HDD。
-3. 指定 HDD 或 SSD 存储类型与物理存储介质无关,只为区分存储路径的存储类型,即可以在 HDD 介质的盘上标记某个目录为 SSD;
+ 3. 指定 HDD 或 SSD 存储类型与物理存储介质无关,仅用于区分存储路径的存储类型。例如,可以在 HDD 介质上标记某个目录为 SSD。
-4. 存储类型 HDD 和 SSD 关键字须大写。
-:::
+ 4. 存储类型 HDD 和 SSD 的关键字必须大写。
+ :::
3. 绑定集群 IP
-在多网卡的环境中,需要显示配置 priority_networks 选项。在配置 FQDN 的环境中,可以忽略该选项。
+ 在多网卡的环境中,需要显示配置 `priority_networks` 选项。在配置 FQDN 的环境中,可以忽略该选项。
-```sql
-priority_networks = 10.1.3.0/24
-```
+ ```sql
+ priority_networks = 10.1.3.0/24
+ ```
-**在 Doris 中注册 BE 节点**
+ **在 Doris 中注册 BE 节点**
-在启动新的 BE 节点前,需要先在 FE 集群中注册新的 BE 节点。
+ 在启动新的 BE 节点前,需要先在 FE 集群中注册新的 BE 节点。
-```sql
-## 链接任一存活的 FE 节点
-mysql -uroot -P<fe_query_port> -h<fe_ip_address>
+ ```sql
+ ## 链接任一存活的 FE 节点
+ mysql -uroot -P<fe_query_port> -h<fe_ip_address>
-## 注册 BE 节点
-## be_heartbeat_service_port 可以从 be.conf 中查看,默认为 9050
-## 在 MySQL Client 中执行 ALTER SYSTEM 语句
-ALTER SYSTEM ADD BACKEND "<be_ip_address>:<be_heartbeat_service_port>"
-```
+ ## 注册 BE 节点
+ ## be_heartbeat_service_port 可以从 be.conf 中查看,默认为 9050
+ ## 在 MySQL Client 中执行 ALTER SYSTEM 语句
+ ALTER SYSTEM ADD BACKEND "<be_ip_address>:<be_heartbeat_service_port>"
+ ```
-**启动 BE 进程**
+ **启动 BE 进程**
-通过以下命令可以启动 BE 进程
+ 通过以下命令可以启动 BE 进程
-```sql
-bin/start_be.sh --daemon
-```
+ ```sql
+ bin/start_be.sh --daemon
+ ```
-BE 进程启动进入后台执行。日志默认存放在 `log/` 目录下。如启动失败,可以通过查看 `log/be.log` 或者 `log/be.out`
查看错误信息
+ BE 进程启动进入后台执行。日志默认存放在 `log/` 目录下。如果启动失败,请检查 `log/be.log` 或 `log/be.out`
文件以获取错误信息。
-**查看 BE 启动状态**
+ **查看 BE 启动状态**
-在链接到 Doris 集群后,通过 show backends 命令查看 BE 的状态。
+ 在链接到 Doris 集群后,通过 show backends 命令查看 BE 的状态。
-```sql
-## 链接 Doris 集群
-mysql -uroot -P<fe_query_port> -h<fe_ip_address>
+ ```sql
+ ## 链接 Doris 集群
+ mysql -uroot -P<fe_query_port> -h<fe_ip_address>
-## 查看 BE 状态,在 MySQL Client 中执行 show 命令
-show backends;
-```
+ ## 查看 BE 状态,在 MySQL Client 中执行 show 命令
+ show backends;
+ ```
-通常情况下需要注意以下几项状态:
+ 通常情况下需要注意以下几项状态:
-- Alive 为 true 表示节点存活
+ - Alive 为 true 表示节点存活
-- TabletNum 表示该节点上的分片数量,新加入的节点会进行数据均衡,TabletNum 逐渐趋于平均
+ - TabletNum 表示该节点上的分片数量,新加入的节点会进行数据均衡,TabletNum 逐渐趋于平均。
### 验证集群正确性
@@ -502,42 +495,42 @@ mysql -uroot -P<fe_query_port> -h<fe_ip_address>
**检查 Doris 安装版本**
-通过 show frontends 与 show backends 命令可以查看数据库版本情况。
-
-```TypeScript
-## 查看 FE 各实例的版本,在 MySQL Client 中执行 show 命令
-show frontends \G
+通过 `show frontends` 与 `show backends` 可以查看数据库各实例的版本信息。
-## 查看 BE 各实例的版本,在 MySQL Client 中执行 show 命令
+```sql
+-- 查看 FE 各实例的版本
+show frontends \G
+
+-- 查看 BE 各实例的版本
show backends \G
```
**修改 Doris 集群密码**
-在创建 Doris 集群后,系统会自动创建 `root` 用户,并默认密码为空。建议在创建集群后为 `root` 用户重置一个新密码。
+在创建 Doris 集群时,系统会自动创建一个名为 `root` 的用户,并默认设置其密码为空。为了安全起见,建议在集群创建后立即为 `root`
用户设置一个新密码。
-```TypeScript
-## 确认当前用户为 root,在 MySQL Client 中查看当前用户
-select user();
-+------------------------+
-| user() |
-+------------------------+
-| 'root'@'192.168.88.30' |
-+------------------------+
-
-## 修改 root 用户密码,在 MySQL Client 中执行 set password 命令
+```sql
+-- 确认当前用户为 root
+select user();
++------------------------+
+| user() |
++------------------------+
+| 'root'@'192.168.88.30' |
++------------------------+
+
+-- 修改 root 用户密码
SET PASSWORD = PASSWORD('doris_new_passwd');
```
**创建测试表并插入数据**
-在新创建的集群中,可以创建表并插入数据以验证集群正确性。
+为了验证集群的正确性,可以在新创建的集群中创建一个测试表,并插入一些数据。
-```TypeScript
-## 创建测试数据库,在 MySQL Client 中执行 create database 语句
+```sql
+-- 创建测试数据库,在 MySQL Client 中执行 create database 语句
create database testdb;
-## 创建测试表,在 MySQL Client 中执行 create table 语句
+-- 创建测试表,在 MySQL Client 中执行 create table 语句
CREATE TABLE testdb.table_hash
(
k1 TINYINT,
@@ -551,8 +544,8 @@ DISTRIBUTED BY HASH(k1) BUCKETS 32;
Doris 兼容 MySQL 协议,可以使用 insert 语句插入数据。
-```TypeScript
-## 插入部分测试数据,在 MySQL Client 中执行 insert into 语句
+```sql
+-- 插入部分测试数据,在 MySQL Client 中执行 insert into 语句
INSERT INTO testdb.table_hash VALUES
(1, 10.1, 'AAA', 10),
(2, 10.2, 'BBB', 20),
@@ -560,7 +553,7 @@ INSERT INTO testdb.table_hash VALUES
(4, 10.4, 'DDD', 40),
(5, 10.5, 'EEE', 50);
-## 验证插入数据正确性,在 MySQL Client 中执行 select 语句
+-- 验证插入数据正确性,在 MySQL Client 中执行 select 语句
SELECT * from testdb.table_hash;
+------+-------+------+------+
| k1 | k2 | k3 | k4 |
@@ -577,29 +570,29 @@ SELECT * from testdb.table_hash;
### 什么是 priority_networks?
-Doris 进程监听 IP 的 CIDR 格式表示的网段。如果部署的机器只有一个网段,可以不用配置。如果有两个或多个网段,务必做配置。
+`priority_networks` 是 Doris 进程监听 IP 的 CIDR
格式表示的网段。如果部署的机器只有一个网段,则无需配置此参数。若存在两个或多个网段,则必须进行配置。
-这个参数主要用于帮助系统选择正确的网卡 IP 作为自己的监听 IP。比如需要监听的 IP 为 192.168.0.1,则可以设置
priority_networks=192.168.0.0/24,系统会自动扫描机器上的所有 IP,只有匹配上 192.168.0.0/24
这个网段的才会去作为服务监听地址。这个参数也可以配置多个 CIDR 网段,比如 priority_networks = 10.10.0.0/16;
192.168.0.0/24。
+此参数的主要作用是帮助系统在选择监听 IP 时,能够自动匹配到正确的网卡 IP。例如,若需要监听的 IP 为 `192.168.0.1`,则可设置
`priority_networks=192.168.0.0/24`。系统会自动扫描所有 IP,并仅将匹配到 `192.168.0.0/24` 网段的 IP
作为服务监听地址。此外,该参数支持配置多个 CIDR 网段,使用逗号分隔,如 `priority_networks = 10.10.0.0/16,
192.168.0.0/24`。
:::tip
-**为什么采用 priority_networks 来配置监听地址段,为啥不直接在配置文件中设置监听的 IP 地址?**
+**为什么采用 priority_networks 配置监听地址段,而不直接在配置文件中设置监听 IP 地址?**
-主要的原因是 Doris
作为一个分布式集群,同样的配置文件会在多个节点上部署,为了部署和更新等维护的方便性,尽量所有节点的配置文件一致。采用这种配置监听地址网段,然后启动的时候,依据这个网段去找到合适的监听
IP,这样就解决了每个机器在这个配置上都可以使用一个值的需求了。
+主要原因在于 Doris 作为分布式集群,其配置文件需在多个节点上保持一致,以便于部署和更新。通过配置监听地址网段,并在启动时自动匹配合适的监听
IP,可确保各节点配置的一致性,简化管理。
:::
### 新的 BE 节点需要手动添加到集群
-BE 节点启动后,还需要通过 MySQL 协议或者内置的 Web 控制台,向 FE 发送命令,将启动的这个 BE 节点加入到集群。
+BE 节点启动后,需通过 MySQL 协议或内置的 Web 控制台,向 FE 发送命令,以将该 BE 节点加入集群。
:::tip
-FE 如何知道这个集群有哪些 BE 节点组成?
+**FE 如何知道这个集群有哪些 BE 节点组成?**
-Doris 作为一个分布式数据库,一般拥有众多 BE 节点,Doris 采用通过向 FE 发送添加 BE 节点的命令来添加相应的 BE,这个不同于 BE
节点自己知道 FE 节点的地址,然后主动汇报连接的方式。采用主动添加,FE 主动连接 BE
的方式,可以给集群管理带来更多益处,比如确定集群到底有哪些节点组成,比如可以主动下掉一个无法连接上的 BE 节点。
+Doris 作为一个分布式数据库,一般拥有众多 BE 节点,Doris 采用通过向 FE 发送添加 BE 节点的命令来添加相应的 BE,这个不同于 BE
节点自己知道 FE 节点的地址,然后主动汇报连接的方式。采用主动添加,FE 主动连接 BE
的方式,可以给集群管理带来更多益处,比如确定集群到底有哪些节点组成,比如可以主动移除一个无法连接上的 BE 节点。
:::
-### 如何快速检测 FE 启动成功
+### 如何快速检测 FE 启动成功?
-可以通过下面的命令来检查 Doris 是否启动成功
+可通过执行以下命令检查 Doris 是否启动成功:
```shell
# 重试执行下面命令,如果返回"msg":"success",则说明已经启动成功
@@ -609,15 +602,13 @@ server1:apache-doris/fe doris$ curl
http://127.0.0.1:8030/api/bootstrap
### Doris 提供内置的 Web UI 吗?
-Doris FE 内置 Web UI。用户无须安装 MySQL 客户端,即可通过 Web UI 来完成诸如添加 BE/FE 节点,以及运行其它 SQL 查询。
-
-在浏览器中输入 http://fe_ip:fe_port, 比如 http://172.20.63.118:8030,打开 Doris 内置的 Web
控制台。
+是的,Doris FE 内置 Web UI。用户无须安装 MySQL 客户端,即可通过 Web UI 来完成诸如添加 BE/FE 节点,以及运行其它 SQL
查询等操作。
-内置 Web 控制台,主要供集群 root 账户使用,默认安装后 root 账户密码为空。
+在浏览器中输入 http://fe_ip:fe_port, 例如 http://172.20.63.118:8030,即可打开 Doris 内置的 Web
控制台。该控制台主要供集群 root 账户使用,默认安装后 root 账户密码为空。

-比如,在 Playground 中,执行如下语句,可以完成对 BE 节点的添加。
+在 Playground 中,可执行如下语句添加 BE 节点:
```sql
ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";
@@ -625,10 +616,10 @@ ALTER SYSTEM ADD BACKEND
"be_host_ip:heartbeat_service_port";

-:::tip
-Playground 中执行这种和具体数据库/表没有关系的语句,务必在左侧库栏里随意选择一个数据库,才能执行成功,这个限制,稍后会去掉。
+:::tip 提示
+在 Playground 中执行与具体数据库/表无关的语句时,需在左侧库栏中任意选择一个数据库才能成功执行。此限制将在后续版本中移除。
:::
### 通过 Web UI 无法修改 root 密码
-当前内置的 Web 控制台,还不能执行 SET 类型的 SQL 语句,所以,在 Web 控制台,当前还不能通过执行 SET PASSWORD FOR
'root' = PASSWORD('your_password') `类似语句来修改 root 的密码,可以通过 MySQL Client 来修改 root
账户的密码。
+当前内置的 Web 控制台尚不支持执行 SET 类型的 SQL 语句,因此无法通过 Web UI 修改 root 密码。如需修改 root 账户密码,请使用
MySQL Client 执行相关命令。
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]