InfluxDb v0.11集群部署
一、环境准备
-
同一网段内,3个CentOS 节点,相互可以ping通
-
3个节点CentOS配置Hosts文件,相互可以解析主机名
2.1 在各个节点的主机上配置hosts文件,这样可以保证每个节点直接的互相通讯
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 IP1 influxdb01 IP2 influxdb02 IP3 influxdb03
-
influxdb-0.11.1-1.x86_64.rpm(Influxdb安装包下载地址:https://repos.influxdata.com/centos/7/x86_64/stable/)
-
开放端口8083 8086 8088 8091
二、搭建Influxdb集群
-
安装InfluxDB rpm
sudo rpm -ivh influxdb-0.11.1-1.x86_64.rpm
-
三个节点主机上依次 编辑Influxdb.conf文件
vi etc/influxdb/influxdb.conf
主要修改HostName、bind-address、http-bind-address三个选项
hostname = "influxdb01" [meta] enabled = true ... bind-address = "influxdb01:8088" ... http-bind-address = "influxdb01:8091" ... [data] enabled = true ... [http] ... bind-address = "influxdb01:8086" ###在web控制台创建用户后,将auth-enabled设置为true,重启influxdb开启认证。 #auth-enabled = true
-
在3个节点上设置
INFLUXD_OPTS
vi /etc/default/influxdb
写入:
INFLUXD_OPTS="-join <IP1>:8091,<IP2>:8091,<IP3>:8091"
-
在每一个节点上启动InfluxDB:
sudo service influxdb start
-
命令行连接influx:
influx -host <IP>
-
web控制台地址:<节点IP>:8083/
-
验证集群健康状况:
> SHOW SERVERS name: data_nodes ---------------- id http_addr tcp_addr 1 <IP1>:8086 <IP1>:8088 2 <IP2>:8086 <IP2>:8088 3 <IP3>:8086 <IP3>:8088 name: meta_nodes ---------------- id http_addr tcp_addr 1 <IP1>:8091 <IP1>:8088 2 <IP2>:8091 <IP2>:8088 3 <IP3>:8091 <IP3>:8088
三、centos7安装nginx
由于influxdb对外暴露的是http服务,这里使用nginx做负载均衡
-
安装nginx前置环境
yum install gcc pcre-devel zlib-devel
-
下载nginx安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz
-
解压nginx
tar -zxvf nginx-1.9.9.tar.gz
-
安装
cd nginx-1.9.9 ./configure make make install cd /usr/local/nginx vi /conf/nginx.conf
nginx.conf
... upstream load_balance_server{ server <IP1>:8086; server <IP2>:8086; server <IP3>:8086; } upstream load_balance_server_admin{ server <IP1>:8083; server <IP2>:8083; server <IP3>:8083; } server { listen 6161; server_name <IP>; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://load_balance_server; proxy_connect_timeout 1; proxy_read_timeout 1; proxy_send_timeout 1; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 80; server_name <IP>; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://load_balance_server_admin; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } ... }
-
切换目录到/usr/local/nginx/sbin下面启动nginx
./nginx
-
查看nginx服务是否启动成功
ps -ef | grep nginx
tips:
1.数据写入influxdb的时间与本地时间会相差8小时