需要配置防火墙开放 DolphinDB 的各个节点的端口

运行 DolphinDB 前,需要配置防火墙开放 DolphinDB 的各个节点的端口,或者关闭防火墙。

具体开放哪些端口取决于集群配置,以开放 8900 ~ 8903 TCP 端口为例:

firewall-cmd --add-port=8900-8903/tcp --permanent

firewall-cmd --reload

systemctl restart firewalld

若不需要防火墙,可通过如下命令关闭:

systemctl stop firewalld

systemctl disable firewalld.service

1.8 Swap
Swap 即交换分区,在物理内存不够用时,操作系统会从物理内存中把部分暂时不被使用的数据转移到交换分区,从而为当前运行的程序留出足够的物理内存空间,保证程序的正常运行,但会造成系统性能下降。如果系统物理内存充足,且用户比较重视性能,建议关闭 Swap,步骤如下:

  1. 检查 Swap 是否已关闭

free -h

          total        used        free      shared  buff/cache   available

Mem: 7.6G 378M 7.1G 8.5M 136M 7.1G
Swap: 7.9G 0B 7.9G
可见 Swap 的 total 值为 7.9G,未关闭。

  1. 临时关闭 Swap

swapoff -a

  1. 再次检查 Swap 是否已关闭

free -h

          total        used        free      shared  buff/cache   available

Mem: 7.6G 378M 7.1G 8.5M 136M 7.1G
Swap: 0B 0B 0B
可见 Swap 的 total 值为 0B,已关闭。

  1. 永久关闭 Swap,注释掉第 2 列值为 swap 的行

vi /etc/fstab

/dev/mapper/centos-swap swap swap defaults 0 0


2. 部署 DolphinDB
系统配置好后,即可根据业务需求选择合适的部署方式部署 DolphinDB。

2.1 单节点、单机集群、多机集群的选择
本节介绍不同部署方式之间的比较重要的差异,不同部署方式的功能和应用场景的完整列表见《
DolphinDB 安装使用指南》第 2.4 节。

2.1.1 相同单机资源,部署单节点和单机集群的差异
单节点指在单机上部署一个 DolphinDB 单机节点,单机集群指在单机上部署多个 DolphinDB 分布式节点。

单节点部署更简单,且在单机配置(CPU 核数、内存容量、硬盘个数)不高、计算任务不复杂的情况下,单节点的部署方式减少了节点间的网络传输,在性能方面反而比单机集群更好(但并不明显)。

单机集群通常适合密集型计算场景,将计算任务分发到不同的节点(进程)上,可以有效的隔离内存资源竞争,提高计算效率。

集群与单节点的另外两个差异,一是集群支持横向扩展,即支持在线加入新的数据节点,提高整个集群的最大负载;二是集群支持高可用,容错率更高。

综上,单机部署时,建议部署集群模式。

2.1.2 相同节点的情况下,部署单机集群和多机集群的差异
多机集群部署指将 DolphinDB 分布式节点分别部署到多台机器上。

多机可以充分利用各个节点(机器)的计算资源和存储资源。但是节点间通信引入了网络开销,故建议部署在内网并配置万兆网络以降低网络开销。

另外,假设每台机器故障概率相同,多机比单机更容易出现故障,但由于节点分布在多机上,通过开启高可用支持,多机集群容错率更高。

2.1.3 单机多硬盘与多机部署的差异
对于大吞吐量、低计算的任务来说,单机多硬盘集群模式因网络开销小而具有更好的性能。对于小吞吐量、重计算的场景,多机集群的分布式计算优势更明显。

元数据和 redo log 的存储,相关配置项包括:

chunkMetaDir: 元数据目录

dfsMetaDir: 该目录保存控制器节点上的分布式文件系统的元数据

redoLogDir: OLAP 存储引擎重做日志(redo log)的目录

TSDBRedoLogDir: TSDB 存储引擎重做日志(redo log)的目录

这些配置项建议指定到 SSD 以提高读写性能。

数据实体的存储,相关配置项包括:

volumes: 数据文件目录。多个目录用 ‘,’ 隔开,例如: /hdd/hdd1/volumes,/hdd/hdd2/volumes,/hdd/hdd3/volumes

diskIOConcurrencyLevel: 读写磁盘数据的线程数,默认为 1,若 volumes 全部配置为 HDD 硬盘,建议 diskIOConcurrencyLevel 设置为同 HDD 硬盘个数相同的值

2.2 Docker 和非 Docker 环境运行的选择
Docker 只是轻量化的资源隔离,DolphinDB 部署在 Docker 环境和非 Docker 环境下的运行性能差异不明显,可根据业务需求选择合适的运行环境。

你可能感兴趣的:(运维,linux,网络)