IoTDB服务安装教程-集群版

文章目录

    • 官方说明文档
    • 下载地址
    • 服务安装
      • 节点服务分配
      • 修改配置文件
      • 修改堆内存
      • 启动集群
        • 启动第一个节点
        • 启动其他两个节点的 ConfigNode 和 DataNode
        • 检验集群状态
        • 修改集群密码
      • 【附录】清理环境
    • 集群扩容
      • 修改配置
      • 扩容
      • 验证扩容结果
    • 集群缩容
      • 缩容一个 ConfigNode
      • 缩容一个 DataNode
      • 验证缩容结果

官方说明文档

https://iotdb.apache.org/zh/UserGuide/V1.2.x/Deployment-and-Maintenance/Deployment-Recommendation.html#%E9%83%A8%E7%BD%B2%E6%A8%A1%E5%BC%8F%E9%80%89%E5%9E%8B

下载地址

https://iotdb.apache.org/Download/

这里下载的1.2.2版本

链接: https://pan.baidu.com/s/1B1c2DTd1k8MA84V4CxdAjw?pwd=k5c8 提取码: k5c8

安装包目录结构

/data/iotdb/
├── conf    # 配置文件
├── lib     # jar library
├── sbin    # 启动/停止等脚本
└── tools   # 其他工具

服务安装

节点服务分配

节点IP192.168.132.10192.168.132.11192.168.132.12
服务ConfigNodeConfigNodeConfigNode
服务DataNodeDataNodeDataNode

端口占用:

服务ConfigNodeDataNode
端口10710, 107206667, 10730, 10740, 10750, 10760

修改配置文件

配置文件在 /data/iotdb/conf目录下。

配置文件配置项IP:192.168.132.10IP:192.168.132.11IP:192.168.132.12
iotdb-confignode.propertiescn_internal_address192.168.132.10192.168.132.11192.168.132.12
cn_target_config_node_list192.168.132.10:10710192.168.132.10:10710192.168.132.10:10710
iotdb-datanode.propertiesdn_rpc_address192.168.132.10192.168.132.11192.168.132.12
dn_internal_address192.168.132.10192.168.132.11192.168.132.12
dn_target_config_node_list192.168.132.10:10710192.168.132.10:10710192.168.132.10:10710

修改堆内存

confignode-env.sh 设置 MAX_HEAP_SIZE="2G"

datanode-env.sh设置MAX_HEAP_SIZE="16G"

  • JVM堆内存配置: confignode-env.shdatanode-env.sh 内配置MAX_HEAP_SIZE, 建议设置值大于等于1G。ConfigNode 1~2G就足够了,DataNode的内存配置则要取决于数据接入的数据量和查询数据量。

启动集群

启动第一个节点

即上面表格中cn_target_config_node_list配置的节点。
登录该节点 192.168.132.10,执行下面命令:

cd /data/iotdb
# 启动 ConfigNode 和 DataNode 服务
sbin/start-standalone.sh# 查看 DataNode 日志以确定启动成功
tail -f logs/log_datanode_all.log
# 期望看见类似下方的日志
# 2023-07-21 20:26:01,881 [main] INFO  o.a.i.db.service.DataNode:192 - Congratulation, IoTDB DataNode is set up successfully. Now, enjoy yourself!

如果没有看到上面所说的日志或者看到了 Exception,那么代表启动失败了。请查看 /data/iotdb/logs 目录内的log_confignode_all.loglog_datanode_all.log 日志文件。

注意

  • 要保证第一个节点启动成功后,再启动其他节点。确切的说,要先保证第一个 ConfigNode 服务启动成功,即cn_target_config_node_list配置的节点。

  • 如果启动失败,需要清理环境(参考清理环境章节)后,再次启动。

  • ConfigNode 和 DataNode 服务都可以单独启动:

    # 单独启动 ConfigNode, 后台启动
    sbin/start-confignode.sh -d
    # 单独启动 DataNode,后台启动
    sbin/start-datanode.sh -d
    
启动其他两个节点的 ConfigNode 和 DataNode

在节点 192.168.132.11 和 192.168.132.12 两个节点上分别执行:

cd /data/iotdb
# 启动 ConfigNode 和 DataNode 服务
sbin/start-standalone.sh

如果启动失败,需要在所有节点执行清理环境后,然后从启动第一个节点开始,再重新执行一次。

检验集群状态

在任意节点上,在 Cli 执行 show cluster:

/data/iotdb/sbin/start-cli.sh -h 192.168.132.10
IoTDB>show cluster;
# 示例结果如下:
+------+----------+-------+---------------+------------+-------+---------+
|NodeID|  NodeType| Status|InternalAddress|InternalPort|Version|BuildInfo|
+------+----------+-------+---------------+------------+-------+---------+
|     0|ConfigNode|Running| 192.168.132.10|       10710|1.x.x  |  xxxxxxx|
|     1|  DataNode|Running| 192.168.132.10|       10730|1.x.x  |  xxxxxxx|
|     2|ConfigNode|Running| 192.168.132.11|       10710|1.x.x  |  xxxxxxx|
|     3|  DataNode|Running| 192.168.132.11|       10730|1.x.x  |  xxxxxxx|
|     4|ConfigNode|Running| 192.168.132.12|       10710|1.x.x  |  xxxxxxx|
|     5|  DataNode|Running| 192.168.132.12|       10730|1.x.x  |  xxxxxxx|
+------+----------+-------+---------------+------------+--------------+---------+

说明:
start-cli.sh -h 后指定的IP地址,可以是任意一个 DataNode 的IP地址。

修改集群密码
 bash sbin/start-cli.sh -h 172.16.24.224 -p 6667 -u root -pw rootALTER USER root SET PASSWORD '123123';

【附录】清理环境

在所有节点执行:

  1. 结束 ConfigNode 和 DataNode 进程。
# 1. 停止 ConfigNode 和 DataNode 服务
sbin/stop-standalone.sh# 2. 检查是否还有进程残留
jps
# 或者
ps -ef|gerp iotdb# 3. 如果有进程残留,则手动kill
kill -9 <pid>
# 如果确定机器上仅有1个iotdb,可以使用下面命令清理残留进程
ps -ef|grep iotdb|grep -v grep|tr -s '  ' ' ' |cut -d ' ' -f2|xargs kill -9
  1. 删除 data 和 logs 目录。
cd /data/iotdb
rm -rf data logs

说明:删除 data 目录是必要的,删除 logs 目录是为了纯净日志,非必需。

集群扩容

扩容方式与上方启动其他节点相同。也就是,在要添加的节点上,下载IoTDB的安装包,解压,修改配置,然后启动。这里要添加节点的IP为 192.168.132.13
注意:

  • 扩容的节点必须是干净的节点,不能有数据(也就是data目录)
  • iotdb-common.properties中的cluster_name的配置必须和已有集群一致。
  • cn_target_config_node_listdn_target_config_node_list的配置必须和已有集群一致。
  • 原有数据不会移动到新节点,新创建的元数据分区和数据分区很可能在新的节点。

修改配置

按照下表修改相应的配置文件:

配置配置项IP:192.168.132.13
iotdb-confignode.propertiescn_internal_address192.168.132.13
cn_target_config_node_list192.168.132.10:10710
iotdb-datanode.propertiesdn_rpc_address192.168.132.13
dn_internal_address192.168.132.13
dn_target_config_node_list192.168.132.10:10710

扩容

在新增节点192.168.132.13上,执行:

cd /data/iotdb
# 启动 ConfigNode 和 DataNode 服务
sbin/start-standalone.sh

验证扩容结果

在 Cli 执行 show cluster,结果如下:

/data/iotdb/sbin/start-cli.sh -h 192.168.132.10
IoTDB>show cluster;
# 示例结果如下:
+------+----------+-------+---------------+------------+-------+---------+
|NodeID|  NodeType| Status|InternalAddress|InternalPort|Version|BuildInfo|
+------+----------+-------+---------------+------------+-------+---------+
|     0|ConfigNode|Running| 192.168.132.10|       10710|1.x.x  |  xxxxxxx|
|     1|  DataNode|Running| 192.168.132.10|       10730|1.x.x  |  xxxxxxx|
|     2|ConfigNode|Running| 192.168.132.11|       10710|1.x.x  |  xxxxxxx|
|     3|  DataNode|Running| 192.168.132.11|       10730|1.x.x  |  xxxxxxx|
|     4|ConfigNode|Running| 192.168.132.12|       10710|1.x.x  |  xxxxxxx|
|     5|  DataNode|Running| 192.168.132.12|       10730|1.x.x  |  xxxxxxx|
|     6|ConfigNode|Running| 192.168.132.13|       10710|1.x.x  |  xxxxxxx|
|     7|  DataNode|Running| 192.168.132.13|       10730|1.x.x  |  xxxxxxx|
+------+----------+-------+---------------+------------+-------+---------+

集群缩容

注意:

  • 可以在任何一个集群内的节点上,执行缩容操作。
  • 集群内的任意节点都可以被缩容。但是存留的 DataNode 服务不能小于副本数设置。
  • 请耐心等待缩容脚本执行结束,并仔细阅读日志说明,尤其是结束前的指南说明。

缩容一个 ConfigNode

cd /data/iotdb
# 方式一:使用 ip:port 移除
sbin/remove-confignode.sh 192.168.132.13:10710# 方式二:使用节点编号移除, `show cluster`中的 NodeID 
sbin/remove-confignode.sh 6

缩容一个 DataNode

cd /data/iotdb
# 方式一:使用 ip:port 移除
sbin/remove-datanode.sh 192.168.132.13:6667# 方式二:使用节点编号移除, `show cluster`中的 NodeID
sbin/remove-confignode.sh 7

验证缩容结果

在 Cli 执行 show cluster,结果如下:

+------+----------+-------+---------------+------------+-------+---------+
|NodeID|  NodeType| Status|InternalAddress|InternalPort|Version|BuildInfo|
+------+----------+-------+---------------+------------+-------+---------+
|     0|ConfigNode|Running| 192.168.132.10|       10710|1.x.x  |  xxxxxxx|
|     1|  DataNode|Running| 192.168.132.10|       10730|1.x.x  |  xxxxxxx|
|     2|ConfigNode|Running| 192.168.132.11|       10710|1.x.x  |  xxxxxxx|
|     3|  DataNode|Running| 192.168.132.11|       10730|1.x.x  |  xxxxxxx|
|     4|ConfigNode|Running| 192.168.132.12|       10710|1.x.x  |  xxxxxxx|
|     5|  DataNode|Running| 192.168.132.12|       10730|1.x.x  |  xxxxxxx|
+------+----------+-------+---------------+------------+-------+---------+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/214628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XCube——用于超高分辨率 3D 形状和场景的生成模型!

他们的方法在稀疏体素网格的层次结构上训练潜在扩散模型的层次结构。他们在稀疏结构 VAE 的潜在空间上进行扩散&#xff0c;它为层次结构的每个级别学习紧凑的潜在表示。 XCube 是稀疏体素层次上的分层潜在扩散模型&#xff0c;即从粗到细的 3D 稀疏体素网格序列&#xff0c;使…

灵茶 2023 - 12 - 11

链接 : Problem - C - Codeforces 题意 : 输入一个长度 ≤1e5 的字符串 s&#xff0c;只包含小写字母。 找到一个最小的 k&#xff0c;使得所有长度 > k 的连续子串&#xff0c;有公共字母&#xff08;这些子串的交集不为空&#xff09;。 思路 : 就是求每个字母的…

智能优化算法之粒子群模型(含python案例代码)

粒子群优化模型概述 粒子群优化&#xff08;Particle Swarm Optimization&#xff0c;简称PSO&#xff09;是一种基于群体智能的优化算法&#xff0c;最早由美国社会心理学家James Kennedy和Russell Eberhart于1995年提出。PSO的灵感来自鸟群和鱼群等自然界群体行为的观察。 PS…

Linux驱动入门——编写第一个驱动

目录 前言 驱动入门知识 1.APP 打开的文件在内核中如何表示 2.打开字符设备节点时&#xff0c;内核中也有对应的 struct file 编写 Hello 驱动程序步骤 1.流程介绍 2.驱动代码&#xff1a; 3.应用层代码&#xff1a; 4.本驱动程序的 Makefile 内容&#xff1a; 5.上机…

4fiddler抓包工具的使用

一、定义 1.1 抓包的定义 说明&#xff1a;客户端向服务器发送请求以及服务器响应客户端的请求&#xff0c;都是以数据包来传递的。 抓包(packet capture)&#xff1a;通过工具拦截客户端与服务器交互的数据包 1.2 fiddler的介绍 Fiddler是一个http协议调试代理工具&#…

Java程序设计基础 - 课程概述

文章目录 一、程序员最具共性的心理特征二、Java开发工程师的岗位要求(一)素质和职业道德需求(二)岗位能力需求统计三、针对Java工程师岗位需求的课程目标(一)熟练掌握Java编程语言,掌握编程技能(二)精通使用集成开发工具Eclipse或IntelliJ IDEA(三)需要将“用户体验…

市场全局复盘 20231208

一、板块成交额排名&#xff1a; 资金流入前三个板块K 线&#xff1a; 行业成交额排名&#xff1a; 个股资金流入排名&#xff1a; select 成交额排名 ,近日指标提示 ,短线主题 ,涨停分析,CODE,名称,DDE大单净量,现价,量比,连板天,周涨停,月涨停,年涨停天,连涨天,…

【每日一题】—— B. StORage room(Codeforces Round 912 (Div. 2))(位操作符)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

工业传感器

工业传感器 电子元器件百科 文章目录 工业传感器前言一、工业传感器是什么二、工业传感器的类别三、工业传感器的应用实例四、工业传感器的作用原理总结前言 工业传感器的应用可以帮助提高工业过程的效率、安全性和可靠性,实现工业自动化和智能化。 一、工业传感器是什么 工…

使用阿里云国际CDN加速后网站无法访问的排查步骤

使用阿里云国际CDN加速后网站无法访问的排查步骤&#xff0c;下面是一些常见的问题&#xff0c;以&#xff1a;www.c.9he.com为例&#xff0c;如果解决不了来信服务器厂商解决。 检查CDN访问异常是CDN节点的问题还是源站问题 如果是源站访问异常&#xff0c;请直接排查源站服务…

Faster R-CNN

Faster R-CNN是作者Ross Girshick继Fast R-CNN后的又一力作。同样使用VGG16作推理速度在GPU上达到5fps(包括候选区域的生成)&#xff0c;准确率为网络的backbone&#xff0c;也有进一步的提升。在2015年的ILSVRC以及COCO竞赛中获得多个项目的第一名。 算法流程 右边这部分和Fa…

算法Day27 身材管理(三维背包)

身材管理&#xff08;三维背包&#xff09; Description Input Output Sample 代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt(); // 输入n的值int money sca…

KaiOS 运营商相关文件operator_variant_manager.js代码功能和调试

gaia/apps/system/js/operator_variant_manager.js at master mozilla-b2g/gaia GitHub js文件接口功能 No 接口/常量 功能 1 OperatorVariantManager var OperatorVariantManager function(core) 2 OperatorVariantManager.IMPORTS OperatorVariantManager.I…

搜集怎么绘制三维曲线和曲面?

1、针对函数对象是单一变量、两个函数的情况。用plot3函数&#xff1b;&#xff08;三维曲线&#xff09; 看一下matlab官方的例子&#xff1a; t 0:pi/50:10*pi; st sin(t); ct cos(t); plot3(st,ct,t) 绘制出来的曲线&#xff1a; 几个比较关键的点&#xff1a; &…

【Marp】基于Markdown-Marp快速制作PPT

【Marp】基于Markdown-Marp快速制作PPT 文章目录 【Marp】基于Markdown-Marp快速制作PPT零、参考资料一、Marp基本语法&#xff08;创建分页&#xff0c;排版图片&#xff0c;更换主题&#xff0c;Marp扩展指令修改样式&#xff09;1、创建新的PPT页面2、插入图片 & 排版图…

小功能实现(二十)分类统计,Map取值自增

前言 从Map取值&#xff0c;根据获取的类型进行统计&#xff0c;若有则1&#xff0c;若无则新增新的分类纯属灵机一动 步骤 for (String str : stringList) {int counttypeMap.getOrDefault(str,0);typeMap.put(resultList[2],count); }

解决删除文件后 WSL2 磁盘空间不释放的问题

查看 Linux distributions 打开 PowerShell 并执行如下命令&#xff1a; wsl -l -v 搜索并找到 ext4.vhdx 文件 我的 ext4.vhdx 文件如下&#xff1a; C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx 由于…

vue中yarn install超时问题

囚笼中的网络固然可以稳定局势&#xff0c;不让猴子们得以随时醒悟&#xff01;给你吃的你就好好吃&#xff0c;不要有其他的翻然醒悟的时刻。无论如何&#xff0c;愚蠢的活着也是一种幸福&#xff0c;听着那些耐心寻味的统计幸福指数&#xff0c;我们不由的幸福的一批。。 最…

软件开发流程分析

软件开发流程分析 相关概念1 原型设计2 产品设计3 交互设计4 代码实现详细步骤 相关概念 前端&#xff1a;自研API&#xff0c;调用第三放API 后端&#xff1a;自研API&#xff0c;第三方API 数据库&#xff1a;Mysql&#xff0c;数据采集&#xff0c;数据迁移 服务器&#xf…

算法与数据结构--最短路径Dijkstra算法

题目&#xff1a; 算法与数据结构实验题 10.20 迷路 ★实验任务 学长经常迷路&#xff0c;现在他又遇到问题了&#xff0c;需要求救。 假设他有一张地图&#xff0c;上面有N个点&#xff0c;M条路&#xff0c;他现在在编号为S的地方&#xff0c;想要去编号为E的地方&#x…