文章目录
Apache Doris分布式部署准备工作
一、Apache Doris下载
二、节点划分
三、节点配置
1、设置文件句柄数
2、时间同步
3、关闭 Swap 分区
4、调大单个进程的虚拟内存区域数量
Apache Doris分布式部署准备工作
部署Apache Doris时需要分别部署FE、BE、Broker。然后再建立FE,BE两者关系。
Apache Doris 中部署多FE的思路为先在一台节点上配置部署一个FE并启动,相当于是启动Doris服务,然后配置更多的FE节点,添加到Doris服务中给该Doris的FE进行扩容,最终形成多节点FE。FE又分为 Leader 、 Follwer 和 Observer 三种角色,多节点FE中首先启动的FE节点自动为Leader,部署完成一个FE节点后,按照集群划分将其他Follower和Observer节点加入到FE中即可。
部署BE时我们也需要部署FE完成后,然后配置BE各个节点并启动,通过对应命令将多个BE节点添加到Apache Doris集群中即可,即创建了FE、BE两者关系。
Broker的部署是可选的,如果需要从第三方存储系统导入数据,需要部署相应的 Broker,默认提供了读取 HDFS 、对象存储的 fs_broker。Borker以插件的形成独立于Doris集群,部署时也需部署完成FE和BE后,将各个Broker节点添加到 Doris集群中。
一、Apache Doris下载
先前Apache Doris需要自己手动编译源码进行部署安装,现在Apache Doris官方提供了对应编译好的安装包,可以直接下载进行部署。Apache Doris 下载地址为:https://doris.apache.org/zh-CN/download/
这里我们下载1.2.1版本。
由于 Apache 服务器文件大小限制,1.2 版本的二进制程序被分为三个包:
apache-doris-fe-1.2.1-bin-x86_64.tar.xz
apache-doris-be-1.2.1-bin-x86_64.tar.xz
apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz
其中新增的 apache-doris-dependencies 包含用于支持 JDBC 外表和 JAVA UDF 的jar包,以及 Broker 和 AuditLoader。下载后,需要将其中的 java-udf-jar-with-dependencies.jar 放到 be/lib 目录下。
二、节点划分
根据Doris官方建议,部署Doris时FE和BE分开部署,这里我们部署Doris集群时部署3个Follower(Leader和Follow统称为Follower)、2个Observer、3个BE、5个Broker,共使用5台节点完成,每个节点的使用4core和4G内存,角色和节点分布如下:
节点IP | 节点名称 | FE(Follower) | FE(Observer) | BE | Broker(可选) |
---|---|---|---|---|---|
192.168.179.4 | node1 | ★ | ★ | ||
192.168.179.5 | node2 | ★ | ★ | ||
192.168.179.6 | node3 | ★ | ★ | ★ | |
192.168.179.7 | node4 | ★ | ★ | ★ | |
192.168.179.8 | node5 | ★ | ★ | ★ |
三、节点配置
首先在部署Doris各个节点上按照如下步骤进行设置。
1、设置文件句柄数
在node1~node5各个节点上配置/etc/security/limits.conf文件如下内容,设置系统最大打开文件句柄数:
# 打开limits.conf文件,vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
注意各个节点配置完成后,如果是ssh连接到各个节点需要重新打开新的ssh窗口生效或者重新启动机器生效。查看生效命令如下:
#查看可以打开最大文件描述符的数量,默认是1024
ulimit -n
2、时间同步
在node1~node5各节点上进行时间同步。首选在各个节点上修改本地时区及安装ntp服务:
yum -y install ntp
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/usr/sbin/ntpdate -u pool.ntp.org
然后设置定时任务自动同步时间,设置定时任务,每10分钟同步一次,配置/etc/crontab文件,实现自动执行任务。建议直接crontab -e 来写入定时任务。使用crontab -l 查看当前用户定时任务。
#各个节点执行 crontab -e 写入以下内容
*/10 * * * * /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1
#重启定时任务
service crond restart
#查看日期
date
3、关闭 Swap 分区
在node1~node5各个节点上关闭Swap分区。各个节点上修改/etc/fstab文件,注释掉带有swap的行。如下:
#注释掉swap 行 ,vim /etc/fstab
...
#/dev/mapper/centos-swap swap swap defaults 0 0
...
以上配置完成后,需要重启机器生效,如果不想重启机器可以在各个节点上执行"swapoff -a"临时关闭swap分区。执行后,可以通过"free -m"命令查看swap是否已经关闭。
4、调大单个进程的虚拟内存区域数量
BE 启动脚本会通过 /proc/sys/vm/max_map_count 检查数值是否大于200W,否则启动失败。只需要在部署BE的节点上设置"sysctl -w vm.max_map_count=2000000"调大即可,这里在node1~node5节点上都做设置。
#限制单个进程的虚拟内存区域数量(临时设置)
sysctl -w vm.max_map_count=2000000
以上是临时设置,当节点重启后会失效,可以在/etc/sysctl.conf中加入vm.max_map_count=2000000做永久设置。在node1~node5节点上配置/etc/sysctl.conf进行永久设置:
#vim /etc/sysctl.conf (追加参数,永久设置)
...
vm.max_map_count=2000000
...
设置成功后,重启机器,可以通过cat /proc/sys/vm/max_map_count 命令检查此值为200W。
- 📢博客主页:https://lansonli.blog.csdn.net
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨