多服务器集群部署与升级

本页介绍 DolphinDB 多服务器集群的节点类型与职责,并概述在 Linux 上的部署、升级、License 更新与常见问题覆盖范围。

Source: https://dolphindb.cn/blogs/281

What this page covers

技能认证特训营第二期报名提示

页面顶部提供活动报名与限时报名相关提示信息。

多服务器集群部署(页面与日期信息)

页面展示主题标题与发布信息,包含 DolphinDB 与发布日期 2021-05-14。

多服务器集群部署与升级:节点类型与教程范围

该部分介绍 DolphinDB 集群节点类型与职责,并说明教程覆盖部署、升级、License 更新与常见问题。

部署 DolphinDB 多服务器集群:架构示例与前置要求

该部分给出三台服务器的示例架构与内网 IP,并列出部署前准备与约束条件。

第一步:下载

该部分说明在每台服务器下载并解压 DolphinDB 安装包的方式与注意事项。

第二步:更新软件授权许可

该部分说明企业版试用授权许可替换路径与每台服务器都需更新的要求。

第三步:集群配置(P1/P2/P3 配置文件)

该部分分服务器说明 controller.cfg、cluster.nodes、cluster.cfg、agent.cfg 等配置要点与示例内容。

第四步:启动集群

该部分说明首次启动需赋予可执行权限,并通过示例展示节点启动与 Web 管理界面状态。

第五步:连接数据节点创建数据库和分区表

该部分说明访问数据节点的方式,并通过脚本创建 DFS 数据库与分区表,写入模拟数据并在界面查看对象信息。

第六步:连接计算节点查询和计算

该部分说明通过计算节点加载分区表元数据并执行查询与聚合计算示例,并给出大结果集展示建议。

基于 Web 的集群管理

该部分介绍通过控制节点 Web 管理界面修改配置的方式、重启生效要求,并说明外网访问相关设置。

云部署

该部分说明云环境可能不支持局域网 UDP 广播心跳,需配置 lanCluster=0,并提供相关文档链接。

Facts Index

Entity Attribute Value Confidence
页面/文章发布日期2021-05-14high
DolphinDB 集群节点类型包括控制节点(controller)、代理节点(agent)、数据节点(datanode)和计算节点(compute node)四种类型节点high
控制节点(controller)职责收集代理节点和数据节点心跳、监控节点工作状态、管理分布式文件系统元数据和事务日志;多服务器集群中只有一个控制节点high
代理节点(agent)职责/数量约束负责执行控制节点发出的启动和关闭数据节点或计算节点的命令;在一个集群中,每台物理服务器有且仅有一个代理节点high
数据节点(datanode)职责/数量约束既可存储数据,也可用于查询和计算;每台物理服务器可以配置多个数据节点high
计算节点(compute node)职责/数量约束承担数据节点查询和计算相关职能,响应客户端请求并返回结果,与数据节点实现存储资源与计算资源隔离;每台物理服务器可配置零到多个计算节点high
本教程适用环境与覆盖内容用于在 Linux 操作系统上进行多服务器集群的部署、升级、过期 License 升级,并对常见问题做出解答high
示例集群服务器物理服务器数量三台物理服务器(P1、P2、P3)high
P1内网 IP10.0.0.80high
P2内网 IP10.0.0.81high
P3内网 IP10.0.0.82high
部署示例集群(前置要求)License 要求示例集群超过社区版试用授权许可节点数限制,必须申请企业版 License 并按方法更新high
节点网络建议IP 与网络建议使用内网 IP,网络使用万兆以太网;若使用外网地址则不能保证节点间网络传输性能medium
DolphinDB 多机集群(非高可用集群)控制节点数量约束有且仅有一个控制节点high
部署数据节点/计算节点的服务器必须部署的组件必须部署一个代理节点,用于启动和关闭该服务器上的数据节点或计算节点high
DolphinDB 安装包官方下载地址https://dolphindb.cn/product#downloadshigh
下载安装(Shell)wget 模板wget https://www.dolphindb.cn/downloads/DolphinDB_Linux64_V${release}.zip -O dolphindb.zip(${release} 代表版本)high
下载安装(示例版本)2.00.11.3 Linux64 server 下载命令wget https://www.dolphindb.cn/downloads/DolphinDB_Linux64_V2.00.11.3.zip -O dolphindb.ziphigh
下载安装(ABI 版本)2.00.11.3 Linux64 ABI server 下载命令wget https://www.dolphindb.cn/downloads/DolphinDB_Linux64_V2.00.11.3_ABI.zip -O dolphindb.ziphigh
下载安装(JIT 版本)2.00.11.3 Linux64 JIT server 下载命令wget https://www.dolphindb.cn/downloads/DolphinDB_Linux64_V2.00.11.3_JIT.zip -O dolphindb.ziphigh
安装包解压命令unzip dolphindb.zip -d </path/to/directory>high
安装路径目录名限制安装路径目录名不能含有空格或中文字符,否则启动数据节点时会失败high
企业版试用授权许可能力对比社区版试用授权许可支持更多的节点、CPU 核数和内存high
授权许可文件替换文件路径/DolphinDB/server/dolphindb.lichigh
授权许可更新范围更新要求每台服务器上的授权许可文件都需要替换high
P1 controller.cfg必须配置项必须配置 localSite(指定控制节点 IP、端口号和别名)high
P1 controller.cfg示例 localSitelocalSite=10.0.0.80:8900:controller8900high
cluster.nodes用途存放集群代理节点、数据节点和计算节点信息;两列:第一列为 IP:端口:别名,第二列说明节点类型(agent/datanode/computenode)high
节点别名约束大小写敏感,且在集群内必须唯一high
示例 cluster.nodes配置内容包含 3 个 agent、2 个 datanode、1 个 computenode,并给出各自 10.0.0.80/81/82 的端口与别名映射(8901/8902 等)high
cluster.cfg适用范围适用于集群中所有数据节点和计算节点high
cluster.cfg参数调优建议(maxMemSize, workerNum, volumes)maxMemSize 推荐 min(服务器可用内存/节点数,license 限制最大内存)*0.85;workerNum 推荐 min(服务器逻辑核心数,license 限制逻辑核心数);volumes 推荐 ssd 且设置多块磁盘high
P1 agent.cfg关键一致性要求agent.cfg 的 controllerSite 需与 P1 controller.cfg 的 localSite 保持一致;若 controller.cfg 的 localSite 变化(包括别名变化),所有 agent.cfg 的 controllerSite 都应相应改变high
agent.cfg允许登录条件只有设置了配置项 sites,才允许在代理节点登录high
P2 agent.cfg示例 localSite 与 controllerSitelocalSite=10.0.0.81:8901:P2-agent;controllerSite=10.0.0.80:8900:controller8900high
P3 agent.cfg示例 localSite 与 controllerSitelocalSite=10.0.0.82:8901:P3-agent;controllerSite=10.0.0.80:8900:controller8900high
首次启动 Dolphindb(server 目录)权限设置命令chmod +x dolphindbhigh
访问数据节点交互编程界面方式可通过控制节点 Web 管理界面点击对应数据节点进入;也可在浏览器直接输入数据节点 IP 和端口号进入high
示例建库建表脚本数据库与表名dbName="dfs://testDB";tbName="testTB"high
示例建库建表脚本分区方式database(dbName, VALUE, 2021.01.01..2021.12.31);createPartitionedTable(..., partitionColumns=`DateTime)high
示例脚本登录信息用户名与密码login("admin", "123456")high
模拟数据写入示例股票数量与频率创建 5000 个股票的 1 分钟 K 线数据并写入分区表(脚本中 take(0..4999, 5000))high
模拟数据写入示例n 值n = 1210000high
Web 交互编程界面(数据节点)创建后可查看的信息可在左侧“数据库”查看已创建库表及字段信息;也可在“本地变量”查看变量名、类型、维度大小、占用内存等并预览high
访问计算节点交互编程界面方式可通过控制节点 Web 管理界面点击对应计算节点进入;也可在浏览器直接输入计算节点 IP 和端口号进入high
loadTable加载行为说明加载分区表对象时只加载元数据、未加载全量数据,因此响应时间非常快high
查询示例SQL(按天统计条数)select count(*) from pt group by date(DateTime) as Datehigh
计算示例SQL(计算 OHLC)select first(LastPx) as Open, max(LastPx) as High, min(LastPx) as Low, last(LastPx) as Close from pt group by date(DateTime) as Date, SecurityIDhigh
大结果集展示建议做法与目的当查询结果较大时赋值给变量(如 result),占用 server 端内存,客户端分页取回展示以减少客户端内存占用high
Web 集群管理(Controller Config)生效方式在控制节点 Web 界面可添加/删除/修改 controller.cfg 中的参数;修改后需重启控制节点生效high
控制节点地址变更联动修改要求若改变 controller.cfg 的 localSite,一定要修改所有 agent.cfg 中的 controllerSite,否则集群将无法正常运行high
Web 集群管理(Nodes Config)生效方式在 Web 界面可修改 cluster.cfg 中的数据/计算节点参数;修改后需重启数据节点和计算节点生效high
外网访问集群管理器controller 配置项需要在 controller 上配置 publicName(可为域名或 IP;若要启动 HTTPS,必须是域名)high
示例外网 publicName(cluster.cfg)配置示例P1-%.publicName=19.56.128.21;P2-%.publicName=19.56.128.22;P3-%.publicName=19.56.128.23(% 为节点别名通配符)high
示例外网 publicName(controller.cfg)配置示例publicName=19.56.128.21high
DolphinDB 集群部署位置支持环境可部署在局域网内,也可部署在私有云或公有云上high
DolphinDB 默认集群心跳机制默认行为默认集群所有节点在一个局域网内(lanCluster=1)并通过 UDP 广播监测节点心跳high
云平台部署潜在限制云平台上所有节点不一定在一个局域网内,也可能不支持 UDPhigh
云平台部署(非 UDP 通讯)配置要求需在 controller.cfg 和 agent.cfg 配置 lanCluster=0 实现非 UDP 模式通讯;否则可能无法正常检测心跳导致集群无法正常工作high
云部署相关文档链接https://docs.dolphindb.cn/zh/tutorials/docker_single_deployment.htmlhigh