大数据Doris(二):Apache Doris 部署介绍

大数据Doris(二):Apache Doris 部署介绍_第1张图片

文章目录

Apache Doris 部署介绍

一、软硬件要求

二、生产/测试环境节点配置建议

三、Broker部署介绍

四、操作系统安装要求

五、网络需求


Apache Doris 部署介绍

一、软硬件要求

Doris 运行在 Linux 环境中,推荐 CentOS 7.x 或者 Ubuntu 16.04 以上版本,同时你需要安装 Java 运行环境,JDK最低版本要求是8。我们这里使用的是Linux Centos7.9版本,jdk为1.8。

二、生产/测试环境节点配置建议

Apache Doris官方建议开发测试环境和生产环境节点的配置如下:

  • 开发测试环境:
模块 CPU 内存 磁盘 网络 实例数量
Frontend 8核+ 8GB+ SSD或SATA,10GB+* 千兆网卡 1
Backend 8核+ 16GB+ SSD或SATA,50GB+* 千兆网卡 1-3*
  • 生产环境:
模块 CPU 内存 磁盘 网络 实例数量(最低要求)
Frontend 16核+ 64GB+ SSD或RAID卡,10GB+* 万兆网卡 1-3*
Backend 16核+ 64GB+ SSD或SATA,100GB+* 万兆网卡 3*
  • 部署 FE 需要注意以下几点:
  1. FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。
  2. 多个FE所在服务器的时钟必须保持一致(允许最多5秒的时钟偏差)。
  3. FE角色分为Leader、Follower和Observer,Leader为Follower组中选举出来的一种角色,后续统称为Follower。
  4. FE节点数量至少为1个Follower,该Follower就是Leader。 Follower 的数量必须为奇数(因为投票选主),Observer 数量随意
  5. 当FE中部署 1 个 Follower 和 1 个 Observer 时,可以实现读高可用。当部署 3 个 Follower 时,可以实现读写高可用(HA)。
  6. 根据经验,当集群可用性要求很高时(比如提供在线业务),可以部署3个Follower和1-3个Observer。如果是离线业务,建议部署1个Follower和1-3个Observer。
  • 部署BE需要注意以下几点:
  1. BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。
  2. 一台机器上可以部署多个 BE 实例,但是只能部署一个 FE。如果需要 3 副本数据,那么至少需要 3 台机器各部署一个 BE 实例(而不是1台机器部署3个BE实例)。
  3. 测试环境也可以仅使用一个 BE 进行测试。实际生产环境,BE 实例数量直接决定了整体查询延迟。

Apache Doris的性能与节点数量及配置正相关,官方建议生产环境中部署Doris使用10~100台左右的机器来充分发挥Doris性能,其中3台部署FE(HA),剩余的部署BE。如果FE和BE混部,需要注意资源竞争问题,并保证元数据目录和数据目录分属不同磁盘。

三、Broker部署介绍

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

四、操作系统安装要求

  • linux文件系统

官方建议在安装操作系统的时候使用ext4文件系统。其他格式也可以。Centos7中查看文件系统命令 cat /etc/fstab:

大数据Doris(二):Apache Doris 部署介绍_第2张图片

或者使用命令 df -Th :

大数据Doris(二):Apache Doris 部署介绍_第3张图片

  • 设置文件句柄数

Linux操作系统中文件句柄数代表一个进程能同时维持多少个"文件"开着而不关闭,一个开着的"文件"就对应一个文件句柄。这里说的"文件"并非我们通常理解的文件,在Linux中一切IO都是"文件",也就是说打开硬盘上的文件是一个"文件",一个未关闭的TCP Socket 也是一个"文件",甚至控制台输入/输出也是"文件"。

Linux系统中文件句柄数默认为1024,在生产环境系统中这些远远不够,所以我们需要将linux操作系统的打开文件句柄数调大一些。

  • 时钟同步

Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。

  • 关闭交换分区(swap 

Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区。关闭Swap分区需要注释掉/etc/fstab文件中文件类型为swap的一行,然后重启该节点。

大数据Doris(二):Apache Doris 部署介绍_第4张图片

  • 调大vm.max_map_count

在部署Apache Doris时,从1.2.0版本往后,需要在部署BE的节点上调大单个JVM进程的虚拟机内存区域数量值以支撑更多的线程,BE 启动脚本会通过/proc/sys/vm/max_map_count 检查数值是否大于200W,否则启动失败。默认这个值为65530,可以通过"sysctl -w vm.max_map_count=2000000"命令调大该参数,以上参数只是临时设置该值,当重启机器后会失效,永久设置可以在/etc/sysctl.conf文件中加入"vm.max_map_count=2000000"参数即可。

五、网络需求

Doris 各个实例直接通过网络进行通讯。以下表格展示了所有需要的端口:

实例名称 端口名称 默认端口 通讯方向 说明
BE be_port 9060 FE-->BE BE上thrift server的端口,用于接收来自FE的请求
BE webserver_port 8040 BE<-->BE BE上的http server的端口
BE heartbeat_service_port 9050 FE-->BE BE上心跳服务端口(thrift),用于接收来自FE的心跳
BE brpc_port 8060 FE<-->BE,BE<-->BE BE上的brpc端口,用于BE之间的通讯
FE http_port 8030 FE<-->FE,用户<-->FE FE上的http server 端口
FE rpc_port 9020 BE-->FE,FE<-->FE FE上的thrift server 端口,每个fe的配置需要保持一致
FE query_port 9030 用户<-->FE FE上的mysql server 端口
FE edit_log_port 9010 FE<-->FE FE上的bdbje之间通信用的端口
Broker broker_ipc_port 8000 FE-->Broker,BE-->Borker Broker上的thrift server,用于接收请求

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


  • 博客主页:https://lansonli.blog.csdn.net
  • 欢迎点赞 收藏 ⭐留言 如有错误敬请指正!
  • 本文由 Lansonli 原创,首发于 CSDN博客
  • 停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

你可能感兴趣的:(大数据OLAP技术体系,大数据,Apache,Doris)