Doris 安装2.1.7
# Doris 安装
Doris 是面向分析查询的 MPP 数据库,适合承接明细查询、宽表分析、报表加速和部分湖仓分析场景。前面已经把 HDFS、Hive、Spark、Flink、Hue、Livy、Zeppelin、DolphinScheduler 这些基础和入口类组件装完,这时再补 Doris,后续就可以把批处理、调度和分析查询串起来。
本篇继续使用三台 FQDN 主机:
| 主机 | Doris 角色 |
|---|---|
hadoop1.test.com | DORIS_FE、DORIS_BE、DORIS_HDFS_BROKER |
hadoop2.test.com | DORIS_FE_OBSERVER、DORIS_BE、DORIS_HDFS_BROKER |
hadoop3.test.com | DORIS_FE_OBSERVER、DORIS_BE、DORIS_HDFS_BROKER |
这里把 FE 放在 hadoop1.test.com,另外两台放 Observer;BE 和 HDFS Broker 则三台都装。这个分配方式比较适合教程环境:入口清晰,计算存储节点也能均匀覆盖。
注意
Doris FE 的管理账号默认为 root。教程环境第一次登录时密码为空,安装完成后建议马上修改;生产环境请在安装前规划强密码、端口访问范围和审计策略。
# 1. 选择 Doris2 服务
进入 服务与组件,点击 新增服务,在增强组件列表里勾选 Doris2。

页面底部能看到已选服务为 Doris2。本篇只安装 Doris,不和 Atlas、Superset、Alluxio 这类组件一起勾选。Doris 自己的角色已经比较多,单独安装更容易看清每个角色的分配和启动状态。
# 2. 分配 Doris FE
Master 分配页里只有一个核心角色:DORIS_FE。

本次把 DORIS_FE 放在 hadoop1.test.com:
| 组件 | 主机 | 说明 |
|---|---|---|
DORIS_FE | hadoop1.test.com | 负责元数据管理、SQL 解析、查询调度和 Web 页面。 |
FE 是 Doris 的入口角色,后面访问 Web 页面和 MySQL 协议端口都会先找它。小集群里放在主节点最直观,生产环境再根据高可用规划补 Follower FE。
# 3. 调整 Observer、BE 和 Broker
Slave 分配页里会出现三个角色:DORIS_BE、DORIS_FE_OBSERVER、DORIS_HDFS_BROKER。
如果把 DORIS_FE 和 DORIS_FE_OBSERVER 放在同一台机器,页面会直接给出冲突提示。

这里把 Observer 从 hadoop1.test.com 移走,只保留在 hadoop2.test.com 和 hadoop3.test.com。BE 和 HDFS Broker 继续放到三台机器上。

最终分配如下:
| 组件 | 分配主机 | 说明 |
|---|---|---|
DORIS_BE | 三台主机 | 存储数据分片并执行查询任务。 |
DORIS_FE_OBSERVER | hadoop2.test.com、hadoop3.test.com | 只读 FE 节点,用于扩展元数据读取能力。 |
DORIS_HDFS_BROKER | 三台主机 | 访问 HDFS 外部数据时使用。 |
这一页没有 Client 组件,右侧会提示自动跳过。
# 4. 检查 Doris FE 配置
进入自定义配置页后,先看顶部状态。这里 待填写 0,说明必填项已经满足;不过 Doris 的端口和存储目录仍然建议看一遍。
FE 配置里重点看下面几项:

| 配置项 | 本次示例值 | 说明 |
|---|---|---|
edit_log_port | 9010 | FE 元数据日志同步端口。 |
rpc_port | 9020 | FE RPC 通信端口。 |
query_port | 9030 | MySQL 协议查询端口。 |
http_port | 8331 | Doris FE Web 页面端口。 |
fe_meta_dir | /var/lib/doris/metadata | FE 元数据目录。 |
fe_admin_password | 空 | 教程环境为空;生产环境建议设置强密码。 |
如果你在这里填写了 fe_admin_password,后面登录 Doris Web 和 MySQL 协议时就要使用对应密码。
# 5. 检查 Doris BE 配置
BE 配置主要看运行端口和数据目录。

| 配置项 | 本次示例值 | 说明 |
|---|---|---|
be_port | 9060 | BE Thrift 服务端口。 |
be_rpc_port | 9070 | BE RPC 通信端口。 |
heartbeat_service_port | 9050 | FE 与 BE 心跳端口。 |
brpc_port | 8060 | BE brpc 端口。 |
webserver_port | 8041 | BE Web 服务端口。 |
storage_root_path | /data1/doris,medium:HDD;/data2/doris,medium:SSD; | Doris 数据存储目录。 |
storage_root_path 最好提前结合磁盘规划确认。教程环境使用 /data1 和 /data2,生产环境建议挂载独立数据盘,不要把 Doris 数据直接堆到系统盘。
# 6. 确认安装清单
确认页会把新增服务、Master 分配、Slave 分配和配置校验集中列出来。

本次确认结果如下:
| 检查项 | 本次结果 |
|---|---|
| 新增服务 | DORIS |
| Master 分配 | DORIS_FE -> hadoop1.test.com |
| Slave 分配 | DORIS_BE 和 DORIS_HDFS_BROKER 分配到三台主机;DORIS_FE_OBSERVER 分配到 hadoop2.test.com、hadoop3.test.com |
| Client 分配 | 无 |
| 配置校验 | 必填项已填写 |
确认无误后点击 开始安装。
# 7. 等待 Doris 安装完成
开启 Kerberos 的集群中,新增 Doris 时会要求提交 KDC 管理员凭据。这里填写的是 KDC 管理员 Principal 和密码,用于生成并分发 Doris 相关 principal / keytab。
安装任务会依次完成软件包安装、配置下发、Kerberos 凭据生成、服务启动和服务检查。完成页显示 DORIS 后,就可以返回服务列表。

如果安装过程中失败,我会优先看三类信息:FE / BE 的启动日志、数据目录权限、端口是否被占用。Doris 的角色多,排查时最好先确定失败的是 FE、BE、Observer 还是 Broker,不要只看总任务状态。
# 8. 回到服务列表确认状态
回到 服务与组件 页面,Doris 会出现在 查询数据 分类下。

页面里可以看到:
| 组件 | 数量 | 状态 |
|---|---|---|
Doris FE | 3 | 运行中 |
Doris BE | 3 | 运行中 |
这里的 FE 3 包括 1 个 DORIS_FE 和 2 个 DORIS_FE_OBSERVER。如果页面显示 Doris 已经运行,但某个 BE 仍然不可用,优先检查 storage_root_path 对应目录是否存在、权限是否正确、磁盘是否可写。
# 9. 打开 Doris FE Web 页面
浏览器访问:
http://hadoop1.test.com:8331/
第一次打开会进入 Doris 登录页。

本篇演示环境使用 root 登录,密码为空。如果你在安装配置里设置了 fe_admin_password,这里就填写那个密码。
进入后还可以在 FE 节点用 MySQL 协议确认 Doris 集群成员:
mysql -h hadoop1.test.com -P 9030 -uroot
登录后执行:
SHOW FRONTENDS;
SHOW BACKENDS;
2
能看到 1 个 Follower FE、2 个 Observer FE,以及 3 个 Alive 的 BE,就说明 Doris 的 FE、Observer 和 BE 角色已经正常接入。到这里,Doris 的基础安装完成。下一篇继续安装 Celeborn,给 Spark 等计算服务准备分布式 Shuffle 能力。