You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by le...@apache.org on 2023/07/25 15:19:04 UTC
[iotdb-docs] branch rl updated (831a292 -> 4b2bba6)
This is an automated email from the ASF dual-hosted git repository.
leirui pushed a change to branch rl
in repository https://gitbox.apache.org/repos/asf/iotdb-docs.git
discard 831a292 finish FAQ
new 4b2bba6 fix FAQ
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (831a292)
\
N -- N -- N refs/heads/rl (4b2bba6)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../Master/FAQ/Frequently-asked-questions.md | 105 +++++++++++++++++++--
.../V1.1.x/FAQ/Frequently-asked-questions.md | 95 ++-----------------
.../Master/FAQ/Frequently-asked-questions.md | 11 ++-
3 files changed, 110 insertions(+), 101 deletions(-)
[iotdb-docs] 01/01: fix FAQ
Posted by le...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
leirui pushed a commit to branch rl
in repository https://gitbox.apache.org/repos/asf/iotdb-docs.git
commit 4b2bba6d3dd23c2a18177603917d48b7ce2ba324
Author: Lei Rui <10...@qq.com>
AuthorDate: Tue Jul 25 23:18:55 2023 +0800
fix FAQ
---
.../Master/FAQ/Frequently-asked-questions.md | 105 +++++++++++++++++++--
.../Master/FAQ/Frequently-asked-questions.md | 29 +++---
2 files changed, 110 insertions(+), 24 deletions(-)
diff --git a/src/UserGuide/Master/FAQ/Frequently-asked-questions.md b/src/UserGuide/Master/FAQ/Frequently-asked-questions.md
index 8c44863..804ed0b 100644
--- a/src/UserGuide/Master/FAQ/Frequently-asked-questions.md
+++ b/src/UserGuide/Master/FAQ/Frequently-asked-questions.md
@@ -21,7 +21,9 @@
# Frequently Asked Questions
-**How can I identify my version of IoTDB?**
+## General FAQ
+
+### 1. How can I identify my version of IoTDB?
There are several ways to identify the version of IoTDB that you are using:
@@ -63,7 +65,7 @@ Total line number = 1
It costs 0.241s
```
-**Where can I find IoTDB logs?**
+### 2. Where can I find IoTDB logs?
Suppose your root directory is:
@@ -85,11 +87,11 @@ Let `$IOTDB_CLI_HOME = /workspace/iotdb/cli/target/iotdb-cli-{project.version}`
By default settings, the logs are stored under ```IOTDB_HOME/logs```. You can change log level and storage path by configuring ```logback.xml``` under ```IOTDB_HOME/conf```.
-**Where can I find IoTDB data files?**
+### 3. Where can I find IoTDB data files?
By default settings, the data files (including tsfile, metadata, and WAL files) are stored under ```IOTDB_HOME/data/datanode```.
-**How do I know how many time series are stored in IoTDB?**
+### 4. How do I know how many time series are stored in IoTDB?
Use IoTDB's Command Line Interface:
@@ -112,15 +114,15 @@ If you are using Linux, you can use the following shell command:
> 6
```
-**Can I use Hadoop and Spark to read TsFile in IoTDB?**
+### 5. Can I use Hadoop and Spark to read TsFile in IoTDB?
Yes. IoTDB has intense integration with Open Source Ecosystem. IoTDB supports [Hadoop](https://github.com/apache/iotdb/tree/master/hadoop), [Spark](https://github.com/apache/iotdb/tree/master/spark-tsfile) and [Grafana](https://github.com/apache/iotdb/tree/master/grafana-plugin) visualization tool.
-**How does IoTDB handle duplicate points?**
+### 6. How does IoTDB handle duplicate points?
-A data point is uniquely identified by a full time series path (e.g. ```root.vehicle.d0.s0```) and timestamp. If you submit a new point with the same path and timestamp as an existing point, IoTDB updates the value of this point instead of inserting a new point.
+A data point is uniquely identified by a full time series path (e.g. ```root.vehicle.d0.s0```) and timestamp. If you submit a new point with the same path and timestamp as an existing point, IoTDB updates the value of this point instead of inserting a new point.
-**How can I tell what type of the specific timeseries?**
+### 7. How can I tell what type of the specific timeseries?
Use ```SHOW TIMESERIES <timeseries path>``` SQL in IoTDB's Command Line Interface:
@@ -142,7 +144,7 @@ Otherwise, you can also use wildcard in timeseries path:
IoTDB> show timeseries root.fit.d1.*
```
-**How can I change IoTDB's Cli time display format?**
+### 8. How can I change IoTDB's Cli time display format?
The default IoTDB's Cli time display format is readable (e.g. ```1970-01-01T08:00:00.001```), if you want to display time in timestamp type or other readable format, add parameter ```-disableISO8601``` in start command:
@@ -150,7 +152,90 @@ The default IoTDB's Cli time display format is readable (e.g. ```1970-01-01T08:0
> $IOTDB_CLI_HOME/sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root -disableISO8601
```
-**How to handle error `IndexOutOfBoundsException` from `org.apache.ratis.grpc.server.GrpcLogAppender`?**
+### 9. How to handle error `IndexOutOfBoundsException` from `org.apache.ratis.grpc.server.GrpcLogAppender`?
It is an internal error introduced by Ratis 2.4.1 dependency, and we can safely ignore this exception as it will
not affect normal operations. We will fix this message in the incoming releases.
+
+## FAQ for Cluster Setup
+
+### Cluster StartUp and Stop
+
+#### 1. Failed to start ConfigNode for the first time, how to find the reason?
+
+- Make sure that the data/confignode directory is cleared when start ConfigNode for the first time.
+- Make sure that the <IP+Port> used by ConfigNode is not occupied, and the <IP+Port> is also not conflicted with other ConfigNodes.
+- Make sure that the `cn_target_confignode_list` is configured correctly, which points to the alive ConfigNode. And if the ConfigNode is started for the first time, make sure that `cn_target_confignode_list` points to itself.
+- Make sure that the configuration(consensus protocol and replica number) of the started ConfigNode is accord with the `cn_target_confignode_list` ConfigNode.
+
+#### 2. ConfigNode is started successfully, but why the node doesn't appear in the results of `show cluster`?
+
+- Examine whether the `cn_target_confignode_list` points to the correct address. If `cn_target_confignode_list` points to itself, a new ConfigNode cluster is started.
+
+#### 3. Failed to start DataNode for the first time, how to find the reason?
+
+- Make sure that the data/datanode directory is cleared when start DataNode for the first time. If the start result is “Reject DataNode restart.”, maybe the data/datanode directory is not cleared.
+- Make sure that the <IP+Port> used by DataNode is not occupied, and the <IP+Port> is also not conflicted with other DataNodes.
+- Make sure that the `dn_target_confignode_list` points to the alive ConfigNode.
+
+#### 4. Failed to remove DataNode, how to find the reason?
+
+- Examine whether the parameter of remove-datanode.sh is correct, only rpcIp:rpcPort and dataNodeId are correct parameter.
+- Only when the number of available DataNodes in the cluster is greater than max(schema_replication_factor, data_replication_factor), removing operation can be executed.
+- Removing DataNode will migrate the data from the removing DataNode to other alive DataNodes. Data migration is based on Region, if some regions are migrated failed, the removing DataNode will always in the status of `Removing`.
+- If the DataNode is in the status of `Removing`, the regions in the removing DataNode will also in the status of `Removing` or `Unknown`, which are unavailable status. Besides, the removing DataNode will not receive new write requests from client.
+ And users can use the command `set system status to running` to make the status of DataNode from Removing to Running;
+ If users want to make the Regions from Removing to available status, command `migrate region from datanodeId1 to datanodeId2` can take effect, this command can migrate the regions to other alive DataNodes.
+ Besides, IoTDB will publish `remove-datanode.sh -f` command in the next version, which can remove DataNodes forced (The failed migrated regions will be discarded).
+
+#### 5. Whether the down DataNode can be removed?
+
+- The down DataNode can be removed only when the replica factor of schema and data is greater than 1.
+ Besides, IoTDB will publish `remove-datanode.sh -f` function in the next version.
+
+#### 6. What should be paid attention to when upgrading from 0.13 to 1.0?
+
+- The file structure between 0.13 and 1.0 is different, we can't copy the data directory from 0.13 to 1.0 to use directly.
+ If you want to load the data from 0.13 to 1.0, you can use the LOAD function.
+- The default RPC address of 0.13 is `0.0.0.0`, but the default RPC address of 1.0 is `127.0.0.1`.
+
+
+### Cluster Restart
+
+#### 1. How to restart any ConfigNode in the cluster?
+
+- First step: stop the process by stop-confignode.sh or kill PID of ConfigNode.
+- Second step: execute start-confignode.sh to restart ConfigNode.
+
+#### 2. How to restart any DataNode in the cluster?
+
+- First step: stop the process by stop-datanode.sh or kill PID of DataNode.
+- Second step: execute start-datanode.sh to restart DataNode.
+
+#### 3. If it's possible to restart ConfigNode using the old data directory when it's removed?
+
+- Can't. The running result will be "Reject ConfigNode restart. Because there are no corresponding ConfigNode(whose nodeId=xx) in the cluster".
+
+#### 4. If it's possible to restart DataNode using the old data directory when it's removed?
+
+- Can't. The running result will be "Reject DataNode restart. Because there are no corresponding DataNode(whose nodeId=xx) in the cluster. Possible solutions are as follows:...".
+
+#### 5. Can we execute start-confignode.sh/start-datanode.sh successfully when delete the data directory of given ConfigNode/DataNode without killing the PID?
+
+- Can't. The running result will be "The port is already occupied".
+
+### Cluster Maintenance
+
+#### 1. How to find the reason when Show cluster failed, and error logs like "please check server status" are shown?
+
+- Make sure that more than one half ConfigNodes are alive.
+- Make sure that the DataNode connected by the client is alive.
+
+#### 2. How to fix one DataNode when the disk file is broken?
+
+- We can use remove-datanode.sh to fix it. Remove-datanode will migrate the data in the removing DataNode to other alive DataNodes.
+- IoTDB will publish Node-Fix tools in the next version.
+
+#### 3. How to decrease the memory usage of ConfigNode/DataNode?
+
+- Adjust the MAX_HEAP_SIZE、MAX_DIRECT_MEMORY_SIZE options in conf/confignode-env.sh and conf/datanode-env.sh.
diff --git a/src/zh/UserGuide/Master/FAQ/Frequently-asked-questions.md b/src/zh/UserGuide/Master/FAQ/Frequently-asked-questions.md
index 2721370..1c5e250 100644
--- a/src/zh/UserGuide/Master/FAQ/Frequently-asked-questions.md
+++ b/src/zh/UserGuide/Master/FAQ/Frequently-asked-questions.md
@@ -23,9 +23,9 @@
# 常见问题
-## 常见问题
+## 一般问题
-### 如何查询我的IoTDB版本?
+### 1. 如何查询我的IoTDB版本?
有几种方法可以识别您使用的 IoTDB 版本:
@@ -67,7 +67,7 @@ Total line number = 1
It costs 0.241s
```
-### 在哪里可以找到IoTDB的日志?
+### 2. 在哪里可以找到IoTDB的日志?
假设您的根目录是:
@@ -89,11 +89,11 @@ Readme.md
在默认的设置里,logs 文件夹会被存储在```IOTDB_HOME/logs```。您可以在```IOTDB_HOME/conf```目录下的```logback.xml```文件中修改日志的级别和日志的存储路径。
-### 在哪里可以找到IoTDB的数据文件?
+### 3. 在哪里可以找到IoTDB的数据文件?
在默认的设置里,数据文件(包含 TsFile,metadata,WAL)被存储在```IOTDB_HOME/data/datanode```文件夹。
-### 如何知道IoTDB中存储了多少时间序列?
+### 4. 如何知道IoTDB中存储了多少时间序列?
使用 IoTDB 的命令行接口:
@@ -116,15 +116,15 @@ IoTDB> count timeseries root
> 6
```
-### 可以使用Hadoop和Spark读取IoTDB中的TsFile吗?
+### 5. 可以使用Hadoop和Spark读取IoTDB中的TsFile吗?
是的。IoTDB 与开源生态紧密结合。IoTDB 支持 [Hadoop](https://github.com/apache/iotdb/tree/master/hadoop), [Spark](https://github.com/apache/iotdb/tree/master/spark-tsfile) 和 [Grafana](https://github.com/apache/iotdb/tree/master/grafana) 可视化工具。
-### IoTDB如何处理重复的数据点?
+### 6. IoTDB如何处理重复的数据点?
-一个数据点是由一个完整的时间序列路径(例如:```root.vehicle.d0.s0```) 和时间戳唯一标识的。如果您使用与现有点相同的路径和时间戳提交一个新点,那么 IoTDB 将更新这个点的值,而不是插入一个新点。
+一个数据点是由一个完整的时间序列路径(例如:```root.vehicle.d0.s0```) 和时间戳唯一标识的。如果您使用与现有点相同的路径和时间戳提交一个新点,那么 IoTDB 将更新这个点的值,而不是插入一个新点。
-### 我如何知道具体的timeseries的类型?
+### 7. 我如何知道具体的timeseries的类型?
在 IoTDB 的命令行接口中使用 SQL ```SHOW TIMESERIES <timeseries path>```:
@@ -146,7 +146,7 @@ IoTDB> show timeseries root.fit.d1.s1
IoTDB> show timeseries root.fit.d1.*
```
-### 如何更改IoTDB的客户端时间显示格式?
+### 8. 如何更改IoTDB的客户端时间显示格式?
IoTDB 客户端默认显示的时间是人类可读的(比如:```1970-01-01T08:00:00.001```),如果您想显示是时间戳或者其他可读格式,请在启动命令上添加参数```-disableISO8601```:
@@ -154,7 +154,7 @@ IoTDB 客户端默认显示的时间是人类可读的(比如:```1970-01-01T
> $IOTDB_CLI_HOME/sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root -disableISO8601
```
-### 怎么处理来自`org.apache.ratis.grpc.server.GrpcLogAppender`的`IndexOutOfBoundsException`?
+### 9. 怎么处理来自`org.apache.ratis.grpc.server.GrpcLogAppender`的`IndexOutOfBoundsException`?
这是我们的依赖Ratis 2.4.1的一个内部错误日志,不会对数据写入和读取造成任何影响。
已经报告给Ratis社区,并会在未来的版本中修复。
@@ -166,8 +166,8 @@ IoTDB 客户端默认显示的时间是人类可读的(比如:```1970-01-01T
#### 1. ConfigNode初次启动失败,如何排查原因?
- ConfigNode初次启动时确保已清空data/confignode目录
-- 确保该ConfigNode使用到的<IP+端口>没有被占用,没有与已启动的ConfigNode使用到的<IP+端口>冲突
-- 确保该ConfigNode的cn_target_confignode_list(指向存活的ConfigNode;如果该ConfigNode是启动的第一个ConfigNode,该值指向自身)配置正确
+- 确保该ConfigNode使用到的<IP+端口>没有被占用,没有与已启动的ConfigNode使用到的<IP+端口>冲突
+- 确保该ConfigNode的cn_target_confignode_list(指向存活的ConfigNode;如果该ConfigNode是启动的第一个ConfigNode,该值指向自身)配置正确
- 确保该ConfigNode的配置项(共识协议、副本数等)等与cn_target_confignode_list对应的ConfigNode集群一致
#### 2. ConfigNode初次启动成功,show cluster的结果里为何没有该节点?
@@ -237,4 +237,5 @@ IoTDB 客户端默认显示的时间是人类可读的(比如:```1970-01-01T
#### 3. 如何降低ConfigNode、DataNode使用的内存?
-- 在conf/confignode-env.sh、conf/datanode-env.sh文件可通过调整MAX_HEAP_SIZE、MAX_DIRECT_MEMORY_SIZE等选项可以调整ConfigNode、DataNode使用的最大堆内、堆外内存
\ No newline at end of file
+- 在conf/confignode-env.sh、conf/datanode-env.sh文件可通过调整MAX_HEAP_SIZE、MAX_DIRECT_MEMORY_SIZE等选项可以调整ConfigNode、DataNode使用的最大堆内、堆外内存
+