在Ubuntu上部署InfluxDB集群需要以下几个步骤:
首先,在每个节点上安装InfluxDB。可以使用以下命令来添加InfluxDB的存储库并安装软件包:
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update && sudo apt-get install influxdb
在每个节点上,编辑/etc/influxdb/influxdb.conf
文件,以配置数据和元数据存储、HTTP API绑定地址、端口等。例如:
[meta]
dir = "/var/lib/influxdb/meta"
bind-address = "0.0.0.0:8088"
retention-autocreate = true
logging-enabled = true
[data]
dir = "/var/lib/influxdb/data"
wal-dir = "/var/lib/influxdb/wal"
query-log-enabled = true
cache-max-memory-size = 1073741824
cache-snapshot-memory-size = 26214400
cache-snapshot-write-cold-duration = "10m0s"
compact-full-write-cold-duration = "4h0m0s"
max-series-per-database = 1000000
max-values-per-tag = 100000
max-concurrent-compactions = 0
trace-logging-enabled = false
[coordinator]
write-timeout = "10s"
max-concurrent-queries = 0
query-timeout = "0s"
log-queries-after = "0s"
max-select-point = 0
max-select-series = 0
max-select-buckets = 0
[retention]
enabled = true
check-interval = "30m0s"
[shard-precreation]
enabled = true
check-interval = "10m0s"
advance-period = "30m0s"
[admin]
enabled = false
bind-address = ":8083"
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
[http]
enabled = true
bind-address = ":8086"
auth-enabled = false
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
https-private-key = ""
max-row-limit = 10000
max-connection-limit = 0
shared-secret = ""
realm = "InfluxDB"
unix-socket-enabled = false
bind-socket = "/var/run/influxdb.sock"
[subscriber]
enabled = true
http-timeout = "30s"
insecure-skip-verify = false
ca-certs = ""
write-concurrency = 40
write-buffer-size = 1000
在每个数据节点上,编辑/etc/influxdb/influxdb.conf
文件,添加[cluster]
部分以配置集群通信。例如:
[cluster]
dial-timeout = "1s"
shard-writer-timeout = "5s"
shard-reader-timeout = "0"
max-remote-write-connections = 10
cluster-tracing = false
在每个元数据节点上,编辑/etc/influxdb/influxdb.conf
文件,添加[enterprise]
部分以配置企业许可证和注册信息(如果有)。例如:
[enterprise]
registration-enabled = false
registration-server-url = ""
license-key = ""
license-path = ""
在每个节点上,使用以下命令启动InfluxDB服务:
sudo systemctl start influxdb
在一个元数据节点上,使用以下命令初始化集群:
influxd-ctl init
这将输出一个示例命令,用于将其他数据节点添加到集群中。例如:
influxd-ctl join <data-node-1-ip>:8088
在其他数据节点上,运行上一步中生成的join
命令,将它们添加到集群中。
在任何元数据节点上,使用以下命令查看集群状态:
influxd-ctl show
这将显示集群中所有节点的状态。如果一切正常,您现在应该已经成功部署了一个InfluxDB集群。