上篇博文中,咱們介紹了作互聯網級監控系統的必備-Influxdb的關鍵特性、數據讀寫、應用場景:html
互聯網級監控系統必備-時序數據庫之Influxdb數據庫
本文中,咱們介紹Influxdb數據庫集羣的搭建,同時分享一下咱們使用集羣遇到的坑!併發
1、環境準備性能
- 同一網段內,3個CentOS 節點,相互能夠ping通
- 3個節點CentOS配置Hosts文件,相互能夠解析主機名
- Azure 虛擬機啓用root用戶
- influxdb-0.10.3-1.x86_64.rpm
- 設置端口8083 8086 8088 8091例外
2、一步一步搭建Influxdb集羣spa
1. 在各個節點的主機上配置Hosts文件,這樣能夠保證每一個節點直接的互相通信htm
![](http://static.javashuo.com/static/loading.gif)
2. 各個節點主機安裝InfluxDB rpm,只是安裝不啓動Influxdbblog
![](http://static.javashuo.com/static/loading.gif)
3. 三個節點主機上依次 編輯Influxdb.conf文件(.etc/influxdb/influxdb.conf)排序
![](http://static.javashuo.com/static/loading.gif)
主要修改HostName、bind-address、http-bind-address三個選項flux
依次修改三個主機節點的配置文件get
4. InfluxDB01機器上啓動Influxdb
[root@influxdb01 influxdb]# sudo service influxdb start
5.
InfluxDB02上配置/etc/default/influxdb文件
加入influxdb01節點
INFLUXD_OPTS="-join influxdb01:8091"
6.
InfluxDB02機器啓動InfluxDB
[root@influxdb02 default]# sudo service influxdb start
7.
InfluxDB03上配置/etc/default/influxdb文件
加入influxdb01節點
INFLUXD_OPTS="-join influxdb01:8091"
8.
InfluxDB03機器啓動InfluxDB
[root@influxdb03 default]# sudo service influxdb start
9.
InfluxDB01上啓動InfluxDB
Influx -host influxdb01
10.
查看Influxdb集羣
3、Influxdb集羣,咱們遇到的坑
Influxdb集羣模式下,數據在各個節點之間是同步的,即,咱們能夠選擇任何一個節點寫入,數據均可以再其餘節點查詢到。
搭建集羣后,咱們遇到的第一個問題就是
數據不一樣步問題。其實,數據寫入壓力並不大!
數據不一樣步後重啓集羣,依然數據不一樣步。
數據寫入時,必須是UTC時間,而且是Unix下的UTC時間格式。
批量寫入的數據,有時候會很慢,緣由是數據必須按時間降序排序好,再批量插入。
單機模式比集羣模式穩定,同時最新的集羣不開源了,商業版本支持。
多條批量寫入的性能好,可是併發數有限制,批量數據的個數在1000之內最佳。
周國慶
2017/7/12