Windows Server上部署IoTdb 集群

时间:2023-01-19 13:05:03

本文是参考官方的 IoTDB 集群版(1.0.0)的安装及启动教程:https://iotdb.apache.org/zh/UserGuide/V1.0.x/Cluster/Cluster-Setup.html ,在Windows Server 2019上部署集群的实践记录。

前置检查

使用微软发布的OpenJDK 17 运行环境,并配置好 JAVA_HOME 环境变量。从微软官方网站下载 https://learn.microsoft.com/zh-cn/java/openjdk/download

Windows Server上部署IoTdb 集群

下载msi的一键安装包 microsoft-jdk-17.0.5-windows-x64.msi。 在服务器上进行安装

Windows Server上部署IoTdb 集群

修改Windows的注册表,将Tcpip的参数MaxUserPort=65534 和 TcpTimedWaitDelay=30

Windows Server上部署IoTdb 集群

首次启动ConfigNode节点时,确保已清空ConfigNode节点的data/confignode目录;首次启动DataNode节点时,确保已清空DataNode节点的data/datanode目录。

如果整个集群处在可信环境下,可以关闭机器上的防火墙选项,在windows 防火墙下开通iotdb 规则,我开通了如下端口6667, 10710-10760, 22277, 8777, 40010, 50010,9003.

Windows Server上部署IoTdb 集群

Windows Server上部署IoTdb 集群

在集群默认配置中,ConfigNode 会占用端口 10710 和 10720,DataNode 会占用端口 6667、10730、10740、10750 和 10760, 请确保这些端口未被占用,或者手动修改配置文件中的端口配置。


安装包获取

打开官网Download Page :https://iotdb.apache.org/Download/

下载 IoTDB 1.0.0 版本的All in one二进制文件。

Windows Server上部署IoTdb 集群

解压得到 apache-iotdb-1.0.0目录,目录有一个注意事项是在路径上不能有空格。打开 apache-iotdb-1.0.0,可见以下目录:

Windows Server上部署IoTdb 集群

Windows Server上部署IoTdb 集群

集群安装配置

集群安装

IoTdb 包含 ConfigNode 和 DataNode, 请将安装包部署于你目标集群的所有机器上,推荐将安装包部署于所有服务器的相同目录下。 本次集群共3台机器,ip分别为:192.168.67.45,192.168.67.46,192.168.67.47,其中192.168.67.45 作为seed-confignode.

集群配置

接下来需要修改每个服务器上的配置文件,登录服务器, 并将工作路径切换至 apache-iotdb-1.0.0, 配置文件在 ./conf 目录内,以下所有配置项在集群启动后不可修改

  • 对于所有部署 ConfigNode 的服务器,需要修改通用配置ConfigNode 配置
  • 对于所有部署 DataNode 的服务器,需要修改通用配置和 DataNode 配置

1、通用配置

注:务必保证所有节点的通用配置完全一致,否则节点无法启动,通用配置为./conf/iotdb-common.properties,本次集群cluster_name=TrueloveCluster

Windows Server上部署IoTdb 集群

2、ConfigNode 配置

注:务必保证所有端口均未被占用,否则节点无法启动,配置文件为./conf/iotdb-confignode.properties

Windows Server上部署IoTdb 集群

3、DataNode 配置

注:务必保证所有端口均未被占用,否则节点无法启动,配置文件为./conf/iotdb-datanode.properties

Windows Server上部署IoTdb 集群

启动集群

本次启动3个ConfigNode 和 3个DataNode 的集群,集群可以提供服务的标准是至少启动一个 ConfigNode 且启动 不小于(数据/元数据)副本个数的 DataNode,要求3集群公共配置的./conf/iotdb-common.properites必须保持一致。

总体启动流程分为三步:

  1. 启动种子 ConfigNode
  2. 增加 ConfigNode(可选)
  3. 增加 DataNode
1、启动 Seed-ConfigNode

集群第一个启动的节点必须是 ConfigNode,第一个启动的 ConfigNode 必须遵循本小节教程。

第一个启动的 ConfigNode 是 Seed-ConfigNode,标志着新集群的创建。 在启动 Seed-ConfigNode 前,请打开通用配置文件 ./conf/iotdb-common.properties,并检查如下参数:

Windows Server上部署IoTdb 集群

Windows Server上部署IoTdb 集群

启动confignode,切换至sbin目录运行启动脚本:

.\sbin\start-confignode.bat

2、增加ConfigNode(2个)

启动前务必保证 ./conf/iotdb-common.properites 中的所有配置参数与 Seed-ConfigNode 完全一致,配置 ./conf/iotdb-confignode.properties

Windows Server上部署IoTdb 集群

服务器192.168.67.46

Windows Server上部署IoTdb 集群

服务器192.168.67.47

Windows Server上部署IoTdb 集群

启动confignode,切换至sbin目录运行启动脚本:

.\sbin\start-confignode.bat

3、增加DataNode(3个)

在保证ConfigNode启动成功后才可以增加DataNode,配置 ./conf/iotdb-datanode.properties

可以向集群中添加任意个 DataNode。 在添加新的 DataNode 前,请先打开通用配置文件 ./conf/iotdb-common.properties 并检查以下参数:

Windows Server上部署IoTdb 集群

接着打开它的配置文件 ./conf/iotdb-datanode.properties 并检查以下参数:

Windows Server上部署IoTdb 集群

服务器192.168.67.45

Windows Server上部署IoTdb 集群

服务器192.168.67.46

Windows Server上部署IoTdb 集群

服务器192.168.67.47

Windows Server上部署IoTdb 集群

启动,进入sbin目录执行启动脚本

.\sbin\start-datanode.bat

验证集群

以上是在3台服务器上启动的3C3D(3个ConfigNode 和 3个DataNode)集群为例, 这里假设3个ConfigNode的IP地址依次为192.168.67.45,192.168.67.46,192.168.67.47,且3个ConfigNode启动时均使用了默认的端口10710与10720; 3个DataNode的IP地址依次为192.168.67.45,192.168.67.46,192.168.67.47,且3个DataNode启动时均使用了默认的端口6667、10730、10740、10750与10760。

在 Cli 执行 show cluster details,看到的结果应当如下:

Windows Server上部署IoTdb 集群

所有节点的状态均为 Running,则说明集群部署成功。上面有两个DataNode的状态是Unknown. 检查DataNode的启动日志没有问题, 这是由于还有相关的端口没有在防火墙上开通,需要开通如下端口号: 6667, 10710-10760, 22277, 8777, 40010, 50010,9003.

Windows Server上部署IoTdb 集群