From 7a753c12d0a96f612b35e9d5f95e90cbffab7c5e Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 30 Jul 2021 13:42:53 -0600 Subject: [PATCH] added filesystem layout to 1.8, clarified shard index location, closes influxdata/DAR#151 (#2937) --- .../influxdb/v1.8/administration/upgrading.md | 16 +- .../v1.8/concepts/file-system-layout.md | 198 ++++++++++++++++++ 2 files changed, 209 insertions(+), 5 deletions(-) create mode 100644 content/influxdb/v1.8/concepts/file-system-layout.md diff --git a/content/influxdb/v1.8/administration/upgrading.md b/content/influxdb/v1.8/administration/upgrading.md index 6d593cbc3..94cb4d501 100644 --- a/content/influxdb/v1.8/administration/upgrading.md +++ b/content/influxdb/v1.8/administration/upgrading.md @@ -31,15 +31,21 @@ and see [Migrate to InfluxDB Enterprise](/{{< latest "enterprise_influxdb" >}}/g 3. To enable TSI in InfluxDB 1.8.x, complete the following steps: - a. If using the InfluxDB configuration file, find the `[data]` section, uncomment `index-version = "inmem"` and change the value to `tsi1`. + 1. If using the InfluxDB configuration file, find the `[data]` section, uncomment `index-version = "inmem"` and change the value to `tsi1`. - b. If using environment variables, set `INFLUXDB_DATA_INDEX_VERSION` to `tsi1`. + 2. If using environment variables, set `INFLUXDB_DATA_INDEX_VERSION` to `tsi1`. - c. Delete shard `index` directories (by default, located at `//index`). + 3. Delete shard `index` directories in your [InfluxDB `data/` directory](/influxdb/v1.8/concepts/file-system-layout). + For example, in a Linux environment: - d. Build TSI by running the [influx_inspect buildtsi](/influxdb/v1.8/tools/influx_inspect/#buildtsi) command. + ``` + /var/lib/influxdb/data////index + ``` - > **Note** Run the `buildtsi` command using the user account that you are going to run the database as, or ensure that the permissions match afterward. + 4. Build TSI by running the [influx_inspect buildtsi](/influxdb/v1.8/tools/influx_inspect/#buildtsi) command. + {{% note %}} +Run the `buildtsi` command using the user account that you are going to run the database as, or ensure that the permissions match afterward. + {{% /note %}} 4. Restart the `influxdb` service. diff --git a/content/influxdb/v1.8/concepts/file-system-layout.md b/content/influxdb/v1.8/concepts/file-system-layout.md new file mode 100644 index 000000000..6cee3484b --- /dev/null +++ b/content/influxdb/v1.8/concepts/file-system-layout.md @@ -0,0 +1,198 @@ +--- +title: InfluxDB file system layout +description: > + The InfluxDB file system layout depends on the operating system, package manager, + or containerization platform used to install InfluxDB. +weight: 102 +menu: + influxdb_1_8: + name: File system layout + parent: Concepts +--- + +The InfluxDB file system layout depends on the operating system, installation method, +or containerization platform used to install InfluxDB. + +- [InfluxDB file structure](#influxdb-file-structure) +- [File system layout](#file-system-layout) + +## InfluxDB file structure +The InfluxDB file structure includes of the following: + +### Data directory +Directory path where InfluxDB stores time series data (TSM files). +To customize this path, use the [`[data].dir`](/influxdb/v1.8/administration/config/#dir--varlibinfluxdbdata) +configuration option. + +### WAL directory +Directory path where InfluxDB stores Write Ahead Log (WAL) files. +To customize this path, use the [`[data].wal-dir`](/influxdb/v1.8/administration/config/#wal-dir--varlibinfluxdbwal) +configuration option. + +### Metastore directory +Directory path of the InfluxDB metastore, which stores information about users, +databases, retention policies, shards, and continuous queries. +To customize this path, use the [`[meta].dir`](/influxdb/v1.8/administration/config/#dir--varlibinfluxdbmeta) +configuration option. + +## InfluxDB configuration files +Some operating systems and package managers store a default InfluxDB configuration file on disk. +For more information about using InfluxDB configuration files, see +[Configure InfluxDB](/influxdb/v1.8/administration/config/). + +## File system layout +{{< tabs-wrapper >}} +{{% tabs %}} +[macOS](#) +[Linux](#) +[Windows](#) +[Docker](#) +[Kubernetes](#) +{{% /tabs %}} + +{{% tab-content %}} + +#### macOS default directories +| Path | Default | +| :------------------------------------------ | :------------------ | +| [Data directory](#data-directory) | `~/.influxdb/data/` | +| [WAL directory](#wal-directory) | `~/.influxdb/wal/` | +| [Metastore directory](#metastore-directory) | `~/.influxdb/meta/` | + +#### macOS file system overview +{{% filesystem-diagram %}} +- ~/.influxdb/ + - data/ + - _TSM directories and files_ + - wal/ + - _WAL directories and files_ + - meta/ + - meta.db +{{% /filesystem-diagram %}} +{{% /tab-content %}} + + + +{{% tab-content %}} +When installing InfluxDB on Linux, you can download and install the `influxd` binary, +or you can use a package manager. +Which installation method you use determines the file system layout. + +- [Installed as a standalone binary](#installed-as-a-standalone-binary) +- [Installed as a package](#installed-as-a-package) + +### Installed as a standalone binary + +#### Linux default directories (standalone binary) +| Path | Default | +| :------------------------------------------ | :------------------ | +| [Data directory](#data-directory) | `~/.influxdb/data/` | +| [WAL directory](#wal-directory) | `~/.influxdb/wal/` | +| [Metastore directory](#metastore-directory) | `~/.influxdb/meta/` | + +#### Linux file system overview (standalone binary) +{{% filesystem-diagram %}} +- ~/.influxdb/ + - data/ + - _TSM directories and files_ + - wal/ + - _WAL directories and files_ + - meta/ + - meta.db +{{% /filesystem-diagram %}} + +### Installed as a package +InfluxDB 2.0 supports **.deb-** and **.rpm-based** Linux package managers. +The file system layout is the same with each. + +#### Linux default directories (package) +| Path | Default | +| :-------------------------------------------------------- | :---------------------------- | +| [Data directory](#data-directory) | `/var/lib/influxdb/data/` | +| [WAL directory](#wal-directory) | `/var/lib/influxdb/wal/` | +| [Metastore directory](#metastore-directory) | `/var/lib/influxdb/meta/` | +| [Default config file path](#influxdb-configuration-files) | `/etc/influxdb/influxdb.conf` | + +#### Linux file system overview (package) +{{% filesystem-diagram %}} +- /var/lib/influxdb/ + - data/ + - _TSM directories and files_ + - wal/ + - _WAL directories and files_ + - meta/ + - meta.db +- /etc/influxdb/ + - influxdb.conf _(influxd configuration file)_ +{{% /filesystem-diagram %}} +{{% /tab-content %}} + + + +{{% tab-content %}} + +#### Windows default paths +| Path | Default | +| :------------------------------------------ | :-------------------------------- | +| [Data directory](#data-directory) | `%USERPROFILE%\.influxdb\data\` | +| [WAL directory](#wal-directory) | `%USERPROFILE%\.influxdb\wal\` | +| [Metastore directory](#metastore-directory) | `%USERPROFILE%\.influxdb\meta\` | + +#### Windows file system overview +{{% filesystem-diagram %}} +- %USERPROFILE%\\.influxdb\ + - data/ + - _TSM directories and files_ + - wal/ + - _WAL directories and files_ + - meta/ + - meta.db +{{% /filesystem-diagram %}} +{{% /tab-content %}} + + + +{{% tab-content %}} + +#### Docker default directories +| Path | Default | +| :------------------------------------------ | :------------------------ | +| [Data directory](#data-directory) | `/var/lib/influxdb/data/` | +| [WAL directory](#wal-directory) | `/var/lib/influxdb/wal/` | +| [Metastore directory](#metastore-directory) | `/var/lib/influxdb/meta/` | + +#### Dockerhub file system overview +{{% filesystem-diagram %}} +- /var/lib/influxdb/ + - data/ + - _TSM directories and files_ + - wal/ + - _WAL directories and files_ + - meta/ + - meta.db +{{% /filesystem-diagram %}} +{{% /tab-content %}} + + + +{{% tab-content %}} +#### Kubernetes default paths +| Path | Default | +| :------------------------------------------ | :------------------------ | +| [Data directory](#data-directory) | `/var/lib/influxdb/data/` | +| [WAL directory](#wal-directory) | `/var/lib/influxdb/wal/` | +| [Metastore directory](#metastore-directory) | `/var/lib/influxdb/meta/` | + +#### Kubernetes file system overview +{{% filesystem-diagram %}} +- /var/lib/influxdb/ + - data/ + - _TSM directories and files_ + - wal/ + - _WAL directories and files_ + - meta/ + - meta.db +{{% /filesystem-diagram %}} +{{% /tab-content %}} + +{{< /tabs-wrapper >}}