百度数据仓库Palo Doris版安装部署往这看!(下)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 百度数据仓库Palo Doris版安装部署往这看!

扩容缩容

Doris 可以很方便的扩容和缩容 FE、BE、Broker 实例。

FE 扩容和缩容

可以通过将 FE 扩容至 3 个以上节点来实现 FE 的高可用。

用户可以通过 mysql 客户端登陆 Master FE。通过:

SHOW PROC '/frontends';

来查看当前 FE 的节点情况。

FE 节点的扩容和缩容过程,不影响当前系统运行。

1.    增加 FE 节点

FE 分为 Follower 和 Observer 两种角色。其中多个 Follower 行程可选组组,自动选择出一个作为 Leader。一个集群,只能有一个 Leader,其余为 Follower 和 Observer。如果 Leader 宕机,则剩下的 Follower 会自动选出新的 Leader,保证写入高可用。Observer 同步 Leader 的数据,但是不参加选举。如果只部署一个 FE,则 FE 默认就是 Leader。

第一个启动的 FE 自动成为 Leader。在此基础上,可以添加若干 Follower 和 Observer。

添加 Follower 或 Observer。使用 mysql-client 连接到已启动的 FE,并执行:

ALTER SYSTEM ADD FOLLOWER "host:port";

ALTER SYSTEM ADD OBSERVER "host:port";

其中 host 为 Follower 或 Observer 所在节点 ip,port 为其配置文件 fe.conf 中的 edit_log_port。

配置及启动 Follower 或 Observer。Follower 和 Observer 的配置同 Leader 的配置。第一次启动时,需执行以下命令:

./bin/start_fe.sh --helper host:port --daemon

其中 host 为 Leader 所在节点 ip, port 为 Leader 的配置文件 fe.conf 中的 edit_log_port。--helper 参数仅在 follower 和 observer 第一次启动时才需要。

查看 Follower 或 Observer 运行状态。使用 mysql-client 连接到任一已启动的 FE,并执行:SHOW PROC '/frontends'; 可以查看当前已加入集群的 FE 及其对应角色。

FE 扩容注意事项:

1. Follower FE(包括 Leader)的数量必须为奇数,建议最多部署 3 个组成高可用(HA)模式即可。

2. 当 FE 处于高可用部署时(1个 Leader,2个 Follower),我们建议通过增加 Observer FE 来扩展 FE 的读服务能力。当然也可以继续增加 Follower FE,但几乎是不必要的。

3. 通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下。而通常 3 个即可满足绝大部分需求。

4. helper 不能指向 FE 自身,必须指向一个或多个已存在并且正常运行中的 Master/Follower FE。

2.    删除 FE 节点

使用以下命令删除对应的 FE 节点:

ALTER SYSTEM DROP FOLLOWER[OBSERVER] "fe_host:edit_log_port";

FE 缩容注意事项:

1. 删除 Follower FE 时,确保最终剩余的 Follower(包括 Leader)节点为奇数。

2. 不可删除当前 Leader FE 节点。如需删除 Leader,请先将 Leader 节点服务杀掉,等自动选出新的 Leader 后,在通过命令删除这个节点。

BE 扩容和缩容

用户可以通过 mysql-client 登陆 Leader FE。通过:

SHOW PROC '/backends';

来查看当前 BE 的节点情况。

BE 节点的扩容和缩容过程,不影响当前系统运行以及正在执行的任务,并且不会影响当前系统的性能。数据均衡会自动进行。根据集群现有数据量的大小,集群会在几个小时到1天不等的时间内,恢复到负载均衡的状态。

3.    增加 BE 节点

BE 节点的增加方式同 BE 部署 一节中的方式,通过 ALTER SYSTEM ADD BACKEND 命令增加 BE 节点。

BE 扩容注意事项:

BE 扩容后,Doris 会自动根据负载情况,进行数据均衡,期间不影响使用。

4.    删除 BE 节点

删除 BE 节点有两种方式:DROP 和 DECOMMISSION

DROP 语句如下:

ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port";

注意:DROP BACKEND 会直接删除该 BE,并且其上的数据将不能再恢复!!!所以我们强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节点。当你使用这个语句时,会有对应的防误操作提示。

DECOMMISSION 语句如下:

ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";

DECOMMISSION 命令说明:

1. 该命令用于安全删除 BE 节点。命令下发后,Doris 会尝试将该 BE 上的数据向其他 BE 节点迁移,当所有数据都迁移完成后,Doris 会自动删除该节点。

2. 该命令是一个异步操作。执行后,可以通过 SHOW PROC '/backends'; 看到该 BE 节点的 isDecommission 状态为 true。表示该节点正在进行下线。

3. 该命令不一定执行成功。比如剩余 BE 存储空间不足以容纳下线 BE 上的数据,或者剩余机器数量不满足最小副本数时,该命令都无法完成,并且 BE 会一直处于 isDecommission 为 true 的状态。

4. DECOMMISSION 的进度,可以通过 SHOW PROC '/backends'; 中的 TabletNum 查看,如果正在进行,TabletNum 将不断减少。

5. 该操作可以通过:

CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";

命令取消。取消后,该 BE 上的数据将维持当前剩余的数据量。后续 Doris 重新进行负载均衡



Broker 扩容缩容

Broker 实例的数量没有硬性要求。通常每台物理机部署一个即可。Broker 的添加和删除可以通过以下命令完成:

ALTER SYSTEM ADD BROKER broker_name "broker_host:broker_ipc_port";
ALTER SYSTEM DROP BROKER broker_name "broker_host:broker_ipc_port";
ALTER SYSTEM DROP ALL BROKER broker_name;

Broker 是无状态的进程,可以随意启停。当然,停止后,正在其上运行的作业会失败,重试即可。


集群升级


Palo 的升级方式和 Apache Doris 完全一致。用户也可以参考 Apache Doris 官网文档 进行升级。

本章节说明用户下载新版本的二进制包后的升级步骤。

注1:升级是在原集群上升级,无需重做数据。

注2:通常情况下,集群升级只需升级 FE、BE、Broker 进程。

注3:升级流程须严格按照 BE -> FE -> Broker 的顺序进行升级。

升级步骤

这里我们以从 0.14.13.1 版本升级到 0.15.1-rc03 版本为例。

1. 下载二进制包并解压

tar xzf PALO-0.15.1-rc03-binary.tar.gz

解压后的目录结构如下:

├── PALO-0.15.1-rc03-binary
   ├── apache_hdfs_broker
   ├── auditloader.zip
   ├── be
   ├── doris-flink-1.0-SNAPSHOT.jar
   ├── doris-spark-1.0.0-SNAPSHOT.jar
   ├── fe
   └── udf

2. 升级 BE

这里我们假设 BE 的安装路径为 /path/to/be/。BE 节点分别为 hostA、hostB、hostC。

通过以上步骤将所有 BE 节点升级完成后。可以进一步先观察集群运行情况,再继续升级 FE 节点。

  1. 1. 首先我们进入到 hostA 的 /path/to/be/ 目录下,通过 sh bin/stop_be.sh 停止 BE 进程。
  2. 2. 将 /path/to/be/lib/ 目录中的 palo_bemeta_tool 文件替换为新版本中的 PALO-0.15.1-rc03-binary/be/lib/ 目录下的同名文件。
  3. 3. 通过 sh bin/start_be.sh --daemon 启动 BE 进程。
  4. 4. 此时,我们已经完成 hostA 上 BE 节点的更新。此时我们可以先观察集群运行是否正常。如果一切正常,则可以重复步骤 1-3 来升级其余的 2 个BE节点。(Palo 保证新版本的向前兼容性,所以新版本原则上是可以和旧版本同时运行的。)
  5. 3. 升级 FE
  6. 1. FE 节点的升级顺序为:Observer -> 非 Master FE 节点 -> Master FE 节点
  7. FE 的节点类型和是否是 Master,可以通过 show frontends 语句结果中的 RoleIsMaster 列获取。
  8. 如果只部署了一个 FE 节点,强烈建议先按照 Doris 官方升级文档 中的 测试 FE 元数据兼容性 一节进行元数据兼容性验证。
  9. 通过以上步骤将所有 FE 节点升级完成后。则 Palo 的主进程(FE、BE)都已升级完成。
  10. 2. 进入 FE 的安装路径 /path/to/fe/,通过 sh bin/stop_fe.sh 停止 FE 进程。
  11. 3. 将 /path/to/fe/lib/ 目录整体替换为新版本中的 PALO-0.15.1-rc03-binary/fe/lib/ 目录。
  12. 4. 通过 sh bin/start_fe.sh --daemon 启动 FE 进程。
  13. 5. 此时,我们已经完这个 FE 节点的更新。此时我们可以通过 MySQL client 连接这个 FE 节点进行一些查询或导入操作,来观察集群是否正常。如果一切正常,则可以重复步骤 1-3 来升级其余的 FE 节点。
  14. 4. 升级 Broker
  15. 如果用户部署了 Broker 进程,则可以按照以下步骤进行升级。
  16. Broker 为无状态进程,全部升级即可。
  17. 通过以上步骤将所有 Broker 节点升级完成即可。

  18. 1. 进入 Broker 的安装路径 /path/to/broker/,通过 sh bin/stop_broker.sh 停止 Broker 进程。
  19. 2. 将 /path/to/broker/lib/ 目录整体替换为新版本中的 PALO-0.15.1-rc03-binary/apache_hdfs_broker/lib/ 目录。
  20. 3. 通过 sh bin/start_broker.sh --daemon 启动 Broker 进程。
  21. 4. 此时,我们已经完这个 Broker 节点的更新。重复步骤 1-3 来升级其余的 Broker 节点。
  22. 5. 测试升级结果
  23. 通过 MySQL client 连接任意 FE 节点进行业务操作,观察业务运行情况即可。

关于版本回滚

因为数据库是一个有状态的服务,所以在大多数情况下,Palo/Doris 无法支持版本回滚(版本降级)。在某些情况下,可以支持 3 位或 4 位版本的回滚,但不会支持 2 为版本的回滚。

所以建议通过先升级部分节点并观察业务运行情况的方式(灰度升级)来降低升级风险。

如有回滚需求,请事先联系 Palo/Doris 开发人员进行确认。

非法的回滚操作可能导致数据丢失和损坏。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
存储 SQL NoSQL
Doris数据仓库介绍
Doris数据仓库介绍
52 14
|
1月前
|
存储 小程序 Apache
10月26日@杭州,飞轮科技 x 阿里云举办 Apache Doris Meetup,探索保险、游戏、制造及电信领域数据仓库建设实践
10月26日,由飞轮科技与阿里云联手发起的 Apache Doris 杭州站 Meetup 即将开启!
54 0
|
4月前
|
SQL 存储 关系型数据库
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践
数字化转型的浪潮中,高效准确的数据分析能够帮助雨润集团快速洞察市场动态、优化供应链管理、提高生产效率。雨润集团引入了 Apache Doris 构建了统一实时数据仓库,实现了计算效率提升 30 倍、存储资源节省 90%、成本降低超 100 万、人员效率提升 3 倍,为智能化、高效化转型指明了方向。
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践
|
5月前
|
存储 运维 OLAP
抖音集团基于 SelectDB 内核 Apache Doris 的实时数据仓库实践
在直播、电商等业务场景中存在着大量实时数据,这些数据对业务发展至关重要。而在处理实时数据时,我们也遇到了诸多挑战,比如实时数据开发门槛高、运维成本高以及资源浪费等。
抖音集团基于 SelectDB 内核 Apache Doris 的实时数据仓库实践
|
6月前
|
Cloud Native 关系型数据库 MySQL
实时计算 Flink版产品使用合集之是否支持云原生数据仓库AnalyticDBPostgreSQL到DORIS的实时数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
SQL 大数据 BI
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
|
6月前
|
存储 关系型数据库 Apache
Apache Doris 实时数据仓库的构建与技术选型方案
Apache Doris 实时数据仓库的构建与技术选型方案
759 32
|
SQL 存储 分布式计算
关于数据仓库的Hive的安装部署的Local模式
在数据分析和数据挖掘领域,数据仓库是一个非常重要的工具。Hive是阿里云提供的一个开源数据仓库解决方案,它基于Hadoop和HiveQL语言,可以帮助用户轻松地处理大规模数据。在本文中,我们将探讨Hive的安装部署以及Local模式的概念和优势。
193 2
|
SQL 存储 分布式计算
关于数据仓库的Hive的安装部署的内嵌模式
在数据分析和数据挖掘领域,数据仓库是一个非常重要的工具。Hive是阿里云提供的一个开源数据仓库解决方案,它基于Hadoop和HiveQL语言,可以帮助用户轻松地处理大规模数据。在本文中,我们将探讨Hive的安装部署以及内嵌模式的概念和优势。
264 2
|
SQL 存储 分布式计算
关于数据仓库的Hive的安装部署的远程模式
在数据分析和数据挖掘领域,数据仓库是一个非常重要的工具。Hive是阿里云提供的一个开源数据仓库解决方案,它基于Hadoop和HiveQL语言,可以帮助用户轻松地处理大规模数据。在本文中,我们将探讨Hive的安装部署以及远程模式的概念和优势。
259 1

热门文章

最新文章