This is an automated email from the ASF dual-hosted git repository. dataroaring 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 5ca93e1e41 [update](cloud) Improve build and deployment instruction of cloud mode (#736) 5ca93e1e41 is described below commit 5ca93e1e41f1530e785d6b081bc4b67ae1393a12 Author: Gavin Chou <gavineaglec...@gmail.com> AuthorDate: Fri Jul 12 09:53:30 2024 +0800 [update](cloud) Improve build and deployment instruction of cloud mode (#736) --- .../compute-storage-decoupled/before-deployment.md | 63 +++++- .../compilation-and-deployment.md | 4 +- .../compute-storage-decoupled/creating-cluster.md | 226 +++++++++++++++------ .../compute-storage-decoupled/meta-service-api.md | 42 ++-- .../current/compute-storage-decoupled/overview.md | 1 + .../install/cluster-deployment/doris-on-aws.md | 6 +- .../cluster-deployment/run-docker-cluster.md | 6 +- .../cluster-deployment/standard-deployment.md | 12 +- .../install/source-install/compilation-arm.md | 6 +- .../install/source-install/compilation-mac.md | 6 +- .../install/source-install/compilation-win.md | 6 +- .../source-install/compilation-with-docker.md | 6 +- .../compilation-with-ldb-toolchain.md | 6 +- 13 files changed, 290 insertions(+), 100 deletions(-) diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/before-deployment.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/before-deployment.md index 1634a184ff..8e300163be 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/before-deployment.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/before-deployment.md @@ -24,9 +24,9 @@ specific language governing permissions and limitations under the License. --> -存算分离架构部署方式示意图如下,共需要 3 个模块: +Doris存算分离架构部署方式示意图如下,共需要 3 个模块参与工作: -- **FE**:负责接收用户请求。 +- **FE**:负责接收用户请求,负责存储库表的元数据,目前是有状态的,未来会和BE类似,演化为无状态。 - **BE**:无状态化的 Doris BE 节点,负责具体的计算任务。BE 上会缓存一部分 Tablet 元数据和数据以提高查询性能。 - **Meta Service**:存算分离模式新增模块,程序名为 `doris_cloud`,可通过启动不同参数来指定为以下两种角色之一 - **Meta Service**:元数据管理,提供元数据操作的服务,例如创建 Tablet,新增 Rowset,Tablet 查询以及 Rowset 元数据查询等功能。 @@ -43,6 +43,63 @@ Doris 存算分离架构依赖于两个外部开源项目,为确保部署顺 - **FoundationDB (FDB)** - **OpenJDK17**: 需要安装到所有部署 Meta Service 的节点上。 + +## 部署步骤 + +Doris存算分离模式部署按照模块和分工是"从下往上"部署: +1. 存算分离模式机器规划,这一步在[本文档](./before-deployment.md)介绍。 +2. 部署fdb以及运行环境等基础的依赖,这一步不需要Doris的编译产出即可完成,在[本文档](./before-deployment.md)介绍。 +3. [部署meta-service以及recycler](./compilation-and-deployment.md) +4. [部署FE以及BE](./creating-cluster.md) + +注意:一套 fdb+meta-servce+recycler 基础环境可以支撑多个存算分离模式的Doris实例(多套FE+BE)。 + +## 部署规划 + +Doris存算分离模式推荐的方式是按照模块划分,尽量避免模块间相互影响。 +推荐的部署方式以及规划: +* meta-service,recycler 以及 fdb 使用同一批机器。要求大于等于3台。 + * 存算分离模式要正常运行至少要部署一个 meta-service 进程以及至少一个 recycler 进程。这两种进程是无状态的,可以按需增加部署数量,一般每种进程部署3个能够满足需求。 + * 为了保证 fdb 的性能,可靠性以及扩展性,fdb 需要使用多副本部署的方式。 +* FE单独部署,至少1台,可以按需实际查询需要多部署一些 +* BE单独部署,至少1台,可以按需实际查询需要多部署一些 + + +``` + host1 host2 + .------------------. .------------------. + | | | | + | FE | | BE | + | | | | + '------------------' '------------------' + + host3 host4 host5 +.------------------. .------------------. .------------------. +| recycler | | recycler | | recycler | +| meta-servcie | | meta-servcie | | meta-servcie | +| fdb | | fdb | | fdb | +'------------------' '------------------' '------------------' + +``` + + +如果机器数量有限,可以使用全混部的方式,所有模块部署在同一批机器,要求机器数量大于3台。 +如下是一种可行的规划。 + +``` + host1 host2 host3 +.------------------. .------------------. .------------------. +| | | | | | +| FE | | | | | +| | | BE | | BE | +| recycler | | | | | +| meta-servcie | | | | | +| fdb | | fdb | | fdb | +| | | | | | +'------------------' '------------------' '------------------' +``` + + ## 安装 FoundationDB ### 机器要求 @@ -280,7 +337,7 @@ Using cluster file `/etc/foundationdb/fdb.cluster'. The database is available. Welcome to the fdbcli. For help, type `help'. -fdb> coordinators 主机 ip:4500 从机 1ip:4500 从机 2ip:4500(需要填写所有机器) +fdb> coordinators ${主机ip}:4500 ${从机1ip}:4500 ${从机2ip}:4500(需要填写所有机器) Coordinators changed ``` diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/compilation-and-deployment.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/compilation-and-deployment.md index ef0792176b..71fc6923eb 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/compilation-and-deployment.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/compilation-and-deployment.md @@ -56,7 +56,7 @@ cp -r ms re ## 版本信息 -可通过两种方式检查`doris_cloud` 的版本信息,若其中一种方式无法正确执行,可尝试另一方式: +可通过两种方式检查`doris_cloud` 的版本信息,若其中一种方式无法正确执行,可尝试另一方式,在ms或者re目录下: - `bin/start.sh --version` - `lib/doris_cloud --version` @@ -155,4 +155,4 @@ pid=2682786 written to file=./bin/doris_cloud.pid version:{doris_cloud-0.0.0-debug} code_version:{commit=4517faffbf79b48d34a94abb22ee090f2d6e2007 time=2024-06-18 00:40:29 +0800} build_info:{initiator=gavinchou@VM-10-7-centos build_at=2024-06-18 00:40:29 +0800 build_on=NAME="TencentOS Server" VERSION="3.1 (Final)" } meta-service started -``` \ No newline at end of file +``` diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/creating-cluster.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/creating-cluster.md index 94eb9fa4af..9ea03307b0 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/creating-cluster.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/creating-cluster.md @@ -26,14 +26,17 @@ under the License. 本文档中,创建存算分离集群指的是在存算分离模式下,创建由多个 Doris 节点组成的分布式系统,包含 FE 和 BE 节点。随后,在存算分离模式的 Doris 集群下可创建计算集群,即创建由一个或多个 BE 节点组成的计算资源组。 -存算分离架构下,整个数仓的节点构成信息由 Meta Service 维护(注册 + 变更)。FE、BE 和 Meta Service 交互以实现服务发现和身份验证。 +一套 fdb+meta-service+recycler 基础环境可以支撑多个存算分离集群,一个存算分离集群又叫一个数仓实例(instance)。 + +存算分离架构下,数仓实例的节点构成信息由 Meta Service 维护(注册 + 变更)。FE、BE 和 Meta Service 交互以实现服务发现和身份验证。 创建存算分离集群主要涉及与 Meta Service 的交互,Meta Service 提供了标准的 [HTTP 接口](./meta-service-api.md)进行资源管理操作。 -创建存算分离集群的本质是描述该存算分离集群中的机器组成。创建基础的存算分离集群主要包括以下两步: +Doris 存算分离模式采用服务发现的机制进行工作,创建存算分离集群可以归纳为以下步骤: -1. 注册一个仓库(FE) -2. 注册一个或者多个计算集群(BE) +1. 注册声明数仓实例以及它的存储后端。 +2. 注册声明数仓实例中的 FE BE 节点组成,分别有哪些机器,如何组成集群。 +3. 配置并启动所有的 FE BE 节点。 :::info 备注 @@ -42,24 +45,42 @@ under the License. ::: -## 存算分离集群及其存储后端 +## 创建存算分离集群及其存储后端 -这一步骤的主要目的是在 Meta Service 注册一个存算分离模式的 Doris 数仓(一套 Meta Service 可支持多个不同的 Doris 数仓(即多套 FE-BE),包括描述该仓库所需的存储后端(Storage Vault,即[概览](./overview.md)中所提及的共享存储层),可以选择 HDFS 或者 S3(包括支持 S3 协议的对象存储,如 AWS S3、GCS、Azure Blob、阿里云 OSS 以及 MinIO、Ceph 等)。存储后端是 Doris 在存算分离模式中所使用的远程共享存储,可配置一个或多个存储后端,可将不同表存储在不同存储后端上。 +这一步骤的主要目的是在 Meta Service 注册一个存算分离模式的 Doris 数仓实例(一套 Meta Service 可支持多个不同的 Doris 数仓实例(即多套 FE-BE), +包括描述该数仓实例所需的存储后端(Storage Vault,即[概览](./overview.md)中所提及的共享存储层), +可以选择 HDFS 或者 S3(包括支持 S3 协议的对象存储,如 AWS S3、GCS、Azure Blob、阿里云 OSS 以及 MinIO、Ceph 等)。 +存储后端是 Doris 在存算分离模式中所使用的远程共享存储,可配置一个或多个存储后端,可将不同表存储在不同存储后端上。 此步骤需要调用 Meta Service 的 `create_instance` 接口,主要参数包括: -- `instance_id`:存算分离模式 Doris 数仓的 ID,要求该 ID 为历史唯一,一般使用 UUID 字符串,例如 6ADDF03D-4C71-4F43-9D84-5FC89B3514F8。本文档中为了简化使用普通字符串。 -- `name`:数仓名称,根据实际需求填写。 -- `user_id`:用户 ID,是一个字符串,按需填写。 -- `vault`:HDFS 或者 S3 的存储后端信息,如 HDFS 属性、S3 Bucket 信息等。 +- `instance_id`:存算分离架构下数仓实例的 ID,一般使用 UUID 字符串,需要匹配模式`[0-9a-zA-Z_-]+`,例如 6ADDF03D-4C71-4F43-9D84-5FC89B3514F8。本文档中为了简化使用普通字符串。 +- `name`:数仓实例名称,根据实际需求填写。要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+`,一般填业务名字 +- `user_id`:创建数仓实例的用户 ID,要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+`,用于标识创建人,按需填写。 +- `vault`:HDFS 或者 S3 的存储后端信息,如 HDFS 属性、S3 Bucket 信息等。不同的后端的详细参数会不一样。 + +更多信息请参考 [Meta Service API 参考文档](./meta-service-api.md) “创建存储后端的 Instance” 章节。 -更多信息请参考 [Meta Service API 参考文档](./meta-service-api.md)。 +**通过多次调用 meta-service `create_instance` 接口可以创建多个不同的存算分离集群(数仓实例/instance)。** ### 创建基于 HDFS 的存算分离模式 Doris 集群 创建基于 HDFS 的存算分离模式 Doris 集群,需要正确描述所有信息,并保证所有的节点(包括 FE / BE 节点、Meta Service 和 Recycler) 均有权限访问所指定的 HDFS,包括提前完成机器的 Kerberos 授权配置和连通性检查(可在对应的每个节点上使用 Hadoop Client 进行测试)等。 -Prefix 字段根据实际需求填写,一般以数仓所服务的业务命名。 +| 参数名 | 描述 | 是否必须 | 备注 | +| ---------------------------------------- | ----------------------------- | -------- | ------------------------------------------------ | +| instance_id | instance_id | 是 | 全局唯一(包括历史上),一般使用一个 UUID 字符串 | +| name | Instance 别名, 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 否 | | +| user_id | 创建 Instance 的用户 ID 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 是 | | +| vault | Storage Vault 的信息 | 是 | | +| vault.hdfs_info | 描述 HDFS 存储后端的信息 | 是 | | +| vault.build_conf | 描述 HDFS 存储后端主要信息 | 是 | | +| vault.build_conf.fs_name | HDFS 的名称,一般为连接的地址 | 是 | | +| vault.build_conf.user | 连接该 HDFS 使用的 User | 是 | | +| vault.build_conf.hdfs_kerberos_keytab | Kerberos Keytab 的路径 | 否 | 使用 Kerberos 鉴权时需要提供 | +| vault.build_conf.hdfs_kerberos_principal | Kerberos Principal 的信息 | 否 | 使用 Kerberos 鉴权时需要提供 | +| vault.build_conf.hdfs_confs | HDFS 的其他描述属性 | 否 | 按需填写 | +| vault.prefix | 数据存放的路径前缀,用于数据隔离 | 是 | 一般按照业务名称 例:big_data | **示例** @@ -98,6 +119,21 @@ curl -s "127.0.0.1:5000/MetaService/http/create_instance?token=greedisgood9999" - `external_endpoint` 保持与 `endpoint` 值相同即可。 - 如果使用非云厂商对象存储,region 和 provider 可填写任意值。 +| 参数名 | 描述 | 是否必须 | 备注 | +| -------------------------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ | +| instance_id | 存算分离架构下数仓实例的 ID,一般使用 UUID 字符串,需要匹配模式`[0-9a-zA-Z_-]+` | 是 | 例如 6ADDF03D-4C71-4F43-9D84-5FC89B3514F8 | +| name | Instance 别名, 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 否 | | +| user_id | 创建 Instance 的用户 ID 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 是 | | +| vault.obj_info | 对象存储配置信息 | 是 | | +| vault.obj_info.ak | 对象存储的 Access Key | 是 | | +| vault.obj_info.sk | 对象存储的 Secret Key | 是 | | +| vault.obj_info.bucket | 对象存储的 Bucket 名 | 是 | | +| vault.obj_info.prefix | 对象存储上数据存放位置前缀 | 否 | 若不填写该参数,则默认存放位置在 Bucket 的根目录,例:big_data | +| obj_info.endpoint | 对象存储的 Endpoint 信息 | 是 | 值为 域名或 IP:端口,不包含 `http://` 等 scheme 前缀 | +| obj_info.region | 对象存储的 Region 信息 | 是 | 若使用 MinIO,该参数可填任意值 | +| obj_info.external_endpoint | 对象存储的 External Endpoint 信息 | 是 | 一般与 Endpoint 一致即可,兼容 OSS,注意 OSS 有 External 和 Internal 之分 | +| vault.obj_info.provider | 对象存储的 Provider 信息,可选值包括:OSS, S3, COS, OBS, BOS, GCP, AZURE | 是 | 若使用 MinIO,直接填 S3 即可 | + **示例(腾讯云 COS)** ```Shell @@ -151,7 +187,7 @@ curl -s "127.0.0.1:5000/MetaService/http/create_instance?token=greedisgood9999" ### **名词解释** - `vault name`:每个存储后端的名称为数仓实例内全局唯一,除 `built-in vault` 外,`vault name` 由用户创建存储后端时指定。 -- `built-in vault`:存算分离模式下,用于存储 Doris 系统表的远程共享存储。须在创建数仓实例时配置。`built-in vault` 的固定名称为 `built_in_storage_vault`。配置 `built-in vault`后,数仓(FE)才能启动。 +- `built-in vault`:存算分离模式下,用于存储 Doris 系统表的远程共享存储。须在创建数仓实例时配置。`built-in vault` 的固定名称为 `built_in_storage_vault`。配置 `built-in vault`后,数仓实例(FE)才能启动。 - `default vault`:数仓实例级别的默认存储后端,用户可以指定某个存储后端为默认存储后端,包括 `built-in vault` 也可作为默认存储后端。由于存算分离模式中,数据必须要存储在某个远程共享存储上,因此如果用户建表时未在 `PROPERTIES` 中指定 `vault_name`,该表数据会存储在 `default vault` 上。`default vault` 可被重新设置,但是已经创建的表所使用的存储后端不会随之改变。 配置 `built-in vault` 后,还可按需创建更多存储后端。FE 启动成功后,可通过 SQL 语句进行存储后端操作,包括创建存储后端,查看存储后端以及指定存储后端进行建表等。 @@ -175,28 +211,28 @@ PROPERTIES ```SQL CREATE STORAGE VAULT IF NOT EXISTS ssb_hdfs_vault PROPERTIES ( - "type"="hdfs", -- required - "fs.defaultFS"="hdfs://127.0.0.1:8020", -- required - "path_prefix"="prefix", -- optional - "hadoop.username"="user" -- optional - "hadoop.security.authentication"="kerberos" -- optional + "type"="hdfs", -- required + "fs.defaultFS"="hdfs://127.0.0.1:8020", -- required + "path_prefix"="big/data", -- optional, 一般按照业务名称来填 + "hadoop.username"="user" -- optional + "hadoop.security.authentication"="kerberos" -- optional "hadoop.kerberos.principal"="hadoop/127.0.0.1@XXX" -- optional - "hadoop.kerberos.keytab"="/etc/emr.keytab" -- optional + "hadoop.kerberos.keytab"="/etc/emr.keytab" -- optional ); ``` **创建 S3 存储后端** ```SQL -CREATE STORAGE VAULT IF NOT EXISTS ssb_hdfs_vault +CREATE STORAGE VAULT IF NOT EXISTS ssb_s3_vault PROPERTIES ( - "type"="S3", -- required - "s3.endpoint" = "bj", -- required - "s3.region" = "bj", -- required - "s3.root.path" = "/path/to/root", -- required - "s3.access_key" = "ak", -- required - "s3.secret_key" = "sk", -- required - "provider" = "cos", -- required + "type"="S3", -- required + "s3.endpoint" = "oss-cn-beijing.aliyuncs.com", -- required + "s3.region" = "bj", -- required + "s3.root.path" = "big/data/prefix", -- required + "s3.access_key" = "ak", -- required + "s3.secret_key" = "sk", -- required + "provider" = "cos", -- required ); ``` @@ -206,17 +242,24 @@ CREATE STORAGE VAULT IF NOT EXISTS ssb_hdfs_vault ::: -**参数** - -| 参数 | 说明 | 示例 | -| ------------------------------ | ------------------- | ------------------------------- | -| type | 目前支持 S3 和 HDFS | s3 \| hdfs | -| fs.defaultFS | HDFS Vault 参数 | hdfs://127.0.0.1:8020 | -| hadoop.username | HDFS Vault 参数 | hadoop | -| hadoop.security.authentication | HDFS Vault 参数 | kerberos | -| hadoop.kerberos.principal | HDFS Vault 参数 | hadoop/127.0.0.1@XXX | -| hadoop.kerberos.keytab | HDFS Vault 参数 | /etc/emr.keytab | -| dfs.client.socket-timeout | HDFS Vault 参数 | dfs.client.socket-timeout=60000 | +**properties 参数** + +| 参数 | 说明 | 是否必须 | 示例 | +| ------------------------------| ------------------- | ------ | -------------------------------| +| type | 目前支持 S3 和 HDFS | 是 | s3 或者 hdfs | +| fs.defaultFS | HDFS Vault 参数 | 是 | hdfs://127.0.0.1:8020 | +| path_prefix | HDFS Vault 参数,数据存储的路径前缀,一般按照业务名称区分 | 否 | big/data/dir | +| hadoop.username | HDFS Vault 参数 | 否 | hadoop | +| hadoop.security.authentication| HDFS Vault 参数 | 否 | kerberos | +| hadoop.kerberos.principal | HDFS Vault 参数 | 否 | hadoop/127.0.0.1@XXX | +| hadoop.kerberos.keytab | HDFS Vault 参数 | 否 | /etc/emr.keytab | +| dfs.client.socket-timeout | HDFS Vault 参数, 单位毫秒 | 否 | 60000 | +| s3.endpiont | s3 Vault 参数 | 是 | oss-cn-beijing.aliyuncs.com | +| s3.region | s3 Vault 参数 | 是 | bj | +| s3.root.path | s3 Vault 参数, 实际存储数据的路径前缀 | 是 | /big/data/prefix | +| s3.access_key | s3 Vault 参数 | 是 | | +| s3.secret_key | s3 Vault 参数 | 是 | | +| provider | s3 Vault 参数, 目前支持 腾讯 COS,阿里 OSS,AWS S3,微软 AZURE,百度 BOS,华为 OBS,谷歌 GCP;若使用 MinIO,直接填 S3 即可 | 是 | cos | ### 查看存储后端 @@ -232,12 +275,12 @@ SHOW STORAGE VAULT ```SQL mysql> show storage vault; -+------------------------+----------------+-------------------------------------------------------------------------------------------------+-----------+ -| StorageVaultName | StorageVaultId | Propeties | IsDefault | -+------------------------+----------------+-------------------------------------------------------------------------------------------------+-----------+ -| built_in_storage_vault | 1 | build_conf { fs_name: "hdfs://127.0.0.1:8020" } prefix: "_1CF80628-16CF-0A46-54EE-2C4A54AB1519" | false | -| hdfs_vault | 2 | build_conf { fs_name: "hdfs://127.0.0.1:8020" } prefix: "_0717D76E-FF5E-27C8-D9E3-6162BC913D97" | false | -+------------------------+----------------+-------------------------------------------------------------------------------------------------+-----------+ ++------------------------+----------------+-------------------------------------------------------------------------------------------------------------+-----------+ +| StorageVaultName | StorageVaultId | Propeties | IsDefault | ++------------------------+----------------+-------------------------------------------------------------------------------------------------------------+-----------+ +| built_in_storage_vault | 1 | build_conf { fs_name: "hdfs://127.0.0.1:8020" } prefix: "_1CF80628-16CF-0A46-54EE-2C4A54AB1519" | false | +| hdfs_vault | 2 | build_conf { fs_name: "hdfs://127.0.0.1:8020" } prefix: "big/data/dir_0717D76E-FF5E-27C8-D9E3-6162BC913D97" | false | ++------------------------+----------------+-------------------------------------------------------------------------------------------------------------+-----------+ ``` ### 设置默认存储后端 @@ -333,11 +376,30 @@ REVOKE revoke usage_priv on storage vault my_storage_vault from user1 ``` -## 添加 FE +## 添加 FE + +存算分离模式下,FE 以及 BE 的节点管理使用的接口是相同的,只是参数配置不一样, +通过 meta-service `add_cluster` 接口进行 FE 以及 BE 的初始节点添加。 -存算分离模式下,FE 管理方式与 BE 类似,二者均进行分组管理,因此也是通过 `add_cluster` 等接口进行操作。 +`add_cluster` 接口的参数列表如下 -一般而言,只需建一个 FE 即可,如果需要新增 FE,可按如下操作: +| 参数名 | 描述 | 是否必须 | 备注 | +| ----------------------------- | ----------------------- | -------- | ------------------------------------------------------------ | +| instance_id | instance_id,存算分离架构下数仓实例的 ID,一般使用 UUID 字符串,需要匹配模式`[0-9a-zA-Z_-]+` | 是 | 全局唯一(包括历史上,每次调用此接口使用不一样的值) | +| cluster | Cluster 对象 | 是 | | +| cluster.cluster_name | Cluster 名称,需要匹配模式 `[a-zA-Z][0-9a-zA-Z_]+`| 是 | 其中 FE 的 Cluster 名称特殊,默认为 RESERVED_CLUSTER_NAME_FOR_SQL_SERVER,可在 fe.conf 中配置 cloud_observer_cluster_name 修改 | +| cluster.cluster_id | Cluster 的 ID | 是 | 其中 FE 的 Cluster ID 特殊,默认为 RESERVED_CLUSTER_ID_FOR_SQL_SERVER,可在 fe.conf 中配置 cloud_observer_cluster_id 修改 | +| cluster.type | Cluster 中节点的类型 | 是 | 支持:"SQL","COMPUTE" 两种 Type,"SQL"表示 SQL Service 对应 FE, "COMPUTE"表示计算机节点对应 BE | +| cluster.nodes | Cluster 中的节点数组 | 是 | | +| cluster.nodes.cloud_unique_id | 节点的 cloud_unique_id, 格式为 `1:<instance_id>:<string>`, 其中`string`要求匹配模式 `[0-9a-zA-Z_-]+` 每个节点选用不同的值 | 是 | fe.conf、be.conf 中的 cloud_unique_id 配置项 | +| cluster.nodes.ip | 节点的 IP | 是 | 使用 FQDN 模式部署 FE/BE 时,该字段填写域名 | +| cluster.nodes.host | 节点的域名 | 否 | 使用 FQDN 模式部署 FE/BE 时,需设置该字段 | +| cluster.nodes.heartbeat_port | BE 的 Heartbeat Port | BE 必填 | be.conf 中的 heartbeat_service_port 配置项 | +| cluster.nodes.edit_log_port | FE 节点的 Edit Log Port | FE 必填 | 是 fe.conf 中的 edit_log_port 配置项 | +| cluster.nodes.node_type | FE 节点的类型 | FE 必填 | 当 Cluster 的 Type 为 SQL 时,需要填写,分为"FE_MASTER" 和 "FE_OBSERVER",其中 "FE_MASTER" 表示此节点为 Master, "FE_OBSERVER" 表示此节点为 Observer,注意:一个 Type 为 "SQL" 的 Cluster 的 Nodes 数组中只能有一个 "FE_MASTER" 节点,和若干 "FE_OBSERVER" 节点 | + + +以下为添加一个 FE 的示例: ```Bash # 添加 FE @@ -358,29 +420,48 @@ curl '127.0.0.1:5000/MetaService/http/add_cluster?token=greedisgood9999' -d '{ } }' -# 创建成功后,通过 get_cluster 进行确认 +# 创建成功后,可以通过 get_cluster 返回值 进行确认 curl '127.0.0.1:5000/MetaService/http/get_cluster?token=greedisgood9999' -d '{ "instance_id":"sample_instance_id", "cloud_unique_id":"1:sample_instance_id:cloud_unique_id_sql_server00", "cluster_name":"RESERVED_CLUSTER_NAME_FOR_SQL_SERVER", "cluster_id":"RESERVED_CLUSTER_ID_FOR_SQL_SERVER" }' -cloud_unique_id` 是一个唯一字符串,格式为 `1:<instance_id>:<string>`。`ip`与 `edit_log_port` 根据 `fe.conf`填写。注意,FE 集群的 `cluster_name`与 `cluster_id` 恒定为 `"cluster_name":"RESERVED_CLUSTER_NAME_FOR_SQL_SERVER"` 和 `"cluster_id":"RESERVED_CLUSTER_ID_FOR_SQL_SERVER" ``` +上述接口中如果需要在初始操作就添加2个 FE,在 `nodes` 数组添多声明一个节点。 +如下为多声明一个 observer 的例子: +``` +... + "nodes":[ + { + "cloud_unique_id":"1:sample_instance_id:cloud_unique_id_sql_server00", + "ip":"172.21.16.21", + "edit_log_port":12103, + "node_type":"FE_MASTER" + }, + { + "cloud_unique_id":"1:sample_instance_id:cloud_unique_id_sql_server00", + "ip":"172.21.16.22", + "edit_log_port":12103, + "node_type":"FE_OBSERVER" + } + ] +... +``` +如果需要增加或者减少 FE 节点,可以参考后续 “计算集群操作” 章节。 + ## 创建计算集群 用户可创建一个或多个计算集群,一个计算集群由任意多个 BE 节点组成。 +也是通过 meta-service `add_cluter` 接口进行操作 -一个计算集群的组成包含多项关键信息: - -- `cloud_unique_id`:一个唯一字符串,格式为 `1:<instance_id>:<string>`,根据实际需求设置。需与 `be.conf` 的 `cloud_unique_id` 配置值相同。 -- `cluster_name cluster_id`:根据实际需求设置。 -- `ip`:根据实际需求填写。 -- `heartbeat_port`:BE 的心跳端口。 +接口描述在前文 “添加 FE” 章节已经描述。 用户可根据实际需求调整计算集群的数量及其所包含的节点数量,不同的计算集群需要使用不同的 `cluster_name` 和 `cluster_id`。 +如下是添加包含1个 BE 的 计算集群: + ```Bash # 172.19.0.11 # 添加 BE @@ -409,12 +490,33 @@ curl '127.0.0.1:5000/MetaService/http/get_cluster?token=greedisgood9999' -d '{ }' ``` +上述接口中如果需要在初始操作就添加2个 BE,在 `nodes` 数组添多声明一个节点。 +如下为声明一个包含2个 BE 的计算集群的例子: +``` +... + "nodes":[ + { + "cloud_unique_id":"1:sample_instance_id:cloud_unique_id_compute_node0", + "ip":"172.21.16.21", + "heartbeat_port":9455 + }, + { + "cloud_unique_id":"1:sample_instance_id:cloud_unique_id_compute_node0", + "ip":"172.21.16.22", + "heartbeat_port":9455 + } + ] +... +``` +如果需要增加或者减少 BE 节点,可以参考后续 “计算集群操作” 章节。 +如果需要多增加一些计算集群,重复本章节的操作即可。 + ## FE/BE 配置 -相较于存算一体模式,存算分离模式下的 FE 和 BE 配置增加了部分配置,其中: +相较于[存算一体模式](../cluster-deployment/standard-deployment.md),存算分离模式下的 FE 和 BE 配置增加了部分配置,其中: - `meta_service_endpoint`:Meta Service 的地址,需在 FE 和 BE 中填写。 -- `cloud_unique_id`:根据创建存算分离集群发往 Meta Service 请求中的实际值填写即可;Doris 通过该配置的值确定是否在存算分离模式下工作。 +- `cloud_unique_id`:根据创建存算分离集群发往 Meta Service `add_cluster` 请求中的实际值填写即可;Doris 通过该配置的值确定是否在存算分离模式下工作。 ### fe.conf @@ -443,7 +545,8 @@ file_cache_path = [{"path":"/mnt/disk1/doris_cloud/file_cache","total_size":1048 ## 启停 FE/BE -Doris 存算分离模式下,FE/BE 启停方式和存算一体模式下的启停方式一致。 +Doris 存算分离模式下,FE/BE 启停方式和[存算一体模式](../cluster-deployment/standard-deployment.md)下的启停方式一致。 +**存算分离模式属于服务发现的模式,不需通过 `alter system add/drop frontend/backend` 等命令操作节点。** ```Shell bin/start_be.sh --daemon @@ -453,8 +556,6 @@ bin/start_fe.sh --daemon bin/stop_fe.sh ``` -存算分离模式下,FE 会自动发现对应的 BE,不需通过 `alter system add` 或者 `drop backend` 等命令操作节点。 - 启动后观察日志,如果上述配置均正确,则说明已进入正常工作模式,可通过 MySQL 客户端连接 FE 进行访问。 ## 计算集群操作 @@ -517,7 +618,8 @@ curl '127.0.0.1:5000/MetaService/http/drop_node?token=greedisgood9999' -d '{ }' ``` -增加一个 FE Follower,以下示例中,`node_type` 为 `FE_MASTER` 表示该节点可以选为 Master,如果需要增加一个 Observer,将 `node_type` 设置为 OBSERVER 即可。 +增加一个 FE Observer,以下示例中,`node_type` 为 `FE_OBSERVE`, +**目前还不允许添加 FE Follower 角色** ```Plain curl '127.0.0.1:5000/MetaService/http/add_node?token=greedisgood9999' -d '{ @@ -531,7 +633,7 @@ curl '127.0.0.1:5000/MetaService/http/add_node?token=greedisgood9999' -d '{ "cloud_unique_id":"1:sample_instance_id:cloud_unique_id_sql_server00", "ip":"172.21.16.22", "edit_log_port":12103, - "node_type":"FE_MASTER" + "node_type":"FE_OBSERVER" } ] } diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/meta-service-api.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/meta-service-api.md index a1d8251f11..33a837c7fa 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/meta-service-api.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/meta-service-api.md @@ -44,9 +44,9 @@ PUT /MetaService/http/v1/create_instance?token=<token> HTTP/1.1 | 字段 | 描述 | 备注 | | --------------- | ------------------------------------------------------------ | ---------------------------------------------------------- | -| instance_id | 存算分离架构下数仓的 ID,一般使用 UUID 字符串 | 要求历史上唯一 | -| cloud_unique_id | 存算分离架构下 be.conf fe.conf 的一个配置,创建计算集群请求时也需提供,格式为 `1:<instance_id>:<string> ` | 示例 "1:regression_instance0:regression-cloud-unique-id-1" | -| cluster_name | 存算分离架构下描述一个计算集群时需要传入的字段,格式要求为一个 identifier, 需要匹配模式` [a-zA-Z][0-9a-zA-Z_]+` | 实例 write_cluster 或者 read_cluster0 | +| instance_id | 存算分离架构下数仓实例的 ID,一般使用 UUID 字符串,需要匹配模式`[0-9a-zA-Z_-]+` | 例如 6ADDF03D-4C71-4F43-9D84-5FC89B3514F8 | +| cloud_unique_id | 存算分离架构下 be.conf fe.conf 的一个配置,创建计算集群请求时也需提供,格式为 `1:<instance_id>:<string>`, 其中string要求匹配模式`[0-9a-zA-Z_-]+` 要求每个节点值不相同 | 示例 "1:regression_instance0:regression-cloud-unique-id-1" | +| cluster_name | 存算分离架构下描述一个计算集群时需要传入的字段,要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 实例 write_cluster 或者 read_cluster0 | ## 创建存储后端的 Instance @@ -93,9 +93,9 @@ Content-Type: text/plain | 参数名 | 描述 | 是否必须 | 备注 | | ---------------------------------------- | ----------------------------- | -------- | ------------------------------------------------ | -| instance_id | instance_id | 是 | 全局唯一(包括历史上),一般使用一个 UUID 字符串 | -| name | Instance 别名 | 否 | | -| user_id | 用户 ID | 是 | | +| instance_id | 存算分离架构下数仓实例的 ID,一般使用 UUID 字符串,需要匹配模式`[0-9a-zA-Z_-]+` |是 | 例如 6ADDF03D-4C71-4F43-9D84-5FC89B3514F8 | +| name | Instance 别名, 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 否 | | +| user_id | 创建 Instance 的用户 ID 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 是 | | | vault | Storage Vault 的信息 | 是 | | | vault.hdfs_info | 描述 HDFS 存储后端的信息 | 是 | | | vault.build_conf | 描述 HDFS 存储后端主要信息 | 是 | | @@ -104,7 +104,7 @@ Content-Type: text/plain | vault.build_conf.hdfs_kerberos_keytab | Kerberos Keytab 的路径 | 否 | 使用 Kerberos 鉴权时需要提供 | | vault.build_conf.hdfs_kerberos_principal | Kerberos Principal 的信息 | 否 | 使用 Kerberos 鉴权时需要提供 | | vault.build_conf.hdfs_confs | HDFS 的其他描述属性 | 否 | 按需填写 | -| vault.prefix | 数据存放的前缀 | 是 | | +| vault.prefix | 数据存放的路径前缀,用于数据隔离 | 是 | 一般按照业务名称 例:big_data | - 创建基于 HDFS 为存储后端的请求示例 @@ -168,14 +168,14 @@ Content-Type: text/plain | 参数名 | 描述 | 是否必须 | 备注 | | -------------------------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ | -| instance_id | instance_id | 是 | 全局唯一(包括历史上),一般使用一个 UUID 字符串 | -| name | Instance 名称 | 否 | | -| user_id | 创建 Instance 的用户 ID | 是 | | +| instance_id | 存算分离架构下数仓实例的 ID,一般使用 UUID 字符串,需要匹配模式`[0-9a-zA-Z_-]+` |是 | 例如 6ADDF03D-4C71-4F43-9D84-5FC89B3514F8 | +| name | Instance 别名, 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 否 | | +| user_id | 创建 Instance 的用户 ID 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 是 | | | vault.obj_info | S3 链接配置信息 | 是 | | | vault.obj_info.ak | S3 的 Access Key | 是 | | | vault.obj_info.sk | S3 的 Secret Key | 是 | | | vault.obj_info.bucket | S3 的 Bucket 名 | 是 | | -| vault.obj_info.prefix | S3 上数据存放位置前缀 | 否 | 若不填写该参数,则默认存放位置在 Bucket 的根目录 | +| vault.obj_info.prefix | S3 上数据存放位置前缀 | 否 | 若不填写该参数,则默认存放位置在 Bucket 的根目录,例:big_data | | obj_info.endpoint | S3 的 Endpoint 信息 | 是 | 域名或 IP:端口,不包含 `http://` 等 scheme 前缀 | | obj_info.region | S3 的 Region 信息 | 是 | 若使用 MinIO,该参数可填任意值 | | obj_info.external_endpoint | S3 的 External Endpoint 信息 | 是 | 一般与 Endpoint 一致即可,兼容 OSS,注意 OSS 有 External 和 Internal 之分 | @@ -280,9 +280,9 @@ Content-Type: text/plain | 参数名 | 描述 | 是否必须 | 备注 | | -------------------------- | ----------------------------------- | -------- | ------------------------------------------------ | -| instance_id | instance_id | 是 | 全局唯一(包括历史上),一般使用一个 UUID 字符串 | -| name | Instance 别名 | 否 | | -| user_id | 用户 ID | 是 | | +| instance_id | 存算分离架构下数仓实例的 ID,一般使用 UUID 字符串,需要匹配模式`[0-9a-zA-Z_-]+` |是 | 例如 6ADDF03D-4C71-4F43-9D84-5FC89B3514F8 | +| name | Instance 别名, 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 否 | | +| user_id | 创建 Instance 的用户 ID 要求匹配模式 `[a-zA-Z][0-9a-zA-Z_]+` | 是 | | | obj_info | S3 链接配置信息 | 是 | | | obj_info.ak | S3 的 Access Key | 是 | | | obj_info.sk | S3 的 Secret Key | 是 | | @@ -374,7 +374,7 @@ Content-Type: text/plain | 参数名 | 描述 | 是否必须 | 备注 | | ----------- | ----------- | -------- | ---------------------- | -| instance_id | instance_id | 是 | 全局唯一(包括历史上) | +| instance_id | instance_id | 是 | 全局唯一 | - 请求示例 @@ -432,7 +432,7 @@ Content-Type: text/plain | 参数名 | 描述 | 是否必须 | 备注 | | ----------- | ----------- | -------- | ---------------------- | -| instance_id | instance_id | 是 | 全局唯一(包括历史上) | +| instance_id | instance_id | 是 | 全局唯一 | - 请求示例 @@ -1008,7 +1008,7 @@ Content-Type: text/plain | 参数名 | 描述 | 是否必须 | 备注 | | ----------------------------- | ----------------------- | -------- | ------------------------------------------------------------ | -| instance_id | instance_id | 是 | 全局唯一(包括历史上) | +| instance_id | instance_id | 是 | 全局唯一 | | cluster | Cluster 对象 | 是 | | | cluster.cluster_name | Cluster 名称 | 是 | 其中 FE 的 Cluster 名称特殊,默认为 RESERVED_CLUSTER_NAME_FOR_SQL_SERVER,可在 fe.conf 中配置 cloud_observer_cluster_name 修改 | | cluster.cluster_id | Cluster 的 ID | 是 | 其中 FE 的 Cluster ID 特殊,默认为 RESERVED_CLUSTER_ID_FOR_SQL_SERVER,可在 fe.conf 中配置 cloud_observer_cluster_id 修改 | @@ -1019,7 +1019,7 @@ Content-Type: text/plain | cluster.nodes.host | 节点的域名 | 否 | 使用 FQDN 模式部署 FE/BE 时,需设置该字段 | | cluster.nodes.heartbeat_port | BE 的 Heartbeat Port | BE 必填 | be.conf 中的 heartbeat_service_port 配置项 | | cluster.nodes.edit_log_port | FE 节点的 Edit Log Port | FE 必填 | 是 fe.conf 中的 edit_log_port 配置项 | -| cluster.nodes.node_type | FE 节点的类型 | 是 | 当 Cluster 的 Type 为 SQL 时,需要填写,分为"FE_MASTER" 和 "FE_OBSERVER",其中 "FE_MASTER" 表示此节点为 Master, "FE_OBSERVER" 表示此节点为 Observer,注意:一个 Type 为 "SQL" 的 Cluster 的 Nodes 数组中只能有一个 "FE_MASTER" 节点,和若干 "FE_OBSERVER" 节点 | +| cluster.nodes.node_type | FE 节点的类型 | FE 必填 | 当 Cluster 的 Type 为 SQL 时,需要填写,分为"FE_MASTER" 和 "FE_OBSERVER",其中 "FE_MASTER" 表示此节点为 Master, "FE_OBSERVER" 表示此节点为 Observer,注意:一个 Type 为 "SQL" 的 Cluster 的 Nodes 数组中只能有一个 "FE_MASTER" 节点,和若干 "FE_OBSERVER" 节点 | - 请求示例 @@ -1348,10 +1348,10 @@ Content-Type: text/plain | cluster.nodes | Cluster 中的节点信息 | 是 | 数组 | | cluster.nodes.cloud_unique_id | 节点的 cloud_unique_id | 是 | fe.conf、be.conf 中的 cloud_unique_id 配置项 | | cluster.nodes.ip | 节点的 IP | 是 | 使用 FQDN 模式部署 FE/BE 时,该字段填写域名 | -| cluster.nodes.host | 节点的域名 | 否 | 使用 FQDN 模式部署 FE/BE 时,需设置该字段 | +| cluster.nodes.host | 节点的域名 | 否 | 使用 FQDN 模式部署 FE/BE 时,需设置该字段 | | cluster.nodes.heartbeat_port | BE 的 Heartbeat Port | BE 必填 | be.conf 中的 heartbeat_service_port 配置项 | | cluster.nodes.edit_log_port | FE 节点的 Edit Log Port | FE 必填 | 是 fe.conf 中的 edit_log_port 配置项 | -| cluster.nodes.node_type | FE 节点的类型 | 是 | 当 Cluster 的 Type 为 SQL 时,需要填写,分为"FE_MASTER" 和 "FE_OBSERVER",其中 "FE_MASTER" 表示此节点为 Master, "FE_OBSERVER" 表示此节点为 Observer,注意:一个 Type 为 "SQL" 的 Cluster 的 Nodes 数组中只能有一个 "FE_MASTER" 节点,和若干 "FE_OBSERVER" 节点 | +| cluster.nodes.node_type | FE 节点的类型 | FE 必填 | 当 Cluster 的 Type 为 SQL 时,需要填写,分为"FE_MASTER" 和 "FE_OBSERVER",其中 "FE_MASTER" 表示此节点为 Master, "FE_OBSERVER" 表示此节点为 Observer,注意:一个 Type 为 "SQL" 的 Cluster 的 Nodes 数组中只能有一个 "FE_MASTER" 节点,和若干 "FE_OBSERVER" 节点 | - 请求示例 @@ -1686,7 +1686,7 @@ Content-Type: text/plain | 参数名 | 描述 | 是否必须 | 备注 | | ----------- | ----------- | -------- | ---------------------- | -| instance_id | instance_id | 是 | 全局唯一(包括历史上) | +| instance_id | instance_id | 是 | 全局唯一 | - 请求示例 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/overview.md index e42676d6aa..125f78930f 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/overview.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/overview.md @@ -64,6 +64,7 @@ Meta Service 是 Doris 存算分离元数据服务,主要负责处理导入事 共享存储主要存放数据文件,包括 Segment 文件、反向索引的索引文件等。 + ## 如何选择 ### 存算一体的优点 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/doris-on-aws.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/doris-on-aws.md index 2e356f0fd4..1b1b79ea58 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/doris-on-aws.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/doris-on-aws.md @@ -30,6 +30,10 @@ under the License. 当然,您也可以自行购买 AWS 资源,采用标准的手动方式进行集群部署。 +:::tip +目前还不支持存算分离模式编译部署 +::: + ## 什么是 AWS CloudFormation? CloudFormation 允许用户只用一个步骤就可以创建一个“资源堆栈”。资源是指用户所创建的东西(如 EC2 实例、VPC、子网等),一组这样的资源称为堆栈。用户可以编写一个模板,使用它可以很容易地按照用户的意愿通过一个步骤创建一个资源堆栈。这比手动创建并且配置更快,而且可重复,一致性更好。并且可以将模板放入源代码做版本控制,在任何时候根据需要把它用于任何目的。 @@ -125,4 +129,4 @@ https://sdb-cloud-third-party.s3.amazonaws.com/doris-cf/cloudformation_doris.tem - 默认的 root 密码:空 -- 默认的 admin 密码:空 \ No newline at end of file +- 默认的 admin 密码:空 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/run-docker-cluster.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/run-docker-cluster.md index 0d4ba6667d..12fd07aa56 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/run-docker-cluster.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/run-docker-cluster.md @@ -28,6 +28,10 @@ under the License. 该文档主要介绍了如何通过 Dockerfile 来制作 Apache Doris 的运行镜像,以便于在容器化编排工具或者快速测试过程中可迅速拉取一个 Apache Doris Image 来完成集群的创建和运行。 +:::tip +目前还不支持存算分离模式编译部署 +::: + ## 软硬件要求 **概述** @@ -332,4 +336,4 @@ services: 1. 执行 `docker run` 命令创建集群 -2. 保存 `docker-compose.yaml` 脚本,同目录下执行 `docker-compose up -d` 命令创建集群 \ No newline at end of file +2. 保存 `docker-compose.yaml` 脚本,同目录下执行 `docker-compose up -d` 命令创建集群 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/standard-deployment.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/standard-deployment.md index 709a928dc3..03856ae12d 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/standard-deployment.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/cluster-deployment/standard-deployment.md @@ -25,15 +25,19 @@ under the License. 手动部署 Doris 集群,通常要进行四步规划: 1. 软硬件环境检查:检查用户的硬件资源情况及操作系统兼容性 - 2. 操作系统检查:检查操作系统参数及配置 - 3. 集群规划:规划集群的 FE、BE 节点,预估使用资源情况 - 4. 集群部署:根据部署规划进行集群部署操作 - 5. 部署验证:登录并验证集群正确性 +:::tip +如果需要部署存算分离模式, 在完成上述 1 2 3 步之后, +参考以下链接继续完成存算分离模式部署 +1. [存算分离部署前准备](../compute-storage-decoupled/before-deployment.md) +2. [存算分离基础模块部署](../compute-storage-decoupled/compilation-and-deployment.md) +3. [存算分离创建集群](../compute-storage-decoupled/creating-cluster.md) +::: + ## 1 软硬件环境检查 ### 硬件检查 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-arm.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-arm.md index 734990a223..37a64a44b3 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-arm.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-arm.md @@ -31,6 +31,10 @@ import TabItem from '@theme/TabItem'; 注意,该文档仅作为指导性文档。在不同环境中编译可能出现其他错误。如遇问题,欢迎向 Doris [提出 Issue](https://github.com/apache/doris/issues) 或解决方案。 +:::tip +目前还不支持存算分离模式编译部署 +::: + ## 硬件/操作系统环境 - 系统版本:CentOS 7.9、Ubuntu 20.04 @@ -393,4 +397,4 @@ sh build.sh --clean - 查看 gcc 版本是否与[使用 LDB-Toolchain 编译](../../install/source-install/compilation-with-ldb-toolchain)文档中推荐一致 -- 删除 `ldb_toolchain_gen.aarch64.sh` 脚本执行后的 ldb 目录,重新执行并配置环境变量,验证 gcc 版本 \ No newline at end of file +- 删除 `ldb_toolchain_gen.aarch64.sh` 脚本执行后的 ldb 目录,重新执行并配置环境变量,验证 gcc 版本 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-mac.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-mac.md index af7b8323a1..78a0783bf7 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-mac.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-mac.md @@ -27,6 +27,10 @@ under the License. 本文介绍如何在 macOS 平台上编译源码。 +:::tip +目前还不支持存算分离模式编译部署 +::: + ## 环境要求 - macOS 12 (Monterey) 及以上(***Intel 和 Apple Silicon 均支持***) @@ -106,4 +110,4 @@ cd installed/bin ./thrift --version ``` -运行`protoc`和`thrift`的时候可能会遇到**无法打开,因为无法验证开发者**的问题,可以到前往`安全性与隐私`。点按`通用`面板中的`仍要打开`按钮,以确认打算打开该二进制。参考 https://support.apple.com/zh-cn/HT202491。 \ No newline at end of file +运行`protoc`和`thrift`的时候可能会遇到**无法打开,因为无法验证开发者**的问题,可以到前往`安全性与隐私`。点按`通用`面板中的`仍要打开`按钮,以确认打算打开该二进制。参考 https://support.apple.com/zh-cn/HT202491。 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-win.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-win.md index 50e9df5d9c..9bd9704b22 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-win.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-win.md @@ -26,6 +26,10 @@ under the License. 本文介绍如何在 Windows 平台上编译源码,借助 Windows 的 WSL 功能,可以通过在 Windows 上启动 Linux 系统来编译 Doris。 +:::tip +目前还不支持存算分离模式编译部署 +::: + ## 环境要求 1. 必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用。 @@ -46,4 +50,4 @@ under the License. ## 注意事项 -默认 WSL2 的发行版数据存储盘符为 C 盘,如有需要提前切换存储盘符,以防止系统盘符占满。 \ No newline at end of file +默认 WSL2 的发行版数据存储盘符为 C 盘,如有需要提前切换存储盘符,以防止系统盘符占满。 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-docker.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-docker.md index 53d4208ca3..8d9b069d33 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-docker.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-docker.md @@ -26,6 +26,10 @@ under the License. 本文介绍如何使用 Doris 官方提供的编译镜像来编译 Doris,由于此镜像由官方维护,且会随编译依赖及时更新,所以推荐用户使用这种方式编译 +:::tip +目前还不支持存算分离模式编译部署 +::: + ## 安装 Docker 比如在 CentOS 下,执行命令安装 Docker @@ -145,4 +149,4 @@ $ cat /proc/cpuinfo | grep avx2 ## 自行编译开发环境镜像 -可以自己创建一个 Doris 开发环境镜像,具体可参阅 `docker/README.md` 文件。 \ No newline at end of file +可以自己创建一个 Doris 开发环境镜像,具体可参阅 `docker/README.md` 文件。 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-ldb-toolchain.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-ldb-toolchain.md index fa5044f1f4..9c71754bef 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-ldb-toolchain.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation-with-ldb-toolchain.md @@ -133,7 +133,8 @@ $ USE_AVX2=0 sh build.sh $ BUILD_TYPE=Debug sh build.sh ``` -该脚本会先编译第三方库,之后再编译 Doris 组件(FE、BE)。编译产出在 `output/` 目录下。 +该脚本会先编译第三方库,之后再编译 Doris 组件(FE、BE、MS)。编译产出在 `output/` 目录下。 +MS模块是doris存算分离模式依赖的模块, 详细说明请参考[此连接](../compute-storage-decoupled/compilation-and-deployment.md) ## 预编译三方库 @@ -145,4 +146,5 @@ https://github.com/apache/doris-thirdparty/releases 这里我们提供了 Linux 和 MacOS 的预编译三方库。如果和你的编译运行环境一致,可以直接下载使用。 -下载好后,解压会得到一个 `installed/` 目录,将这个目录拷贝到 `thirdparty/` 目录下,之后运行 `build.sh` 即可。 \ No newline at end of file +下载好后,解压会得到一个 `installed/` 目录,将这个目录拷贝到 `thirdparty/` 目录下,之后运行 `build.sh` 即可。 + --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org