有几种方法可以识别您使用的 IoTDB 版本:
# Unix/OS X > ./start-cli.sh -p 6667 -pw root -u root -h localhost _____ _________ ______ ______ |_ _| | _ _ ||_ _ `.|_ _ \ | | .--.|_/ | | \_| | | `. \ | |_) | | | / .'`\ \ | | | | | | | __'. _| |_| \__. | _| |_ _| |_.' /_| |__) | |_____|'.__.' |_____| |______.'|_______/ version x.x.x
Windows 系统启动命令示例:
# V2.0.4.x 版本之前 > .\sbin\start-cli.bat -p 6667 -pw root -u root -h localhost # V2.0.4.x 版本及之后 > .\sbin\windows\start-cli.bat -p 6667 -pw root -u root -h localhost
<version>x.x.x</version>
String iotdbVersion = tsfileDatabaseMetadata.getDatabaseProductVersion();
IoTDB> show version show version +---------------+ |version | +---------------+ |x.x.x | +---------------+ Total line number = 1 It costs 0.241s
假设您的根目录是:
$ pwd /workspace/iotdb $ ls -l server/ cli/ pom.xml Readme.md ...
假如 $IOTDB_HOME = /workspace/iotdb/server/target/iotdb-server-{project.version}
假如 $IOTDB_CLI_HOME = /workspace/iotdb/cli/target/iotdb-cli-{project.version}
在默认的设置里,logs 文件夹会被存储在IOTDB_HOME/logs。您可以在IOTDB_HOME/conf目录下的logback.xml文件中修改日志的级别和日志的存储路径。
在默认的设置里,数据文件(包含 TsFile,metadata,WAL)被存储在IOTDB_HOME/data/datanode文件夹。
是的。IoTDB 与开源生态紧密结合。IoTDB 支持 Spark 可视化工具。
IoTDB 客户端默认显示的时间是人类可读的(比如:1970-01-01T08:00:00.001),如果您想显示是时间戳或者其他可读格式,请在启动命令上添加参数-disableISO8601:
# Unix/OS X > $IOTDB_CLI_HOME/sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root -disableISO8601
Windows 系统启动命令示例:
# V2.0.4.x 版本之前 > %IOTDB_CLI_HOME%\sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root -disableISO8601 # V2.0.4.x 版本及之后 > %IOTDB_CLI_HOME%\sbin\windows\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root -disableISO8601
org.apache.ratis.grpc.server.GrpcLogAppender的IndexOutOfBoundsException?这是我们的依赖Ratis 2.4.1的一个内部错误日志,不会对数据写入和读取造成任何影响。 已经报告给Ratis社区,并会在未来的版本中修复。
报错信息:
301: There is not enough memory to execute current fragment instance, current remaining free memory is 86762854, estimated memory usage for current fragment instance is 270139392
报错分析: datanode_memory_proportion参数控制分给查询的内存,chunk_timeseriesmeta_free_memory_proportion参数控制查询执行可用的内存。 默认情况下分给查询的内存为堆内存*30%,查询执行可用的内存为查询内存的20%。 报错显示当前剩余查询执行可用内存为86762854B=82.74MB,该查询预估使用执行内存270139392B=257.6MB。
一些可能的改进项:
请按以下步骤操作(需 root 权限,建议使用 sudo):
sudo mv /bin/lsof /bin/lsof.bak 2>/dev/null || true
下载与操作系统匹配的 RPM 包(示例为 CentOS 7/RHEL 7):
sudo rpm -ivh lsof-4.87-6.el7.x86_64.rpm
提示: 请根据实际系统版本选择对应 RPM 包(如 el8 用于 CentOS 8)。 若系统已通过
yum/dnf安装过 lsof,建议先卸载:sudo yum remove lsof。
lsof -v # 正常应输出版本号(如 revision 4.87)
-bash: /bin/lsof: 没有那个文件或目录)which lsof # 查看实际安装路径(示例输出:/usr/sbin/lsof) sudo ln -sf $(which lsof) /bin/lsof # 自动创建软链接至标准路径
sudo rpm -e lsof
sudo yum remove lsof # CentOS/RHEL 7 sudo dnf remove lsof # CentOS/RHEL 8+
注意:
which lsof 实际输出为准,勿直接复制示例路径。remove-datanode.sh -f 命令,来强制移除节点(迁移失败的Region会直接丢弃)stop-confignode.sh或kill进程方式关闭ConfigNode进程start-confignode.sh启动ConfigNode进程实现重启stop-datanode.sh或kill进程方式关闭DataNode进程start-datanode.sh启动DataNode进程实现重启start-confignode.sh/start-datanode.sh,这种情况下能成功吗?