diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/gettingStarted/quick-start.mdx b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/gettingStarted/quick-start.mdx index a3a277969dd40..a1d16e33a3ba4 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/gettingStarted/quick-start.mdx +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/gettingStarted/quick-start.mdx @@ -1,267 +1,281 @@ --- -{ - "title": "快速体验 Apache Doris", - "language": "zh-CN", - "description": "自 Doris 2.1.8 版本后,可以使用 Docker 进行快速部署。" -} +title: 快速体验 Apache Doris +language: zh-CN +description: 自 Doris 2.1.8 版本后,可以使用 Docker 进行快速部署。 --- -:::caution 警告: +> ⚠️ **警告** +> +> 以下快速部署方法**仅用于本地开发和测试**,**请勿用于生产环境**。原因如下: +> +> 1. **数据易丢失:** Docker 部署在容器销毁时会丢失数据;手动部署单副本实例不具备数据冗余备份能力,机器宕机可能导致数据丢失。 +> 2. **单副本配置:** 示例中的建表语句均为单副本,生产环境应使用多副本存储数据,以保证数据可靠性。 -以下快速部署方法**仅用于本地开发和测试**,**请勿用于生产环境**。原因如下: - -1. **数据易丢失:** Docker 部署在容器销毁时会丢失数据;手动部署单副本实例不具备数据冗余备份能力,机器宕机可能导致数据丢失。 - -2. **单副本配置:** 示例中的建表语句均为单副本,生产环境应使用多副本存储数据,以保证数据可靠性。 - -::: +--- -## 使用 Docker 快速部署 +# 使用 Docker 快速部署 自 Doris 2.1.8 版本后,可以使用 Docker 进行快速部署。 -### 第 1 步:下载 Quick-Start 脚本 +## 第 1 步:下载 Quick-Start 脚本 - 下载脚本 , 运行以下命令,给其赋有相应的执行权限。 +下载脚本后,赋予执行权限: ```shell chmod 755 start-doris.sh ``` +## 第 2 步:启动集群 -### 第 2 步:启动集群 - -运行脚本,启动集群,默认使用 `4.0.1` 版本 +默认启动 4.0.1 版本: ```shell bash start-doris.sh ``` -可通过 -v 参数指定启动版本,如: +指定版本启动: ```shell bash start-doris.sh -v 2.1.8 ``` -### 第 3 步:使用 MySQL 客户端连接集群,并检查集群状态 +## 第 3 步:检查集群状态 -```sql -## 检查 FE 状态,确定 Join 与 Alive 列均为 true +### 检查 FE 状态 + +```shell mysql -uroot -P9030 -h127.0.0.1 -e 'SELECT `host`, `join`, `alive` FROM frontends()' -+-----------+------+-------+ -| host | join | alive | -+-----------+------+-------+ -| 127.0.0.1 | true | true | -+-----------+------+-------+ +``` -## 检查 BE 状态,确定 Alive 列为 true -mysql -uroot -P9030 -h127.0.0.1 -e 'SELECT `host`, `alive` FROM backends()' -+-----------+-------+ -| host | alive | -+-----------+-------+ -| 127.0.0.1 | 1 | -+-----------+-------+ +### 检查 BE 状态 +```shell +mysql -uroot -P9030 -h127.0.0.1 -e 'SELECT `host`, `alive` FROM backends()' ``` +--- +# 本地快速部署 -## 本地快速部署 +## 环境建议 -:::info 环境建议: +- 操作系统:推荐 Ubuntu 等主流 Linux 环境 +- Java 环境:建议使用 Java 17 +- 用户权限:建议新建 doris 用户,避免使用 root -* **操作系统:** 推荐使用 Ubuntu 等 AMD/ARM 主流 Linux 环境。 +--- -* **Java 环境:** 建议使用 Java 17 运行环境。 +## 第 1 步:下载二进制包 -* **用户权限:** 建议在 Linux 上新建一个 Doris 用户,避免使用 root 用户进行操作。 +从 Apache Doris 官方网站下载对应版本的二进制包并解压。 -::: +--- -### 第 1 步:下载二进制包 +## 第 2 步:修改环境变量 -从 Apache Doris 网站 [下载页面](https://doris.apache.org/zh-CN/download) 下载对应的 Doris 二进制安装包,并解压到指定目录。 +### 修改最大文件句柄数 -### 第 2 步:修改环境变量 +编辑: -1. **修改系统最大打开文件句柄数** +```shell +vi /etc/security/limits.conf +``` - 通过以下命令可以调整最大文件句柄数。在调整后,需要重启会话以生效配置: +添加: - ```sql - vi /etc/security/limits.conf - * soft nofile 1000000 - * hard nofile 1000000 - ``` +```text +* soft nofile 1000000 +* hard nofile 1000000 +``` -2. **修改虚拟内存区域** +--- - 通过以下命令可以永久修改虚拟内存区域至少为 2000000,并立即生效: +### 修改虚拟内存区域 - ```bash - cat >> /etc/sysctl.conf << EOF - vm.max_map_count = 2000000 - EOF +```shell +cat >> /etc/sysctl.conf << EOF +vm.max_map_count = 2000000 +EOF - ## Take effect immediately - sudo sysctl -p - ``` +sudo sysctl -p +``` -### 第 3 步:安装 FE +--- -1. **配置 FE** +## 第 3 步:安装 FE - 编辑 FE 配置文件 apache-doris/fe/conf/fe.conf,修改以下参数: +### 修改 FE 配置 - ```sql - ## 指定 Java 环境 - JAVA_HOME=/home/doris/jdk +编辑: - # 指定 FE 监听 IP 的 CIDR 网段 - priority_networks=127.0.0.1/32 - ``` +```shell +apache-doris/fe/conf/fe.conf +``` -2. **启动 FE** +修改: - 执行 start_fe.sh 脚本启动 FE 进程: +```text +JAVA_HOME=/home/doris/jdk +priority_networks=127.0.0.1/32 +``` - ```sql - apache-doris/fe/bin/start_fe.sh --daemon - ``` +### 启动 FE -3. **检查 FE 状态** +```shell +apache-doris/fe/bin/start_fe.sh --daemon +``` - 使用 MySQL 客户端连接集群,并检查集群状态: +### 检查 FE 状态 - ```sql - ## 检查 FE 状态,确定 Join 与 Alive 列均为 true - mysql -uroot -P9030 -h127.0.0.1 -e "show frontends;" - +-----------------------------------------+-----------+-------------+----------+-----------+---------+----------+----------+-----------+------+-------+-------------------+---------------------+----------+--------+-------------------------+------------------+ - | Name | Host | EditLogPort | HttpPort | QueryPort | RpcPort | Role | IsMaster | ClusterId | Join | Alive | ReplayedJournalId | LastHeartbeat | IsHelper | ErrMsg | Version | CurrentConnected | - +-----------------------------------------+-----------+-------------+----------+-----------+---------+----------+----------+-----------+------+-------+-------------------+---------------------+----------+--------+-------------------------+------------------+ - | fe_9d0169c5_b01f_478c_96ab_7c4e8602ec57 | 127.0.0.1 | 9010 | 8030 | 9030 | 9020 | FOLLOWER | true | 656872880 | true | true | 276 | 2024-07-28 18:07:39 | true | | doris-2.0.12-2971efd194 | Yes | - +-----------------------------------------+-----------+-------------+----------+-----------+---------+----------+----------+-----------+------+-------+-------------------+---------------------+----------+--------+-------------------------+------------------+ - ``` +```shell +mysql -uroot -P9030 -h127.0.0.1 -e "show frontends;" +``` -### 第 4 步:安装 BE +--- -1. **配置 BE** +## 第 4 步:安装 BE - 修改 BE 配置文件 `apache-doris/be/conf/be.conf` 的以下内容: +### 修改 BE 配置 - ```sql - ## 指定 Java 环境 - JAVA_HOME=/home/doris/jdk +编辑: - # 指定 FE 监听 IP 的 CIDR 网段 - priority_networks=127.0.0.1/32 - ``` +```shell +apache-doris/be/conf/be.conf +``` -2. **启动 BE** +修改: - 通过以下命令启动 BE 进程: +```text +JAVA_HOME=/home/doris/jdk +priority_networks=127.0.0.1/32 +``` - ```sql - apache-doris/be/bin/start_be.sh --daemon - ``` +### 启动 BE -3. **在集群中注册 BE 节点** +```shell +apache-doris/be/bin/start_be.sh --daemon +``` - 使用 MySQL 客户端连接 Doris: +### 注册 BE 节点 - ```sql - mysql -uroot -P9030 -h127.0.0.1 - ``` +```shell +mysql -uroot -P9030 -h127.0.0.1 +``` - 使用 ADD BACKEND 命令注册 BE 节点: +```sql +ALTER SYSTEM ADD BACKEND "127.0.0.1:9050"; +``` - ```sql - ALTER SYSTEM ADD BACKEND "127.0.0.1:9050"; - ``` +### 检查 BE 状态 -4. **检查 BE 状态** +```shell +mysql -uroot -P9030 -h127.0.0.1 -e "show backends;" +``` - 使用 MySQL 客户端连接集群,并检查集群状态: +--- - ```sql - ## 检查 BE 状态,确定 Alive 列为 true - mysql -uroot -P9030 -h127.0.0.1 -e "show backends;" - +-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+ - | BackendId | Host | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime | LastHeartbeat | Alive | SystemDecommissioned | TabletNum | DataUsedCapacity | TrashUsedCapcacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | RemoteUsedCapacity | Tag | ErrMsg | Version | Status | HeartbeatFailureCounter | NodeRole | - +-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+ - | 10156 | 127.0.0.1 | 9050 | 9060 | 8040 | 8060 | 2024-07-28 17:59:14 | 2024-07-28 18:08:24 | true | false | 14 | 0.000 | 0.000 | 8.342 GB | 19.560 GB | 57.35 % | 57.35 % | 0.000 | {"location" : "default"} | | doris-2.0.12-2971efd194 | {"lastSuccessReportTabletsTime":"2024-07-28 18:08:14","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false} | 0 | mix | - +-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+ - ``` +# 运行查询 -## 运行查询 +## 连接数据库 -1. **使用 MySQL 客户端连接集群** +```shell +mysql -uroot -P9030 -h127.0.0.1 +``` - ```sql - mysql -uroot -P9030 -h127.0.0.1 - ``` +--- -2. **创建数据库与测试表** +## 创建数据库与测试表 - ```sql - create database demo; +> ⚠️ 本地单 BE 环境必须指定 `"replication_num" = "1"` - use demo; - create table mytable - ( - k1 TINYINT, - k2 DECIMAL(10, 2) DEFAULT "10.05", - k3 CHAR(10) COMMENT "string column", - k4 INT NOT NULL DEFAULT "1" COMMENT "int column" - ) - COMMENT "my first table" - DISTRIBUTED BY HASH(k1) BUCKETS 1 - PROPERTIES ( +```sql +CREATE DATABASE demo; + +USE demo; + +CREATE TABLE mytable +( + k1 TINYINT, + k2 DECIMAL(10, 2) DEFAULT "10.05", + k3 CHAR(10) COMMENT "string column", + k4 INT NOT NULL DEFAULT "1" COMMENT "int column" +) +COMMENT "my first table" +DISTRIBUTED BY HASH(k1) BUCKETS 1 +PROPERTIES ( "replication_num" = "1" - ); - ``` +); +``` + +--- + +## 插入测试数据 -3. **导入测试数据** +```sql +INSERT INTO mytable VALUES +(1,0.14,'a1',20), +(2,1.04,'b2',21), +(3,3.14,'c3',22), +(4,4.35,'d4',23); +``` - 使用 Insert Into 语句插入测试数据 +--- - ```sql - insert into mytable values - (1,0.14,'a1',20), - (2,1.04,'b2',21), - (3,3.14,'c3',22), - (4,4.35,'d4',23); - ``` +## 查询数据 + +```sql +SELECT * FROM demo.mytable; +``` -4. **在 MySQL 客户端中执行以下 SQL 语句可以查看到已导入的数据:** +--- - ```sql - MySQL [demo]> select * from demo.mytable; - +------+------+------+------+ - | k1 | k2 | k3 | k4 | - +------+------+------+------+ - | 1 | 0.14 | a1 | 20 | - | 2 | 1.04 | b2 | 21 | - | 3 | 3.14 | c3 | 22 | - | 4 | 4.35 | d4 | 23 | - +------+------+------+------+ - 4 rows in set (0.10 sec) - ``` +# 常见问题 -## 常见问题 +## Q1: Mac 如何安装 Docker? -**Q: 如何在 Mac 上安装 Docker?** +下载并安装 Docker Desktop。 -A: 下载并安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/)。 +--- -**Q: Mac: 安装 Docker Desktop 后仍提示 "Error: Docker environment not detected"** +## Q2: Docker 环境未检测到? -A: 创建符号链接: +创建符号链接: ```shell sudo ln -s /Applications/Docker.app/Contents/Resources/bin/docker /usr/local/bin/docker ``` -**Q: Mac: "error getting credentials - err: exit status 1, out: \`\`"** +--- + +## Q3: error getting credentials? + +删除: + +```shell +~/.docker/config.json +``` + +中的 `credsStore` 字段(仅限本地开发环境)。 + +--- + +## Q4: replication num 报错? + +错误信息: + +``` +replication num should be less than the number of available backends +``` + +解决方案: + +建表时必须显式指定: + +```sql +PROPERTIES ( + "replication_num" = "1" +); +``` + +--- -A: 此错误通常由 Docker 凭据助手配置问题导致。对于本地开发/测试环境,可以删除 `~/.docker/config.json` 中的 `credsStore` 字段作为临时解决方案。注意:此方法会以明文存储凭据,仅建议在本地开发环境中使用。