Apache IoTDB部署运维的方法是什么
Apache IoTDB部署运维的方法是什么
本篇内容主要讲解“Apache IoTDB部署运维的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Apache IoTDB部署运维的方法是什么”吧!
开箱即用
IoTDB 的理念就是系统运维要简单,要一键启动、开箱即用。就从启动开始说起吧,需要安装 jdk8 或者 jdk11,下载发布版,,解压缩后是这样的目录结构:
内存在 conf/iotdb-env.sh 里,配置 MAX_HEAP_SIZE,要去掉前边的注释。其他所有配置都在 conf/iotdb-engine.properties 里。
可能需要给脚本加个执行权限,接下来后台启动server:
nohupsbin/start-server.sh>/dev/null2>&1&
目录结构
使用默认配置启动并且写数据之后,项目根目录会生成下面这些文件夹,都在 data 目录下:
其中主要包括 3 部分,数据文件data/data,系统文件data/system,写前日志data/wal。
数据目录:data/data
目录组织方式为顺序/乱序数据 ->存储组-> 分区号(目前默认一个分区) ->数据文件.tsfile及索引文件.resource。
数据文件 TsFile (Timeseries File) 是我们设计的列存文件格式,主要存储各个时间序列原始数据,TsFile 有单独的 API,可以当做一个独立的工具使用,就像 Parquet、ORC 一样。数据文件可以配置多目录,通过 data_dirs 参数配置。
系统目录:data/system
里面有几个重要的文件。
mlog.txt:元数据日志,采用追加的方式,记录了所有的元数据操作,包括增删存储组、增删时间序列等。重启的时候会重做这个文件里的日志,遇到错误的会跳过。
system.properties:系统属性,记录了一些启动后不可更改的参数,如分区粒度、时间精度等。
tlog.txt:标签和属性信息,如果没创建,这个文件就是空的。
写前日志目录:data/wal
写入的数据会先记录写前日志,然后写到内存里。当内存里的数据刷盘之后,写前日志才会被清理。当你发现写了一些数据之后,数据目录还是空的,这时候数据就在写前日志和内存里。
写前日志是按照存储组组织的,一个写前日志文件对应一个 TsFile 文件。
如果想强制将内存的数据刷盘,可以通过 CLI 执行 flush 命令。会持久化内存数据,并且清楚写前日志。
系统日志:data/logs
除了上边那三个最重要的,还有系统日志,日志文件按照日期归档,没有日期的就是今天的。
出现问题可以来这里拷日志发给我们。
重新来过
测试了一些之后,想重新来过,很方便,把上边那三个目录都删掉,重新启动就可以了。还是整条街最靓的 IoTDB 。
数据迁移
迁移之前,最好用 CLI 控制台执行一次 flush 命令,持久化内存数据(这样就没有写前日志了)。重启一次 IoTDB 也是类似的效果。迁移的IoTDB版本要相同。
介绍几个场景:
1. 把 A 机器上的 IoTDB 整体迁移到 B 机器上(调试、数据备份等)
可以把整个data目录(包括数据目录、系统目录)都拷过去,在 B 机器配置好根目录,启动 B 机器的 IoTDB 即可。
2.把 A 机器上的 IoTDB 的部分存储组的数据迁移到 B 机器上
想迁移数据,元数据一定要迁移。首先把 A 机器的 data/system 目录拷贝到 B 机器上,接下来把 A 机器数据目录里的部分存储组目录拷贝到 B 机器,在 B 机器配置好对应的目录。启动 B 机器的 IoTDB 即可。
3.把 A 机器上的 IoTDB 的元数据迁移到 B 机器上,但是不要数据
把 A 机器的 data/system 目录拷贝到 B 机器的相应位置,启动 B 机器的 IoTDB 即可。
系统监控
监控系统的内存和CPU还是很爽的,现在让大家也爽一下,以下适用于 0.9.2 以后的版本,主要是用 jvisualvm,本地需要有 jdk8。
如果是本机运行 IoTDB,直接在本机命令行输入 jvisualvm 就可以连接本机的 IoTDB 进程了。
如果要在服务器运行 IoTDB,需要先修改配置文件 conf/iotdb-env.sh,
JMX_LOCAL="false"JMX_IP="the_real_iotdb_server_ip"#填写实际IoTDB的IP地址
查看 conf/jmx.password,这里记录了默认的 JMX 的用户和密码,可以修改。各个用户的权限在 conf/jmx.access 中。
然后建立远程连接,默认 31999 端口,连上之后就能看到了:
到此,相信大家对“Apache IoTDB部署运维的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
推荐阅读
-
apache2无法解析php如何解决
-
5分钟搭建起apache+php+mysql开发环境
-
Apache服务器是如何解析PHP 小编来给你解疑
为了让Apache支持php,我们通常的做法是编译一个apche的php模块,在配置中配置让mod_php来处理php文件的请求...
-
Centos7系统yum安装Apache PHP MySQL环境
-
Mac电脑、MacOS系统 下php、apache、mysql开发环境配置
-
在 Windows 10 上安装 PHP(使用 Apache 和 MySQL)
-
Mac自带Apache和PHP位置及简单命令
之前一直使用的Windows开发环境,用了很多年的wampserver集成,自从上个月LP大人开恩换了最新款macpro之后一直...
-
centos7 apache 利用yum安装多版本php
在今天的教程中,我们想展示如何在CentOS7linux上使用apache运行多个PHP版本。具有多个php版本并在单...
-
PHP运行原理及Mac OS下Apache的安装配置
-
如何启用 Apache 的 PHP-FPM 多实例