下一代实时数据库:Apache Doris 【三】集群部署

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 下一代实时数据库:Apache Doris 【三】集群部署

2.3 安装要求

2.3.1 软硬件需求

  1. Linux 操作系统要求

linux 系统 版本

Centos 7.1 及以上

Ubuntu 16.04 及以上

2)软件需求

软件 版本

Java 1.8 及以上

GCC 4.8.2 及以上

3)开发测试环境

模块 CPU 内存 磁盘 网络 实例数量

Frontend 8 核+ 8GB SSD 或 SATA ,10GB+ * 千兆网卡 1

Backend 8 核+ 16GB SSD 或 SATA ,50GB+ * 千兆网卡 1-3*

4) 生产环境

模块 CPU 内存 磁盘 网络 实例数量

Frontend 16 核+ 64GB SSD 或 SATA,100GB+ * 万兆网卡 1-5*

Backend 16 核+ 64GB SSD 或 SATA,100GB+ * 万兆网卡 10- 100*

5)注意事项

(1) FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。

(2) BE 的磁盘空间主要用于存放用户数据, 总磁盘空间按用户总数据量* 3 (3 副本) 计算, 然后再预留额外 40%的空间用作后台 compaction 以及一些中间数据的存放。

(3) 一台机器上可以部署多个 BE 实例, 但是只能部署一个 FE。如果需要 3 副本数 据, 那么至少需要 3 台机器各部署一个 BE 实例(而不是 1 台机器部署 3 个 BE 实例) 。多 个 FE 所在服务器的时钟必须保持一致(允许最多5 秒的时钟偏差)

(4) 测试环境也可以仅适用一个 BE 进行测试。实际生产环境,BE 实例数量直接决定 了整体查询延迟。

(5) 所有部署节点关闭 Swap。

(6) FE 节点数据至少为 1 (1 个 Follower) 。当部署 1 个 Follower 和 1 个 Observer 时, 可以实现读高可用。当部署 3 个 Follower 时,可以实现读写高可用(HA)。

(7) Follower 的数量必须为奇数,Observer 数量随意。

(8) 根据以往经验,当集群可用性要求很高时(比如提供在线业务), 可以部署 3 个 Follower 和 1-3 个 Observer。如果是离线业务, 建议部署 1 个 Follower 和 1-3 个 Observer。

(9) Broker 是用于访问外部数据源(如 HDFS) 的进程。通常,在每台机器上部署一 个 broker 实例即可。

2.3.2 默认端口

当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。

部署前请确保各个端口在应有方向上的访问权限。

2.4 集群部署

主机 1 主机 2 主机 3
FE(LEADER) FE(FOLLOWER) FE(OBSERVER)
BE BE BE
BROKER BROKER BROKER

生产环境建议 FE 和 BE 分开。

2.4.1 创建目录并拷贝编译后的文件

1)创建目录并拷贝编译后的文件

mkdir /opt/module/apache-doris-0.15.0
cp   -r   /opt/software/apache-doris-0.15.0-incubating-src/output /opt/module/apache-doris-0.15.0

2)修改可打开文件数 (每个节点)

sudo vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

重启永久生效, 也可以用 ulimit -n 65535 临时生效。

2.4.2 部署 FE 节点

1)创建 fe 元数据存储的目录

mkdir /opt/module/apache-doris-0.15.0/doris-meta

2)修改 fe 的配置文件

vim /opt/module/apache-doris-0.15.0/fe/conf/fe.conf
#配置文件中指定元数据路径:
meta_dir = /opt/module/apache-doris-0.15.0/doris-meta #修改绑定 ip (每台机器修改成自己的 ip)
priority_networks = 192.168.8.101/24

注意:

⚫ 生产环境强烈建议单独指定目录不要放在 Doris 安装目录下,最好是单独的磁盘(如果

有 SSD 最好)。

⚫ 如果机器有多个 ip, 比如内网外网, 虚拟机 docker 等, 需要进行 ip 绑定, 才能正确识 别。

⚫ JAVA_OPTS 默认 java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。

3)启动 hadoop1 的 FE

/opt/module/apache-doris-0.15.0/fe/bin/start_fe.sh --daemon

2.4.3 配置 BE 节点

1)分发 BE

scp -r /opt/module/apache-doris-0.15.0/be hadoop2:/opt/module 
scp -r /opt/module/apache-doris-0.15.0/be hadoop3:/opt/module

2)创建 BE 数据存放目录 (每个节点)

mkdir /opt/module/apache-doris-0.15.0/doris-storage1
mkdir /opt/module/apache-doris-0.15.0/doris-storage2

2)创建 BE 数据存放目录 (每个节点)

3)修改 BE 的配置文件 (每个节点)

vim /opt/module/apache-doris-0.15.0/be/conf/be.conf
#配置文件中指定数据存放路径:
storage_root_path     =     /opt/module/apache-doris-0.15.0/doris- storage1;/opt/module/apache-doris-0.15.0/doris-storage2
#修改绑定 ip (每台机器修改成自己的 ip)
priority_networks = 192.168.8.101/24

注意:

⚫ storage_root_path 默认在 be/storage 下,需要手动创建该目录。多个路径之间使用英文状

态的分号;分隔(最后一个目录后不要加) 。

⚫ 可以通过路径区别存储目录的介质, HDD 或 SSD。可以添加容量限制在每个路径的末

尾,通过英文状态逗号,隔开,如:

storage_root_path=/home/disk1/doris.HDD,50;/home/disk2/doris.SSD, 10;/home/disk2/doris

说明:

/home/disk1/doris.HDD,50,表示存储限制为 50GB ,HDD;

/home/disk2/doris.SSD,10,存储限制为 10GB ,SSD;

/home/disk2/doris,存储限制为磁盘最大容量, 默认为 HDD

⚫ 如果机器有多个 IP, 比如内网外网, 虚拟机 docker 等, 需要进行 IP 绑定,才能正确识 别。

2.4.4 在 FE 中添加所有 BE 节点

BE 节点需要先在 FE 中添加,才可加入集群。可以使用 mysql-client 连接到 FE。 1)安装 MySQL Client

(1) 创建目录

mkdir /opt/software/mysql-client/

(2) 上传相关以下三个 rpm 包到/opt/software/mysql-client/

➢ mysql-community-client-5.7.28- 1.el7.x86_64.rpm

➢ mysql-community-common-5.7.28- 1.el7.x86_64.rpm

➢ mysql-community-libs-5.7.28- 1.el7.x86_64.rpm

(3) 检查当前系统是否安装过 MySQL

sudo rpm -qa |grep mariadb
#如果存在,先卸载
sudo rpm -e --nodeps mariadb mariadb-libs mariadb-server

(4) 安装

rpm -ivh /opt/software/mysql-client/*

2)使用 MySQL Client 连接 FE

mysql -h hadoop1 -P 9030 -uroot

默认 root 无密码, 通过以下命令修改 root 密码。

SET PASSWORD FOR 'root' = PASSWORD('000000');

3)添加 BE

ALTER SYSTEM ADD BACKEND "hadoop1:9050";
ALTER SYSTEM ADD BACKEND "hadoop2:9050";
ALTER SYSTEM ADD BACKEND "hadoop3:9050";

4)查看 BE 状态

SHOW PROC '/backends';

2.4.5 启动 BE

1)启动 BE (每个节点)

/opt/module/apache-doris-0.15.0/be/bin/start_be.sh --daemon

2)查看 BE 状态

mysql -h hadoop1 -P 9030 -uroot -p
SHOW PROC '/backends';

Alive 为 true 表示该 BE 节点存活。

2.4.6 部署 FS_Broker (可选)

Broker 以插件的形式, 独立于 Doris 部署。如果需要从第三方存储系统导入数据, 需要 部署相应的 Broker,默认提供了读取 HDFS、百度云 BOS 及 Amazon S3 的 fs_broker 。 fs_broker 是无状态的,建议每一个 FE 和 BE 节点都部署一个 Broker。

1)编译 FS_BROKER 并拷贝文件

(1) 进入源码目录下的 fs_brokers 目录, 使用 sh build.sh 进行编译

(2) 拷贝源码 fs_broker 的 output 目录下的相应 Broker 目录到需要部署的所有节点 上,改名为: apache_hdfs_broker。建议和 BE 或者 FE 目录保持同级。

方法同 2.2。

2)启动 Broker

/opt/module/apache-doris-                             0.15.0/apache_hdfs_broker/bin/start_broker.sh --daemon

3)添加 Broker

要让 Doris 的 FE 和 BE 知道 Broker 在哪些节点上,通过 sql 命令添加 Broker 节 点列表。

(1) 使用 mysql-client 连接启动的 FE,执行以下命令:

mysql -h hadoop1 -P 9030 -uroot -p
ALTER        SYSTEM        ADD        BROKER        broker_name
"hadoop1:8000","hadoop2:8000","hadoop3:8000";

其中 broker_host 为 Broker 所在节点 ip ;broker_ipc_port 在 Broker 配置文件中的

conf/apache_hdfs_broker.conf。

4)查看 Broker 状态

使用 mysql-client 连接任一已启动的 FE,执行以下命令查看 Broker 状态:

SHOW PROC "/brokers";

注: 在生产环境中, 所有实例都应使用守护进程启动, 以保证进程退出后, 会被自动拉 起, 如 Supervisor (opens new window) 。如需使用守护进程启动, 在 0.9.0 及之前版本中,

需要修改各个 start_xx.sh 脚本,去掉最后的 & 符号。从 0.10.0 版本开始,直接调用 sh start_xx.sh 启动即可。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL Java 数据库连接
Apache Doris 支持 Arrow Flight SQL 协议,数据传输效率实现百倍飞跃
近年来,随着数据科学、数据湖分析等场景的兴起,对数据读取和传输速度提出更高的要求。而 JDBC/ODBC 作为与数据库交互的主流标准,在应对大规模数据读取和传输时显得力不从心,无法满足高性能、低延迟等数据处理需求。为提供更高效的数据传输方案,Apache Doris 在 2.1 版本中基于 Arrow Flight SQL 协议实现了高速数据传输链路,使得数据传输性能实现百倍飞跃。
|
2月前
|
缓存 安全 Java
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
|
8天前
|
关系型数据库 Apache 流计算
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
本文介绍了如何将数据从 OceanBase 迁移到阿里云数据库 SelectDB 内核版 Apache Doris。提供 3 种数据同步方法 1. 使用 DataX,下载 DataX 并编写配置文件,通过 OceanBaseReader 和 DorisWriter 进行数据迁移。 2. 利用 Apache Doris 的 Catalog功 能,将 OceanBase 表映射到 Doris 并插入数据。 3. 通过Flink CDC,设置 OceanBase 环境,配置 Flink 连接器,实现实时数据同步。
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
|
1天前
|
存储 SQL Apache
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
|
13天前
|
Kubernetes 关系型数据库 Apache
Apache Doris 2.1.2 版本正式发布!
Apache Doris 2.1.2 版本正式发布!该版本提交了若干改进项以及问题修复,进一步提升了系统的性能及稳定性,欢迎大家下载体验!
|
22天前
|
Java 数据处理 调度
更高效准确的数据库内部任务调度实践,阿里云数据库SelectDB 内核 Apache Doris 内置 Job Scheduler 的实现与应用
Apache Doris 2.1 引入了内置的 Job Scheduler,旨在解决依赖外部调度系统的问题,提供秒级精确的定时任务管理。
|
2月前
|
SQL 监控 Apache
钱大妈生鲜如何利用 CCR 实现 Apache Doris 集群读写分离
钱大妈基于 阿里云 SelectDB 内核 Apache Doris 搭建了实时数仓,为业务提供实时精准分析的数据查询及分析服务。凭借 Apache Doris 强大的性能,钱大妈能够实时监控生鲜产品的流通情况,为商品结构的优化和食品新鲜度的保障提供坚实的数据支撑。
|
3月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
487 5
|
2月前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1425 1
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
|
2月前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1370 1
官宣|Apache Flink 1.19 发布公告

推荐镜像

更多