IoTDB集群节点IP变更指南:更新集群的步骤和注意事项
问题
问题1:如果 IoTDB 配置的时候用的 IP,没有用 hostname,后面 IP 修改了,历史数据需要重新导吗?
问题2:如果现场运行 IoTDB 半年,电脑 IP 要改的话,半年的数据要导出来再导入么?
问题3:有个关于 IoTDB 3C3D 集群,IP 地址更改的问题请教下。目前我们这儿 3C3D 集群,需要进行 IP 地址变更,之前配置文件里面,没有采用 hostname 模型,采用的是 IP 地址参数配置,请问服务器如果 IP 进行了变更,需要针对 IoTDB 集群进行如何调整,才能保证数据的完整性?
问题4:有一个关于 IoTDB 1.3.1 的 TsFile load 问题需要请教下:
问题5:请问下,3 节点的集群,将原先的 IP 地址参数改成了主机名字。现在往 IoTDB 中写数据时,session 还是通过 IP 来的,但是 IP 有的时候会去解析其他节点的主机名,发现解析不了而报错。请问这种情况该如何解决?
问题6:刚开始电脑部署的 IoTDB 数据库以 127.0 IP 运行,现在想改为以 hostname 运行、因为不能改配置中的 IP,历史数据我可以不要,所以我重新下载了 1.3.0 版本,配置为 hostname 运行成功,但 CLI 连不上,什么原因呢?这样建立新的文件夹,重启新数据库做法可行吗?
方案
需要旧集群数据的情况:
搭建并配置新集群:新集群之间需要在每台主机的 /etc/hosts 文件中配置 IP 地址和对应主机名的关系,以确保它们能够相互识别(注意,hostname 必须唯一),之后可以启动新集群。
迁移老集群数据到新集群:可以通过 pipe 同步全量数据,直接将老集群的 data/ 目录(包括 sequence 和 unsequence)加载到新集群中。
不需要旧集群数据的情况:
停止旧集群。
删除旧集群的 data 目录和 logs 目录。
修改新集群及其所在主机的 host 配置。
启动新集群。
在 CLI 连接时,需加上 -h hostname 参数。
对于使用 session 或 sessionPool 的客户端,建议也更新为对应的主机名(hosts)。
作者:铁头乔