From 9360ad37c900b74511af50cb9e767b274b8185ff Mon Sep 17 00:00:00 2001 From: Leto_b Date: Tue, 2 Sep 2025 16:36:11 +0800 Subject: [PATCH] add health check in deployment --- src/.vuepress/sidebar/V2.0.x/en-Table.ts | 2 + src/.vuepress/sidebar/V2.0.x/zh-Table.ts | 2 + .../sidebar_timecho/V2.0.x/en-Table.ts | 2 + .../sidebar_timecho/V2.0.x/zh-Table.ts | 2 + .../Cluster-Deployment_apache.md | 6 +- .../Cluster-Deployment_timecho.md | 7 +- .../Stand-Alone-Deployment_apache.md | 2 +- .../Stand-Alone-Deployment_timecho.md | 3 + .../Master/Table/Tools-System/Backup-Tool.md | 135 +++++++++++ .../Table/Tools-System/Health-Check-Tool.md | 213 +++++++++++++++++ .../Cluster-Deployment_apache.md | 5 +- .../Cluster-Deployment_timecho.md | 3 + .../Stand-Alone-Deployment_apache.md | 3 + .../Stand-Alone-Deployment_timecho.md | 2 + .../Cluster-Deployment_apache.md | 2 + .../Cluster-Deployment_timecho.md | 2 + .../Stand-Alone-Deployment_apache.md | 2 + .../Stand-Alone-Deployment_timecho.md | 2 + .../Cluster-Deployment_apache.md | 3 + .../Cluster-Deployment_timecho.md | 3 + .../Stand-Alone-Deployment_apache.md | 3 + .../Stand-Alone-Deployment_timecho.md | 3 + .../Cluster-Deployment_apache.md | 6 +- .../Cluster-Deployment_timecho.md | 7 +- .../Stand-Alone-Deployment_apache.md | 3 +- .../Stand-Alone-Deployment_timecho.md | 3 + .../latest-Table/Tools-System/Backup-Tool.md | 135 +++++++++++ .../Tools-System/Health-Check-Tool.md | 213 +++++++++++++++++ .../Cluster-Deployment_apache.md | 3 + .../Cluster-Deployment_timecho.md | 3 + .../Stand-Alone-Deployment_apache.md | 3 + .../Stand-Alone-Deployment_timecho.md | 3 + .../Cluster-Deployment_apache.md | 2 +- .../Cluster-Deployment_timecho.md | 3 + .../Stand-Alone-Deployment_apache.md | 3 +- .../Stand-Alone-Deployment_timecho.md | 2 + .../Master/Table/Tools-System/Backup-Tool.md | 126 ++++++++++ .../Table/Tools-System/Health-Check-Tool.md | 220 ++++++++++++++++++ .../Cluster-Deployment_apache.md | 2 + .../Cluster-Deployment_timecho.md | 2 + .../Stand-Alone-Deployment_apache.md | 4 +- .../Stand-Alone-Deployment_timecho.md | 2 + .../Cluster-Deployment_apache.md | 2 + .../Cluster-Deployment_timecho.md | 2 + .../Stand-Alone-Deployment_apache.md | 2 + .../Stand-Alone-Deployment_timecho.md | 2 + .../Cluster-Deployment_apache.md | 2 + .../Cluster-Deployment_timecho.md | 2 + .../Stand-Alone-Deployment_apache.md | 2 + .../Stand-Alone-Deployment_timecho.md | 2 + .../Cluster-Deployment_apache.md | 3 +- .../Cluster-Deployment_timecho.md | 3 + .../Stand-Alone-Deployment_apache.md | 3 +- .../Stand-Alone-Deployment_timecho.md | 3 + .../latest-Table/Tools-System/Backup-Tool.md | 126 ++++++++++ .../Tools-System/Health-Check-Tool.md | 220 ++++++++++++++++++ .../Cluster-Deployment_apache.md | 2 + .../Cluster-Deployment_timecho.md | 2 + .../Stand-Alone-Deployment_apache.md | 2 + .../Stand-Alone-Deployment_timecho.md | 2 + 60 files changed, 1516 insertions(+), 18 deletions(-) create mode 100644 src/UserGuide/Master/Table/Tools-System/Backup-Tool.md create mode 100644 src/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md create mode 100644 src/UserGuide/latest-Table/Tools-System/Backup-Tool.md create mode 100644 src/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md create mode 100644 src/zh/UserGuide/Master/Table/Tools-System/Backup-Tool.md create mode 100644 src/zh/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md create mode 100644 src/zh/UserGuide/latest-Table/Tools-System/Backup-Tool.md create mode 100644 src/zh/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md diff --git a/src/.vuepress/sidebar/V2.0.x/en-Table.ts b/src/.vuepress/sidebar/V2.0.x/en-Table.ts index b563a84e6..9ea59b99a 100644 --- a/src/.vuepress/sidebar/V2.0.x/en-Table.ts +++ b/src/.vuepress/sidebar/V2.0.x/en-Table.ts @@ -142,6 +142,8 @@ export const enSidebar = { { text: 'Schema Export', link: 'Schema-Export-Tool' }, ], }, + { text: 'Full Backup Tool', link: 'Backup-Tool' }, + { text: 'Health Check Tool', link: 'Health-Check-Tool' }, ], }, { diff --git a/src/.vuepress/sidebar/V2.0.x/zh-Table.ts b/src/.vuepress/sidebar/V2.0.x/zh-Table.ts index 63378b2f4..e3898a1df 100644 --- a/src/.vuepress/sidebar/V2.0.x/zh-Table.ts +++ b/src/.vuepress/sidebar/V2.0.x/zh-Table.ts @@ -132,6 +132,8 @@ export const zhSidebar = { { text: '元数据导出', link: 'Schema-Export-Tool' }, ], }, + { text: '全量备份工具', link: 'Backup-Tool' }, + { text: '健康检查工具', link: 'Health-Check-Tool' }, ], }, { diff --git a/src/.vuepress/sidebar_timecho/V2.0.x/en-Table.ts b/src/.vuepress/sidebar_timecho/V2.0.x/en-Table.ts index f220bfdb9..aa5450cbf 100644 --- a/src/.vuepress/sidebar_timecho/V2.0.x/en-Table.ts +++ b/src/.vuepress/sidebar_timecho/V2.0.x/en-Table.ts @@ -147,6 +147,8 @@ export const enSidebar = { { text: 'Schema Export', link: 'Schema-Export-Tool' }, ], }, + { text: 'Full Backup Tool', link: 'Backup-Tool' }, + { text: 'Health Check Tool', link: 'Health-Check-Tool' }, ], }, { diff --git a/src/.vuepress/sidebar_timecho/V2.0.x/zh-Table.ts b/src/.vuepress/sidebar_timecho/V2.0.x/zh-Table.ts index 34d9ed4ea..d057226b2 100644 --- a/src/.vuepress/sidebar_timecho/V2.0.x/zh-Table.ts +++ b/src/.vuepress/sidebar_timecho/V2.0.x/zh-Table.ts @@ -136,6 +136,8 @@ export const zhSidebar = { { text: '元数据导出', link: 'Schema-Export-Tool' }, ], }, + { text: '全量备份工具', link: 'Backup-Tool' }, + { text: '健康检查工具', link: 'Health-Check-Tool' }, ], }, { diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 35294d16b..2c2f263e9 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -42,14 +42,14 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 3. **Unmodifiable Parameters**: Some parameters cannot be changed after the first startup. Refer to the [Parameter Configuration](#22-parameters-configuration) section. -1. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. -2. **User Permissions**: Choose one of the following permissions during installation and deployment: +4. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. +5. **User Permissions**: Choose one of the following permissions during installation and deployment: - **Root User (Recommended)**: This avoids permission-related issues. - **Non-Root User**: - Use the same user for all operations, including starting, activating, and stopping services. - Avoid using `sudo`, which can cause permission conflicts. -6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +6. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). ## 2. Preparation diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 354094244..d2e0400c4 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -42,8 +42,8 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 3. **Unmodifiable Parameters**: Some parameters cannot be changed after the first startup. Refer to the [Parameter Configuration](#22-parameters-configuration) section. -1. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. -2. **User Permissions**: Choose one of the following permissions during installation and deployment: +4. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. +5. **User Permissions**: Choose one of the following permissions during installation and deployment: - **Root User (Recommended)**: This avoids permission-related issues. - **Non-Root User**: - Use the same user for all operations, including starting, activating, and stopping services. @@ -51,6 +51,9 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Preparation 1. Obtain the TimechoDB installation package: `timechodb-{version}-bin.zip` following [IoTDB-Package](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index af7b5e309..a5c457f38 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -44,7 +44,7 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co - Use the same user for all operations, including starting, activating, and stopping services. - Avoid using `sudo`, which can cause permission conflicts. -6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +6. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). ## 2. Installation Steps diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 78d188922..ccf7a598e 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -46,6 +46,9 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Installation Steps ### 2.1 Extract Installation Package diff --git a/src/UserGuide/Master/Table/Tools-System/Backup-Tool.md b/src/UserGuide/Master/Table/Tools-System/Backup-Tool.md new file mode 100644 index 000000000..5759f2a20 --- /dev/null +++ b/src/UserGuide/Master/Table/Tools-System/Backup-Tool.md @@ -0,0 +1,135 @@ + + +# Backup Tool + +## 1. Overview + +The IoTDB Full Backup Tool is designed to create a full backup of a single IoTDB node’s data via hard links to a specified local directory. The backup can then be directly started and joined to the original cluster. The tool offers two modes: **Quick Mirror Mode** and **Manual Backup Path Mode**. + +> **Notes**: +> +> * **Stop the IoTDB service before starting the backup**. +> * The script runs in the background by default, and logs are saved to log files during execution. + + +## 2. Backup Modes + +### 2.1 Mode 1: Quick Mirror Mode + +#### Usage + +```bash +backup.sh/backup.bat -quick -node xxx +# Optional values for xxx are shown in the following examples + +backup.sh/backup.bat -quick -node +# Back up all nodes to the default path + +backup.sh/backup.bat -quick -node all +# Back up all nodes to the default path + +backup.sh/backup.bat -quick -node confignode +# Back up only the ConfigNode to the default path + +backup.sh/backup.bat -quick -node datanode +# Back up only the DataNode to the default path +``` + +#### Parameter Descriptions + +| **Parameter** | **Description** | **Required** | +| ----------------------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ---------------------- | +| `-quick` | Enables Quick Mirror Mode. | No | +| `-node` | Specifies the node type to back up. Options: `all`, `datanode`, or `confignode`. Default: `all`.
`all`: Back up both DataNode and ConfigNode.
`datanode`: Back up only the DataNode.
`confignode`: Back up only the ConfigNode. | No | + +**Process Details**: + +1. Check if the `_backup` folder already exists in the current IoTDB directory or paths specified in the configuration file. If it exists, the tool exits with the error: `The backup folder already exists`. +> When the backup folder already exists, you can try the following solutions: +> * Delete the existing _backup folder and retry the backup. +> * Modify the backup path to avoid conflicts. + +2. Create hard links from the original `dn_data_dirs` paths to the corresponding `_backup` paths. + * Example: If `dn_data_dirs=/data/iotdb/data/datanode/data`, the backup data will be stored in `/data/iotdb/data/datanode/data_backup`. +3. Copy other files from the IoTDB directory (e.g., `/data/iotdb`) to the `_backup` path (e.g., `/data/iotdb_backup`). + + +### 2.2 Mode 2: Manual Backup Path Mode + +#### Usage + +```bash +backup.sh -node xxx -targetdir xxx -targetdatadir xxx -targetwaldir xxx +``` + +#### Parameter Descriptions + +| **Parameter** | **Description** | **Required** | +| ----------------------- | -------------------------------------------------------------------------------------------- | ---------------------- | +| `-node` | Node type to back up (`all`, `datanode`, or `confignode`). Default: `all`. | No | +| `-targetdir` | Target directory for backing up the IoTDB folder. | **Yes** | +| `-targetdatadir` | Target path for `dn_data_dirs` files. Default: `targetdir/data/datanode/data`. | No | +| `-targetwaldir` | Target path for `dn_wal_dirs` files. Default: `targetdir/data/datanode/wal`. | No | + +**Process Details**: + +1. The `-targetdir` parameter is mandatory. If missing, the tool exits with the error: `-targetdir cannot be empty. The backup folder must be specified`. +2. Validate consistency between configuration paths (`dn_data_dirs`, `dn_wal_dirs`) and parameters (`-targetdatadir`, `-targetwaldir`): + + * If `-targetdatadir` or `-targetwaldir` is a single path, it is considered consistent. + * If the number of source paths (from configuration) does not match the target paths, the tool exits with the error: `-targetdatadir parameter exception: the number of original paths does not match the specified paths`. +3. Check if `-targetdatadir` paths are on the same disk as the original paths: + + * **Same disk**: Attempt to create hard links. If hard links fail, copy files instead. + * **Different disk**: Copy files directly. +4. Path Matching Rules + +* **Many-to-One**: Multiple source paths can be backed up to a single target path. +* **One-to-One**: A single source path can be backed up to a single target path. +* **Many-to-Many**: Multiple source paths can be backed up to multiple target paths, but the pattern must match. + +#### Examples + +| **Configuration Paths** | **`-targetdatadir` Paths** | **Result** | +| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| `/data/iotdb/data/datanode/data` | `/data/iotdb_backup/data/datanode/data` |**Consistent** | +| `/data/iotdb/data/datanode/data` | `/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data2` | **Inconsistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2` | `/data/iotdb_backup/data/datanode/data` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2` | `/data/iotdb_backup/data/datanode/data3,/data/iotdb_backup/data/datanode/data4` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data1;/data/iotdb_backup/data/datanode/data1` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data3;/data/iotdb_backup/data/datanode/data` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data3;/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data4` | **Inconsistent** | + +#### Path Matching Rules Summary + +* **Paths separated by `;` only**: + * `-targetdatadir` can be a single path (no `;` or `,`). + * `-targetdatadir` can also use `;` to split paths, but the count must match the source paths. +* **Paths separated by `,` only**: + * `-targetdatadir` can be a single path (no `;` or `,`). + * `-targetdatadir` can also use `,` to split paths, but the count must match the source paths. +* **Paths with both `;` and `,`**: + * `-targetdatadir` can be a single path (no `;` or `,`). + * Split paths first by `;`, then by `,`. The number of paths at each level must match. + +> **Note**: The `dn_wal_dirs` parameter (for WAL paths) follows the same rules as `dn_data_dirs`. diff --git a/src/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md b/src/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md new file mode 100644 index 000000000..312664b15 --- /dev/null +++ b/src/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md @@ -0,0 +1,213 @@ + + +# Health Check Tool + +## 1. Overview +The IoTDB Health Check Tool is designed to inspect the runtime environment of IoTDB nodes. It assists users in verifying the node's environment both before deployment and during operation, providing detailed inspection reports. + + +## 2. Prerequisites + +Linux Systems + +* `nc` (netcat) tool: Installed by default; user must have execution permissions. +* `lsof` or `netstat`: At least one must be installed; user must have execution permissions. + +> To verify tool installation: +> +>Check `nc`: `nc -h` +> +>Check `lsof`: `lsof -v` + +Windows Systems + +* PowerShell: Enabled by default. + +## 3. Inspection Items +* Check port occupancy on the node's server (Windows/Linux). +* Verify port connectivity between the current node and other cluster nodes (Windows/Linux). +* Check JDK installation (JAVA_HOME) (Windows/Linux). +* Inspect system memory allocation and IoTDB memory configuration (Windows/Linux). +* Validate directory access permissions (Windows/Linux). +* Ensure the system's maximum number of open files meets requirements (≥ 65535) (Linux only). +* Confirm swap is disabled (Windows/Linux). + +## 4. Usage Instructions +### 4.1 Command Format +```bash +health_check.sh/health_check.bat -ips -o +``` +### 4.2 Parameter Descriptions + +|**Parameter** |**Description** | ​**Required** | +| --------------------- | --------------------------------------------------------------------------------------------------------------------- | ---------------------- | +| `-ips` | Remote server IPs and ports. Supports multiple servers. Format: `ip port1 port2, ip2 port2-1 port2-2` | Optional | +| `-o` | Scope of check: `local` (local machine), `remote` (remote server ports), `all` (both). Default: `all` | Optional | + + +## 5. Usage Examples +### 5.1 Example 1: Check All +```bash + health_check.sh/health_check.bat -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +Output: + +```bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs write permissions for data/datanode/data, data/datanode/consensus, data/datanode/system, data/datanode/wal, data/confignode/system, data/confignode/consensus, ext/pipe, ext/udf, ext/trigger. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Ports 16668, 10730, 11742, 10750, 10760, 10710, 10720 must be unoccupied +Result: +Ports 16668, 10730, 11742, 10750, 10760, 10710, 10720 are free + +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667, 18080 and 10.0.6.230:10311 must be accessible +Result: +Inaccessible server ports: +IP: 10.0.6.230, Ports: 10311 + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: Disabled +Result: Disabled. +``` + +### 5.2 Example 2: Local Check + +```bash +health_check.sh/health_check.bat -o local +``` + +Output: + +```bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs data/datanode/data,data/datanode/consensus,data/datanode/system,data/datanode/wal,data/confignode/system,data/confignode/consensus,ext/pipe,ext/udf,ext/trigger write permission. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Port 16668 10730 11742 10750 10760 10710 10720 is not occupied +Result: +Port 16668 10730 11742 10750 10760 10710 10720 is free + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: disabled +Result: disabled. +``` + +### 5.3 Example 3: Remote Check +```bash +health_check.sh/health_check.bat -o remote -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +Output: + +```bash +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667, 18080 and 10.0.6.230:10311 must be accessible +Result: +Inaccessible server ports: +IP: 10.0.6.230, Ports: 10311 +``` + +## 6. FAQs +### 6.1 How to Adjust Memory Allocation + +* Modify MEMORY\_SIZE in `confignode-env.sh`. +* Modify MEMORY\_SIZE in `datanode-env.sh`. + +### 6.2 How to Modify Max Open Files Limit + +* To avoid "too many open files" errors: + +```bash +# Check current limit +ulimit -n +# Temporarily set +ulimit -n 65535 +# Permanently set +echo "* soft nofile 65535" >> /etc/security/limits.conf +echo "* hard nofile 65535" >> /etc/security/limits.conf +# Verify after re-login +ulimit -n # Should return 65535 +``` + +### 6.3 How to Disable Swap and Why +* Why Disable: +IoTDB performance degrades when using swap. + +* Steps: + +```bash +# Disable swap +echo "vm.swappiness = 0" >> /etc/sysctl.conf +# Clear swap data and reload +swapoff -a && swapon -a +# Apply settings without reboot +sysctl -p +# Verify swap is 0 +free -m +``` \ No newline at end of file diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md index b965efb1c..bd447b6ee 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -45,7 +45,10 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. - + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Preparation Steps 1. Prepare the IoTDB database installation package::apache-iotdb-{version}-all-bin.zip(Please refer to the installation package for details:[IoTDB-Package](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index bee4e7b3a..a9f6b586f 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -53,6 +53,9 @@ This guide describes how to manually deploy a cluster instance consisting of 3 C 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the "[Monitoring Panel Deployment](./Monitoring-panel-deployment.md)" guide. +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Preparation 1. Obtain the TimechoDB installation package: `timechodb-{version}-bin.zip` following [IoTDB-Package](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index ea7e1772f..02fe5cf2c 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -39,6 +39,9 @@ - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## 2. Installation Steps diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 451176360..8f147c754 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -46,6 +46,8 @@ This guide introduces how to set up a standalone TimechoDB instance, which inclu 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the "[Monitoring Board Install and Deploy](./Monitoring-panel-deployment.md)" guide. +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## 2. Installation Steps ### 2.1Extract Installation Package diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md index f136efd14..d21456888 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -45,6 +45,8 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). ## Preparation Steps diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 4c1846ce3..9601eaadf 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -47,6 +47,8 @@ This section describes how to manually deploy an instance that includes 3 Config 6. It is recommended to deploy a monitoring panel, which can monitor important operational indicators and keep track of database operation status at any time. The monitoring panel can be obtained by contacting the business department,The steps for deploying a monitoring panel can refer to:[Monitoring Panel Deployment](./Monitoring-panel-deployment.md) +7. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## Preparation Steps 1. Prepare the IoTDB database installation package: iotdb enterprise- {version}-bin.zip(The installation package can be obtained from:[IoTDB-Package](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index d3d92aa69..fcd651908 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -39,6 +39,8 @@ - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). ## Installation Steps diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 516a1f591..b3db8124f 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -44,6 +44,8 @@ This chapter will introduce how to start an IoTDB standalone instance, which inc 6. It is recommended to deploy a monitoring panel, which can monitor important operational indicators and keep track of database operation status at any time. The monitoring panel can be obtained by contacting the business department, and the steps for deploying the monitoring panel can be referred to:[Monitoring Board Install and Deploy](./Monitoring-panel-deployment.md). +7. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## Installation Steps ### 1、Unzip the installation package and enter the installation directory diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 684875d8a..96ded548a 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -45,6 +45,9 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## Preparation Steps diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 3e0098db7..5f36896e6 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -47,6 +47,9 @@ This section describes how to manually deploy an instance that includes 3 Config 6. It is recommended to deploy a monitoring panel, which can monitor important operational indicators and keep track of database operation status at any time. The monitoring panel can be obtained by contacting the business department,The steps for deploying a monitoring panel can refer to:[Monitoring Panel Deployment](./Monitoring-panel-deployment.md) +7. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## Preparation Steps 1. Prepare the IoTDB database installation package: iotdb enterprise- {version}-bin.zip(The installation package can be obtained from:[IoTDB-Package](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 4dea1fe8e..77f9b88c3 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -39,6 +39,9 @@ - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## Installation Steps diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index f6de73a35..990e69038 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -44,6 +44,9 @@ This chapter will introduce how to start an IoTDB standalone instance, which inc 6. It is recommended to deploy a monitoring panel, which can monitor important operational indicators and keep track of database operation status at any time. The monitoring panel can be obtained by contacting the business department, and the steps for deploying the monitoring panel can be referred to:[Monitoring Board Install and Deploy](./Monitoring-panel-deployment.md). +7. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## Installation Steps ### 1、Unzip the installation package and enter the installation directory diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 29a910b31..da9a73996 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -42,14 +42,14 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 3. **Unmodifiable Parameters**: Some parameters cannot be changed after the first startup. Refer to the [Parameter Configuration](#22-parameters-configuration) section. -1. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. -2. **User Permissions**: Choose one of the following permissions during installation and deployment: +4. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. +5. **User Permissions**: Choose one of the following permissions during installation and deployment: - **Root User (Recommended)**: This avoids permission-related issues. - **Non-Root User**: - Use the same user for all operations, including starting, activating, and stopping services. - Avoid using `sudo`, which can cause permission conflicts. -6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +6. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). ## 2. Preparation diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index d6ef1bb72..b085d8c71 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -42,8 +42,8 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 3. **Unmodifiable Parameters**: Some parameters cannot be changed after the first startup. Refer to the [Parameter Configuration](#22-parameters-configuration) section. -1. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. -2. **User Permissions**: Choose one of the following permissions during installation and deployment: +4. **Installation Path**: Ensure the installation path contains no spaces or non-ASCII characters to prevent runtime issues. +5. **User Permissions**: Choose one of the following permissions during installation and deployment: - **Root User (Recommended)**: This avoids permission-related issues. - **Non-Root User**: - Use the same user for all operations, including starting, activating, and stopping services. @@ -51,6 +51,9 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Preparation 1. Obtain the TimechoDB installation package: `timechodb-{version}-bin.zip` following [IoTDB-Package](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 2f7da68b2..02cb1557f 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -44,7 +44,8 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co - Use the same user for all operations, including starting, activating, and stopping services. - Avoid using `sudo`, which can cause permission conflicts. -6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +6. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## 2. Installation Steps diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 757d7fd6b..75813429b 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -46,6 +46,9 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the [Monitoring Board Install and Deploy](../Deployment-and-Maintenance/Monitoring-panel-deployment.md). +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Installation Steps ### 2.1 Extract Installation Package diff --git a/src/UserGuide/latest-Table/Tools-System/Backup-Tool.md b/src/UserGuide/latest-Table/Tools-System/Backup-Tool.md new file mode 100644 index 000000000..5759f2a20 --- /dev/null +++ b/src/UserGuide/latest-Table/Tools-System/Backup-Tool.md @@ -0,0 +1,135 @@ + + +# Backup Tool + +## 1. Overview + +The IoTDB Full Backup Tool is designed to create a full backup of a single IoTDB node’s data via hard links to a specified local directory. The backup can then be directly started and joined to the original cluster. The tool offers two modes: **Quick Mirror Mode** and **Manual Backup Path Mode**. + +> **Notes**: +> +> * **Stop the IoTDB service before starting the backup**. +> * The script runs in the background by default, and logs are saved to log files during execution. + + +## 2. Backup Modes + +### 2.1 Mode 1: Quick Mirror Mode + +#### Usage + +```bash +backup.sh/backup.bat -quick -node xxx +# Optional values for xxx are shown in the following examples + +backup.sh/backup.bat -quick -node +# Back up all nodes to the default path + +backup.sh/backup.bat -quick -node all +# Back up all nodes to the default path + +backup.sh/backup.bat -quick -node confignode +# Back up only the ConfigNode to the default path + +backup.sh/backup.bat -quick -node datanode +# Back up only the DataNode to the default path +``` + +#### Parameter Descriptions + +| **Parameter** | **Description** | **Required** | +| ----------------------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ---------------------- | +| `-quick` | Enables Quick Mirror Mode. | No | +| `-node` | Specifies the node type to back up. Options: `all`, `datanode`, or `confignode`. Default: `all`.
`all`: Back up both DataNode and ConfigNode.
`datanode`: Back up only the DataNode.
`confignode`: Back up only the ConfigNode. | No | + +**Process Details**: + +1. Check if the `_backup` folder already exists in the current IoTDB directory or paths specified in the configuration file. If it exists, the tool exits with the error: `The backup folder already exists`. +> When the backup folder already exists, you can try the following solutions: +> * Delete the existing _backup folder and retry the backup. +> * Modify the backup path to avoid conflicts. + +2. Create hard links from the original `dn_data_dirs` paths to the corresponding `_backup` paths. + * Example: If `dn_data_dirs=/data/iotdb/data/datanode/data`, the backup data will be stored in `/data/iotdb/data/datanode/data_backup`. +3. Copy other files from the IoTDB directory (e.g., `/data/iotdb`) to the `_backup` path (e.g., `/data/iotdb_backup`). + + +### 2.2 Mode 2: Manual Backup Path Mode + +#### Usage + +```bash +backup.sh -node xxx -targetdir xxx -targetdatadir xxx -targetwaldir xxx +``` + +#### Parameter Descriptions + +| **Parameter** | **Description** | **Required** | +| ----------------------- | -------------------------------------------------------------------------------------------- | ---------------------- | +| `-node` | Node type to back up (`all`, `datanode`, or `confignode`). Default: `all`. | No | +| `-targetdir` | Target directory for backing up the IoTDB folder. | **Yes** | +| `-targetdatadir` | Target path for `dn_data_dirs` files. Default: `targetdir/data/datanode/data`. | No | +| `-targetwaldir` | Target path for `dn_wal_dirs` files. Default: `targetdir/data/datanode/wal`. | No | + +**Process Details**: + +1. The `-targetdir` parameter is mandatory. If missing, the tool exits with the error: `-targetdir cannot be empty. The backup folder must be specified`. +2. Validate consistency between configuration paths (`dn_data_dirs`, `dn_wal_dirs`) and parameters (`-targetdatadir`, `-targetwaldir`): + + * If `-targetdatadir` or `-targetwaldir` is a single path, it is considered consistent. + * If the number of source paths (from configuration) does not match the target paths, the tool exits with the error: `-targetdatadir parameter exception: the number of original paths does not match the specified paths`. +3. Check if `-targetdatadir` paths are on the same disk as the original paths: + + * **Same disk**: Attempt to create hard links. If hard links fail, copy files instead. + * **Different disk**: Copy files directly. +4. Path Matching Rules + +* **Many-to-One**: Multiple source paths can be backed up to a single target path. +* **One-to-One**: A single source path can be backed up to a single target path. +* **Many-to-Many**: Multiple source paths can be backed up to multiple target paths, but the pattern must match. + +#### Examples + +| **Configuration Paths** | **`-targetdatadir` Paths** | **Result** | +| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| `/data/iotdb/data/datanode/data` | `/data/iotdb_backup/data/datanode/data` |**Consistent** | +| `/data/iotdb/data/datanode/data` | `/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data2` | **Inconsistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2` | `/data/iotdb_backup/data/datanode/data` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2` | `/data/iotdb_backup/data/datanode/data3,/data/iotdb_backup/data/datanode/data4` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data1;/data/iotdb_backup/data/datanode/data1` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data3;/data/iotdb_backup/data/datanode/data` | **Consistent** | +| `/data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3` | `/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data3;/data/iotdb_backup/data/datanode/data1,/data/iotdb_backup/data/datanode/data4` | **Inconsistent** | + +#### Path Matching Rules Summary + +* **Paths separated by `;` only**: + * `-targetdatadir` can be a single path (no `;` or `,`). + * `-targetdatadir` can also use `;` to split paths, but the count must match the source paths. +* **Paths separated by `,` only**: + * `-targetdatadir` can be a single path (no `;` or `,`). + * `-targetdatadir` can also use `,` to split paths, but the count must match the source paths. +* **Paths with both `;` and `,`**: + * `-targetdatadir` can be a single path (no `;` or `,`). + * Split paths first by `;`, then by `,`. The number of paths at each level must match. + +> **Note**: The `dn_wal_dirs` parameter (for WAL paths) follows the same rules as `dn_data_dirs`. diff --git a/src/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md b/src/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md new file mode 100644 index 000000000..312664b15 --- /dev/null +++ b/src/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md @@ -0,0 +1,213 @@ + + +# Health Check Tool + +## 1. Overview +The IoTDB Health Check Tool is designed to inspect the runtime environment of IoTDB nodes. It assists users in verifying the node's environment both before deployment and during operation, providing detailed inspection reports. + + +## 2. Prerequisites + +Linux Systems + +* `nc` (netcat) tool: Installed by default; user must have execution permissions. +* `lsof` or `netstat`: At least one must be installed; user must have execution permissions. + +> To verify tool installation: +> +>Check `nc`: `nc -h` +> +>Check `lsof`: `lsof -v` + +Windows Systems + +* PowerShell: Enabled by default. + +## 3. Inspection Items +* Check port occupancy on the node's server (Windows/Linux). +* Verify port connectivity between the current node and other cluster nodes (Windows/Linux). +* Check JDK installation (JAVA_HOME) (Windows/Linux). +* Inspect system memory allocation and IoTDB memory configuration (Windows/Linux). +* Validate directory access permissions (Windows/Linux). +* Ensure the system's maximum number of open files meets requirements (≥ 65535) (Linux only). +* Confirm swap is disabled (Windows/Linux). + +## 4. Usage Instructions +### 4.1 Command Format +```bash +health_check.sh/health_check.bat -ips -o +``` +### 4.2 Parameter Descriptions + +|**Parameter** |**Description** | ​**Required** | +| --------------------- | --------------------------------------------------------------------------------------------------------------------- | ---------------------- | +| `-ips` | Remote server IPs and ports. Supports multiple servers. Format: `ip port1 port2, ip2 port2-1 port2-2` | Optional | +| `-o` | Scope of check: `local` (local machine), `remote` (remote server ports), `all` (both). Default: `all` | Optional | + + +## 5. Usage Examples +### 5.1 Example 1: Check All +```bash + health_check.sh/health_check.bat -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +Output: + +```bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs write permissions for data/datanode/data, data/datanode/consensus, data/datanode/system, data/datanode/wal, data/confignode/system, data/confignode/consensus, ext/pipe, ext/udf, ext/trigger. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Ports 16668, 10730, 11742, 10750, 10760, 10710, 10720 must be unoccupied +Result: +Ports 16668, 10730, 11742, 10750, 10760, 10710, 10720 are free + +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667, 18080 and 10.0.6.230:10311 must be accessible +Result: +Inaccessible server ports: +IP: 10.0.6.230, Ports: 10311 + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: Disabled +Result: Disabled. +``` + +### 5.2 Example 2: Local Check + +```bash +health_check.sh/health_check.bat -o local +``` + +Output: + +```bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs data/datanode/data,data/datanode/consensus,data/datanode/system,data/datanode/wal,data/confignode/system,data/confignode/consensus,ext/pipe,ext/udf,ext/trigger write permission. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Port 16668 10730 11742 10750 10760 10710 10720 is not occupied +Result: +Port 16668 10730 11742 10750 10760 10710 10720 is free + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: disabled +Result: disabled. +``` + +### 5.3 Example 3: Remote Check +```bash +health_check.sh/health_check.bat -o remote -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +Output: + +```bash +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667, 18080 and 10.0.6.230:10311 must be accessible +Result: +Inaccessible server ports: +IP: 10.0.6.230, Ports: 10311 +``` + +## 6. FAQs +### 6.1 How to Adjust Memory Allocation + +* Modify MEMORY\_SIZE in `confignode-env.sh`. +* Modify MEMORY\_SIZE in `datanode-env.sh`. + +### 6.2 How to Modify Max Open Files Limit + +* To avoid "too many open files" errors: + +```bash +# Check current limit +ulimit -n +# Temporarily set +ulimit -n 65535 +# Permanently set +echo "* soft nofile 65535" >> /etc/security/limits.conf +echo "* hard nofile 65535" >> /etc/security/limits.conf +# Verify after re-login +ulimit -n # Should return 65535 +``` + +### 6.3 How to Disable Swap and Why +* Why Disable: +IoTDB performance degrades when using swap. + +* Steps: + +```bash +# Disable swap +echo "vm.swappiness = 0" >> /etc/sysctl.conf +# Clear swap data and reload +swapoff -a && swapon -a +# Apply settings without reboot +sysctl -p +# Verify swap is 0 +free -m +``` \ No newline at end of file diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md index c4e5d0879..12a1d9f89 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -45,6 +45,9 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## 2. Preparation Steps diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 25ff32689..f2187f49c 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -53,6 +53,9 @@ This guide describes how to manually deploy a cluster instance consisting of 3 C 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the "[Monitoring Panel Deployment](./Monitoring-panel-deployment.md)" guide. +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Preparation 1. Obtain the TimechoDB installation package: `timechodb-{version}-bin.zip` following [IoTDB-Package](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index f682982d9..61bde9ec3 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -39,6 +39,9 @@ - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. + +6. Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + ## 2. Installation Steps diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index f8e4548c9..2f0e00657 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -46,6 +46,9 @@ This guide introduces how to set up a standalone TimechoDB instance, which inclu 6. **Monitoring Panel**: Deploy a monitoring panel to track key performance metrics. Contact the Timecho team for access and refer to the "[Monitoring Board Install and Deploy](./Monitoring-panel-deployment.md)" guide. +7. **Health Check Tool**: Before installation, the health check tool can help inspect the operating environment of IoTDB nodes and obtain detailed inspection results. The usage method of the IoTDB health check tool can be found in:[Health Check Tool](../Tools-System/Health-Check-Tool.md). + + ## 2. Installation Steps ### 2.1Extract Installation Package diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 94d7d020f..54df5d230 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -50,7 +50,7 @@ - 避免使用 sudo:使用 sudo 命令会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 ## 2. 准备步骤 diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 73a750f70..c4445c613 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -52,6 +52,9 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + + ## 2. 准备步骤 1. 准备IoTDB数据库安装包 :timechodb-{version}-bin.zip(安装包获取见:[链接](./IoTDB-Package_timecho.md)) diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 6c6dbd2c6..9edbc4e9d 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -38,7 +38,8 @@ - 使用固定的非 root 用户: - 使用同一用户操作:确保在启动、激活、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:使用 sudo 命令会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系工作人员获取,部署监控面板步骤可以参考:[监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 安装步骤 diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index ce64e5d7f..d81f7af63 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -39,6 +39,8 @@ - 使用同一用户操作:确保在启动、激活、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:使用 sudo 命令会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系工作人员获取,部署监控面板步骤可以参考:[监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 安装步骤 diff --git a/src/zh/UserGuide/Master/Table/Tools-System/Backup-Tool.md b/src/zh/UserGuide/Master/Table/Tools-System/Backup-Tool.md new file mode 100644 index 000000000..29a209f24 --- /dev/null +++ b/src/zh/UserGuide/Master/Table/Tools-System/Backup-Tool.md @@ -0,0 +1,126 @@ + + +# 全量备份工具 + +## 1. 概述 + +IoTDB 全量备份工具,用于将 IoTDB 单个节点的数据通过硬链接的方式备份到本地指定地址,并可以直接启动加入原集群。备份工具提供了两种模式:快速镜像模式和手动指定备份路径模式。 + +> 注意: +> +> * 备份前请停止IoTDB服务。 +> * 脚本默认后台执行,执行过程中打印的相关信息会输出到日志文件中。 + +## 2. 备份模式 + +### 2.1 模式一:快速镜像模式 + +#### 使用方法 + +```Bash +backup.sh/backup.bat -quick -node xxx + # xxx可选值见如下示例 + +backup.sh/backup.bat -quick -node +# 备份所有节点到默认路径 + +backup.sh/backup.bat -quick -node all +# 备份所有节点到默认路径 + +backup.sh/backup.bat -quick -node confignode +# 仅备份confignode节点到默认路径 + +backup.sh/backup.bat -quick -node datanode +# 仅备份datanode节点到默认路径 +``` + +#### 参数说明 + +| **参数** | **说明** | **是否必填** | +| ---------------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------| -------------------- | +| `-quick` | 快速镜像 | 非必填 | +| `-node` | 备份节点类型,可选项包括`all`/`datanode`/`confignode`,空值默认为`all`。
`all`:备份`datanode`和`confignode`节点
`datanode`:只备份`datanode`节点
`confignode`:只备份`confignode`节点 | 非必填 | + +说明: + +1. 校验当前 `IoTDB` 文件夹及根据配置文件列出所有配置路径是否已经存在`_backup`文件夹,如果存在则退出,信息为 `The backup folder already exists`(备份文件夹已经存在)。 +> 当备份文件夹已存在时,可以尝试通过如下方式解决: +> * 删除已有的 _backup 文件夹后重新执行备份。 +> * 修改备份路径避免冲突。 + +2. 给原 `dn_data_dirs` 配置路径新建硬连接到对应的 `_backup` 路径 例如:`dn_data_dirs=/data/iotdb/data/datanode/data` 则备份完后数据在 `/data/iotdb/data/datanode/data_backup` +3. 拷贝出`dn_data_dirs` 其他文件到原 `IoTDB`文件夹到对应的 `_backup` 路径中 例如:`/data/iotdb `备份后 `/data/iotdb_backup` + +### 2.2 模式二:手动指定模式 + +#### 使用方法 + +```Bash +backup.sh -node xxx -targetdir xxx -targetdatadir xxx -targetwaldir xxx +``` + +#### 参数说明 +| **参数** | **说明** | **是否必填** | +| ---------------------- | ------------------------------------------------------------------------------------------ | -------------------- | +| `-node` | 备份节点类型`all`/`datanode`/`confignode`默认值`all` | 非必填 | +| `-targetdir` | `IoTDB`要备份到的文件夹 | 必填 | +| `-targetdatadir` | 配置项`dn_data_dirs`路径下文件要备份到的路径,默认`targetdir/data/datanode/data` | 非必填 | +| `-targetwaldir` | 配置项`dn_wal_dirs`路径下文件要备份到的路径,默认`targetdir/data/datanode/wal` | 非必填 | + + +说明: + +1. 校验参数 `-targetdir` 为必填项 ,如果参数不存在,则输出 `-targetdir cannot be empty, The backup folder must be specified`(`-targetdir` 参数不能为空,必须指定备份文件夹路径)。 +2. 对比配置文件中`dn_data_dirs`,`dn_wal_dirs` 配置路径模式和参数 `-targetdatadir`,`-targetwaldir`是否一致,如果`-targetdatadir`, `-targetwaldir`参数为单一路径则认为一致,如果不一致,输出` -targetdatadir parameter exception, the number of original paths does not match the number of specified paths`(`-targetdatadir` 参数异常,原本路径个数跟现在指定路径个数不一致)。 +3. 校验 `-targetdatadir` 配置的路径是否和原配置路径在同一块盘,如果不是同一块盘,则拷贝 `dn_data_dirs` 配置的文件到参数 `-targetdatadir` 对应目录。如果是同一块盘,则优先打硬连接 `dn_data_dirs` 配置的文件到参数 `-targetdatadir` 对应目录,如果打硬连接失败就拷贝文件到`-targetdatadir` 对应目录 +4. 配置文件路径与目标路径匹配规则 + +* **多对一**:多个源路径可以备份到一个目标路径。 +* **一对一**:一个源路径可以备份到一个目标路径。 +* **多对多**:多个源路径可以备份到多个目标路径,但需要模式匹配。 + +#### 示例 + +| **配置文件路径** | **参数 `-targetdatadir` 路径** | **校验结果** | +|--------------------------------|-----------------------------------------------------------|---------------------| +| /data/iotdb/data/datanode/data | /data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data | /data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data2 | 不一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2 | /data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2 | /data/iotdb\_backup/data/datanode/data3,/data/iotdb\_backup/data/datanode/data4 | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data1;/data/iotdb\_backup/data/datanode/data1 | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data3;/data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data3;/data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data4 | 不一致 | + +#### 匹配规则总结 + +* 当 `dn_data_dirs` 仅有 `;` 分割时: + **规则**:* `-targetdatadir` 可以只输入一个路径(路径中没有 `;` 和 `,`)。 + * `-targetdatadir` 也可以按照 `;` 分割多个路径,但数量必须和 `dn_data_dirs` 中的路径数量相等,且路径中不能有 `,`。 +* 当 `dn_data_dirs` 仅有 `,` 分割时: + **规则**:* `-targetdatadir` 可以只输入一个路径(路径中没有 `;` 和 `,`)。 + * `-targetdatadir` 也可以按照 `,` 分割多个路径,但数量必须和 `dn_data_dirs` 中的路径数量相等,且路径中不能有 `;`。 +* 当 `dn_data_dirs` 同时有 `;` 和 `,` 分割时: + **规则**:* `-targetdatadir` 可以只输入一个路径(路径中没有 `;` 和 `,`)。 + * `-targetdatadir` 也可以优先按照 `;` 分割多个路径,数量必须和 `dn_data_dirs` 中的路径数量相等。每个 `;` 分割的路径中可以只输入一个路径,也可以按照 `,` 分割多个路径,但`,`分割的路径数量必须相等。 + +> `wal` 路径通常通过 `dn_wal_dirs` 参数指定,规则同上 diff --git a/src/zh/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md b/src/zh/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md new file mode 100644 index 000000000..cebcd1d90 --- /dev/null +++ b/src/zh/UserGuide/Master/Table/Tools-System/Health-Check-Tool.md @@ -0,0 +1,220 @@ + + +# 健康检查工具 + +## 1. 概述 + +IoTDB 健康检查工具是一个用于检测 IoTDB 节点运行环境的工具。它可以帮助用户在安装部署数据库前或运行期间检查节点的运行环境,并获取详细的检查结果。 + + +## 2. 前置要求 + +Linux 系统 + +* `nc`(netcat)工具:默认已安装,用户需要有权限执行。 +* `lsof` 或 `netstat`:至少安装其中一个,用户需要有权限执行。 + +> 检查相应工具是否已安装: +> +> 检查 `nc` 是否安装:`nc -h` +> +> 检查 `lsof` 是否安装:`lsof -v` + +Windows 系统 + +* PowerShell:默认已启动。 + +## 3. 检查项 + +* 检查节点所在服务器的端口占用情况(windows/linux) +* 检查当前节点与集群中其他节点的端口连通性(windows/linux) +* 检查系统中是否安装了 JDK(java\_home)(windows/linux) +* 检查系统内存分配情况,检查 IoTDB 内存分配情况(windows/linux) +* 检查目录访问权限(windows/linux) +* 检查系统最大打开文件数是否满足要求(>= 65535)(仅 linux) +* 检查系统是否禁用了 swap(windows/linux) + +## 4. 使用方法 + +### 4.1 命令格式 + +```Bash +health_check.sh/health_check.bat -ips<远程服务器IP+端口> , -o +``` + +### 4.2 参数说明 + +| **参数** | **说明** | **是否必填** | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | +| `-ips` | 远程服务器 IP 和端口,支持检查多个服务器,格式如下:`ip port1 port2,ip2 port2-1 port2-2` | 非必填 | +| `-o` | 检查参数,可选值为`local`(本机检查)、`remote`(远程服务器端口连接性检查)、`all`(本机和远程服务器端口一起检查),默认值为`all` | 非必填 | + +## 5. 使用方法 + +### 5.1 示例 1:检查全部 + +```Bash +health_check.sh/health_check.bat -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +输出结果: + +```Bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs data/datanode/data,data/datanode/consensus,data/datanode/system,data/datanode/wal,data/confignode/system,data/confignode/consensus,ext/pipe,ext/udf,ext/trigger write permission. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Port 16668 10730 11742 10750 10760 10710 10720 is not occupied +Result: +Port 16668 10730 11742 10750 10760 10710 10720 is free + +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667 18080 ,10.0.6.230:10311 need to be accessible +Result: +The following server ports are inaccessible: +IP: 10.0.6.230, Ports: 10311 + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: disabled +Result: disabled. +``` + +### 5.2 示例 2:检查本机 + +```Bash +health_check.sh/health_check.bat -o local +``` + +输出结果: + +```Bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs data/datanode/data,data/datanode/consensus,data/datanode/system,data/datanode/wal,data/confignode/system,data/confignode/consensus,ext/pipe,ext/udf,ext/trigger write permission. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Port 16668 10730 11742 10750 10760 10710 10720 is not occupied +Result: +Port 16668 10730 11742 10750 10760 10710 10720 is free + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: disabled +Result: disabled. +``` + +### 5.3 示例 3:检查远程 + +```Bash +health_check.sh/health_check.bat -o remote -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +输出结果: + +```Bash +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667 18080 ,10.0.6.230:10311 need to be accessible +Result: +The following server ports are inaccessible: +IP: 10.0.6.230, Ports: 10311 +``` + +## 6. 常见问题 + +### 6.1 如何调整内存分配 + +* 修改`confignode-env.sh`中的MEMORY\_SIZE +* 修改`datanode-env.sh`中的MEMORY\_SIZE + +### 6.2 如何修改最大打开数文件 + +* 设置系统最大打开文件数为 65535,以避免出现 "太多的打开文件 "的错误。 + +```Bash +#查看当前限制 +ulimit -n +# 临时修改 +ulimit -n 65535 +# 永久修改 +echo "* soft nofile 65535" >> /etc/security/limits.conf +echo "* hard nofile 65535" >> /etc/security/limits.conf +#退出当前终端会话后查看,预期显示65535 +ulimit -n +``` + +### 6.3 如何禁用 Swap 及禁用原因 + +* 禁用原因:IoTDB 使用 Swap 会导致性能下降,建议禁用。 +* 禁用方式: + +```Bash +echo "vm.swappiness = 0">> /etc/sysctl.conf +# 一起执行 swapoff -a 和 swapon -a 命令是为了将 swap 里的数据转储回内存,并清空 swap 里的数据。 +# 不可省略 swappiness 设置而只执行 swapoff -a;否则,重启后 swap 会再次自动打开,使得操作失效。 +swapoff -a && swapon -a +# 在不重启的情况下使配置生效。 +sysctl -p +# 检查内存分配,预期 swap 为 0 +free -m +``` diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md index e96bc0bd5..2122b8c0d 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -46,6 +46,8 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 准备步骤 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 7acefeb00..43a4eed79 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -48,6 +48,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 准备步骤 1. 准备IoTDB数据库安装包 :iotdb-enterprise-{version}-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 89793f49d..441d263a4 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -38,7 +38,9 @@ - 使用 root 用户(推荐):使用 root 用户可以避免权限等问题。 - 使用固定的非 root 用户: - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 + - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 + +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 ## 2. 安装步骤 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index fd3b4038e..b4152d07c 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -44,6 +44,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md)。 +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 590642793..1244305b0 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -46,6 +46,8 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 准备步骤 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 82eef30e4..db33ccf7e 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -48,6 +48,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 准备步骤 1. 准备IoTDB数据库安装包 :iotdb-enterprise-{version}-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 6164c84e2..489a8cbfd 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -40,6 +40,8 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 安装步骤 ### 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 01027533b..ee3af757f 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -44,6 +44,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md)。 +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 安装步骤 ### 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md index e43d1a3fb..74561b1fc 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -46,6 +46,8 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 准备步骤 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 046e071fd..4ee4d2358 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -48,6 +48,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 准备步骤 1. 准备IoTDB数据库安装包 :iotdb-enterprise-{version}-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index befcbfbee..877907577 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -40,6 +40,8 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 安装步骤 ### 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index f47d96aca..33e99cea0 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -44,6 +44,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md)。 +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 安装步骤 ### 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index becaa682e..713a7d6fc 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -50,7 +50,8 @@ - 避免使用 sudo:使用 sudo 命令会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 准备步骤 diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 7854d2261..f5d2cae3b 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -52,6 +52,9 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + + ## 2. 准备步骤 1. 准备IoTDB数据库安装包 :timechodb-{version}-bin.zip(安装包获取见:[链接](./IoTDB-Package_timecho.md)) diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 2c66929ea..3d2559f6e 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -38,7 +38,8 @@ - 使用固定的非 root 用户: - 使用同一用户操作:确保在启动、激活、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:使用 sudo 命令会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系工作人员获取,部署监控面板步骤可以参考:[监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 安装步骤 diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index ccae15353..82c18bdba 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -40,6 +40,9 @@ - 避免使用 sudo:使用 sudo 命令会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系工作人员获取,部署监控面板步骤可以参考:[监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + + ## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/latest-Table/Tools-System/Backup-Tool.md b/src/zh/UserGuide/latest-Table/Tools-System/Backup-Tool.md new file mode 100644 index 000000000..29a209f24 --- /dev/null +++ b/src/zh/UserGuide/latest-Table/Tools-System/Backup-Tool.md @@ -0,0 +1,126 @@ + + +# 全量备份工具 + +## 1. 概述 + +IoTDB 全量备份工具,用于将 IoTDB 单个节点的数据通过硬链接的方式备份到本地指定地址,并可以直接启动加入原集群。备份工具提供了两种模式:快速镜像模式和手动指定备份路径模式。 + +> 注意: +> +> * 备份前请停止IoTDB服务。 +> * 脚本默认后台执行,执行过程中打印的相关信息会输出到日志文件中。 + +## 2. 备份模式 + +### 2.1 模式一:快速镜像模式 + +#### 使用方法 + +```Bash +backup.sh/backup.bat -quick -node xxx + # xxx可选值见如下示例 + +backup.sh/backup.bat -quick -node +# 备份所有节点到默认路径 + +backup.sh/backup.bat -quick -node all +# 备份所有节点到默认路径 + +backup.sh/backup.bat -quick -node confignode +# 仅备份confignode节点到默认路径 + +backup.sh/backup.bat -quick -node datanode +# 仅备份datanode节点到默认路径 +``` + +#### 参数说明 + +| **参数** | **说明** | **是否必填** | +| ---------------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------| -------------------- | +| `-quick` | 快速镜像 | 非必填 | +| `-node` | 备份节点类型,可选项包括`all`/`datanode`/`confignode`,空值默认为`all`。
`all`:备份`datanode`和`confignode`节点
`datanode`:只备份`datanode`节点
`confignode`:只备份`confignode`节点 | 非必填 | + +说明: + +1. 校验当前 `IoTDB` 文件夹及根据配置文件列出所有配置路径是否已经存在`_backup`文件夹,如果存在则退出,信息为 `The backup folder already exists`(备份文件夹已经存在)。 +> 当备份文件夹已存在时,可以尝试通过如下方式解决: +> * 删除已有的 _backup 文件夹后重新执行备份。 +> * 修改备份路径避免冲突。 + +2. 给原 `dn_data_dirs` 配置路径新建硬连接到对应的 `_backup` 路径 例如:`dn_data_dirs=/data/iotdb/data/datanode/data` 则备份完后数据在 `/data/iotdb/data/datanode/data_backup` +3. 拷贝出`dn_data_dirs` 其他文件到原 `IoTDB`文件夹到对应的 `_backup` 路径中 例如:`/data/iotdb `备份后 `/data/iotdb_backup` + +### 2.2 模式二:手动指定模式 + +#### 使用方法 + +```Bash +backup.sh -node xxx -targetdir xxx -targetdatadir xxx -targetwaldir xxx +``` + +#### 参数说明 +| **参数** | **说明** | **是否必填** | +| ---------------------- | ------------------------------------------------------------------------------------------ | -------------------- | +| `-node` | 备份节点类型`all`/`datanode`/`confignode`默认值`all` | 非必填 | +| `-targetdir` | `IoTDB`要备份到的文件夹 | 必填 | +| `-targetdatadir` | 配置项`dn_data_dirs`路径下文件要备份到的路径,默认`targetdir/data/datanode/data` | 非必填 | +| `-targetwaldir` | 配置项`dn_wal_dirs`路径下文件要备份到的路径,默认`targetdir/data/datanode/wal` | 非必填 | + + +说明: + +1. 校验参数 `-targetdir` 为必填项 ,如果参数不存在,则输出 `-targetdir cannot be empty, The backup folder must be specified`(`-targetdir` 参数不能为空,必须指定备份文件夹路径)。 +2. 对比配置文件中`dn_data_dirs`,`dn_wal_dirs` 配置路径模式和参数 `-targetdatadir`,`-targetwaldir`是否一致,如果`-targetdatadir`, `-targetwaldir`参数为单一路径则认为一致,如果不一致,输出` -targetdatadir parameter exception, the number of original paths does not match the number of specified paths`(`-targetdatadir` 参数异常,原本路径个数跟现在指定路径个数不一致)。 +3. 校验 `-targetdatadir` 配置的路径是否和原配置路径在同一块盘,如果不是同一块盘,则拷贝 `dn_data_dirs` 配置的文件到参数 `-targetdatadir` 对应目录。如果是同一块盘,则优先打硬连接 `dn_data_dirs` 配置的文件到参数 `-targetdatadir` 对应目录,如果打硬连接失败就拷贝文件到`-targetdatadir` 对应目录 +4. 配置文件路径与目标路径匹配规则 + +* **多对一**:多个源路径可以备份到一个目标路径。 +* **一对一**:一个源路径可以备份到一个目标路径。 +* **多对多**:多个源路径可以备份到多个目标路径,但需要模式匹配。 + +#### 示例 + +| **配置文件路径** | **参数 `-targetdatadir` 路径** | **校验结果** | +|--------------------------------|-----------------------------------------------------------|---------------------| +| /data/iotdb/data/datanode/data | /data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data | /data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data2 | 不一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2 | /data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2 | /data/iotdb\_backup/data/datanode/data3,/data/iotdb\_backup/data/datanode/data4 | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data1;/data/iotdb\_backup/data/datanode/data1 | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data3;/data/iotdb\_backup/data/datanode/data | 一致 | +| /data/iotdb/data/datanode/data1,/data/iotdb/data/datanode/data2;/data/iotdb/data/datanode/data3 | /data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data3;/data/iotdb\_backup/data/datanode/data1,/data/iotdb\_backup/data/datanode/data4 | 不一致 | + +#### 匹配规则总结 + +* 当 `dn_data_dirs` 仅有 `;` 分割时: + **规则**:* `-targetdatadir` 可以只输入一个路径(路径中没有 `;` 和 `,`)。 + * `-targetdatadir` 也可以按照 `;` 分割多个路径,但数量必须和 `dn_data_dirs` 中的路径数量相等,且路径中不能有 `,`。 +* 当 `dn_data_dirs` 仅有 `,` 分割时: + **规则**:* `-targetdatadir` 可以只输入一个路径(路径中没有 `;` 和 `,`)。 + * `-targetdatadir` 也可以按照 `,` 分割多个路径,但数量必须和 `dn_data_dirs` 中的路径数量相等,且路径中不能有 `;`。 +* 当 `dn_data_dirs` 同时有 `;` 和 `,` 分割时: + **规则**:* `-targetdatadir` 可以只输入一个路径(路径中没有 `;` 和 `,`)。 + * `-targetdatadir` 也可以优先按照 `;` 分割多个路径,数量必须和 `dn_data_dirs` 中的路径数量相等。每个 `;` 分割的路径中可以只输入一个路径,也可以按照 `,` 分割多个路径,但`,`分割的路径数量必须相等。 + +> `wal` 路径通常通过 `dn_wal_dirs` 参数指定,规则同上 diff --git a/src/zh/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md b/src/zh/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md new file mode 100644 index 000000000..cebcd1d90 --- /dev/null +++ b/src/zh/UserGuide/latest-Table/Tools-System/Health-Check-Tool.md @@ -0,0 +1,220 @@ + + +# 健康检查工具 + +## 1. 概述 + +IoTDB 健康检查工具是一个用于检测 IoTDB 节点运行环境的工具。它可以帮助用户在安装部署数据库前或运行期间检查节点的运行环境,并获取详细的检查结果。 + + +## 2. 前置要求 + +Linux 系统 + +* `nc`(netcat)工具:默认已安装,用户需要有权限执行。 +* `lsof` 或 `netstat`:至少安装其中一个,用户需要有权限执行。 + +> 检查相应工具是否已安装: +> +> 检查 `nc` 是否安装:`nc -h` +> +> 检查 `lsof` 是否安装:`lsof -v` + +Windows 系统 + +* PowerShell:默认已启动。 + +## 3. 检查项 + +* 检查节点所在服务器的端口占用情况(windows/linux) +* 检查当前节点与集群中其他节点的端口连通性(windows/linux) +* 检查系统中是否安装了 JDK(java\_home)(windows/linux) +* 检查系统内存分配情况,检查 IoTDB 内存分配情况(windows/linux) +* 检查目录访问权限(windows/linux) +* 检查系统最大打开文件数是否满足要求(>= 65535)(仅 linux) +* 检查系统是否禁用了 swap(windows/linux) + +## 4. 使用方法 + +### 4.1 命令格式 + +```Bash +health_check.sh/health_check.bat -ips<远程服务器IP+端口> , -o +``` + +### 4.2 参数说明 + +| **参数** | **说明** | **是否必填** | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | +| `-ips` | 远程服务器 IP 和端口,支持检查多个服务器,格式如下:`ip port1 port2,ip2 port2-1 port2-2` | 非必填 | +| `-o` | 检查参数,可选值为`local`(本机检查)、`remote`(远程服务器端口连接性检查)、`all`(本机和远程服务器端口一起检查),默认值为`all` | 非必填 | + +## 5. 使用方法 + +### 5.1 示例 1:检查全部 + +```Bash +health_check.sh/health_check.bat -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +输出结果: + +```Bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs data/datanode/data,data/datanode/consensus,data/datanode/system,data/datanode/wal,data/confignode/system,data/confignode/consensus,ext/pipe,ext/udf,ext/trigger write permission. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Port 16668 10730 11742 10750 10760 10710 10720 is not occupied +Result: +Port 16668 10730 11742 10750 10760 10710 10720 is free + +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667 18080 ,10.0.6.230:10311 need to be accessible +Result: +The following server ports are inaccessible: +IP: 10.0.6.230, Ports: 10311 + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: disabled +Result: disabled. +``` + +### 5.2 示例 2:检查本机 + +```Bash +health_check.sh/health_check.bat -o local +``` + +输出结果: + +```Bash +Check: Installation Environment(JDK) +Requirement: JDK Version >=1.8 +Result: JDK Version 11.0.21 + +Check: Installation Environment(Memory) +Requirement: Allocate sufficient memory for IoTDB +Result: Total Memory 7.8Gi, 2.33 G allocated to IoTDB ConfigNode, 3.88 G allocated to IoTDB DataNode + +Check: Installation Environment(Directory Access) +Requirement: IoTDB needs data/datanode/data,data/datanode/consensus,data/datanode/system,data/datanode/wal,data/confignode/system,data/confignode/consensus,ext/pipe,ext/udf,ext/trigger write permission. +Result: +data/datanode/data has write permission +data/datanode/consensus has write permission +data/datanode/system has write permission +data/datanode/wal has write permission +data/confignode/system has write permission +data/confignode/consensus has write permission +ext/pipe has write permission +ext/udf has write permission +ext/trigger has write permission + +Check: Network(Local Port) +Requirement: Port 16668 10730 11742 10750 10760 10710 10720 is not occupied +Result: +Port 16668 10730 11742 10750 10760 10710 10720 is free + +Check: System Settings(Maximum Open Files Number) +Requirement: >= 65535 +Result: 65535 + +Check: System Settings(Swap) +Requirement: disabled +Result: disabled. +``` + +### 5.3 示例 3:检查远程 + +```Bash +health_check.sh/health_check.bat -o remote -ips 172.20.31.19 6667 18080,10.0.6.230 10311 +``` + +输出结果: + +```Bash +Check: Network(Remote Port Connectivity) +Requirement: 172.20.31.19:6667 18080 ,10.0.6.230:10311 need to be accessible +Result: +The following server ports are inaccessible: +IP: 10.0.6.230, Ports: 10311 +``` + +## 6. 常见问题 + +### 6.1 如何调整内存分配 + +* 修改`confignode-env.sh`中的MEMORY\_SIZE +* 修改`datanode-env.sh`中的MEMORY\_SIZE + +### 6.2 如何修改最大打开数文件 + +* 设置系统最大打开文件数为 65535,以避免出现 "太多的打开文件 "的错误。 + +```Bash +#查看当前限制 +ulimit -n +# 临时修改 +ulimit -n 65535 +# 永久修改 +echo "* soft nofile 65535" >> /etc/security/limits.conf +echo "* hard nofile 65535" >> /etc/security/limits.conf +#退出当前终端会话后查看,预期显示65535 +ulimit -n +``` + +### 6.3 如何禁用 Swap 及禁用原因 + +* 禁用原因:IoTDB 使用 Swap 会导致性能下降,建议禁用。 +* 禁用方式: + +```Bash +echo "vm.swappiness = 0">> /etc/sysctl.conf +# 一起执行 swapoff -a 和 swapon -a 命令是为了将 swap 里的数据转储回内存,并清空 swap 里的数据。 +# 不可省略 swappiness 设置而只执行 swapoff -a;否则,重启后 swap 会再次自动打开,使得操作失效。 +swapoff -a && swapon -a +# 在不重启的情况下使配置生效。 +sysctl -p +# 检查内存分配,预期 swap 为 0 +free -m +``` diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md index ff8876ea6..a27959b8b 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -46,6 +46,8 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 准备步骤 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 3a6f1cad1..2718386ec 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -48,6 +48,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 准备步骤 1. 准备IoTDB数据库安装包 :iotdb-enterprise-{version}-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 89793f49d..25393c759 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -40,6 +40,8 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 +6. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index f25de1926..be567af3c 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -44,6 +44,8 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md)。 +7. 在安装部署数据库前,可以使用健康检查工具检测 IoTDB 节点运行环境,并获取详细的检查结果。 IoTDB 健康检查工具使用方法可以参考:[健康检查工具](../Tools-System/Health-Check-Tool.md)。 + ## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录