influxdb 筆記: 寫高可用 Relay
# 依賴 go 1.5++
### 原理
只負責write的高可用,write時根據配置的每個節點都要寫一次,相當於多寫
read需要其他工具做Load Balance
# 安裝,Install influxdb-relay to your $GOPATH/bin
go get -u github.com/influxdata/influxdb-relay
### docker 編譯
Building
The recommended method for building influxdb-relay is to use Docker and the included Dockerfile_build_ubuntu64 Dockerfile, which includes all of the necessary dependencies.
docker run -v $(pwd):/root/go/src/github.com/influxdata/influxdb-relay influxdb-relay-builder --help
docker build -f Dockerfile_build_ubuntu64 -t influxdb-relay-builder:latest
docker run --rm -v $(pwd):/root/go/src/github.com/influxdata/influxdb-relay influxdb-relay-builder
# Packages
# To build packages for other platforms or architectures, use the --platform and --arch options. For example, to build an amd64 package for Mac OS X, use the options --package --platform darwin.
docker run -v $(pwd):/root/go/src/github.com/influxdata/influxdb-relay influxdb-relay-builder --package
### 缺陷
# 手動在所有節點上建立資料庫
write操作並不包含建立資料庫,所以需要手動在所有節點上提前建立資料庫
# 故障節點恢復後的控制
叢集(A,B),如果B當機了,當機的這個時間段內的A上的所有寫入都會被快取起來(超過buffer-size-mb則會丟棄,輸出錯誤日誌),當B恢復後,則會將快取的操作在B上重放一次,但如果在重放期間,B上對外仍然可寫(bug產生的原因)。
如何手動控制B提供寫服務
##################
###### 搭建叢集
# node_a, node_b 按標準安裝好
node_relay: 192.168.1.112
node_a: 192.168.1.12
node_b: 192.168.1.15
##################
# 生成 http使用的pem, 密碼: influxdb123
openssl genrsa -des3 -out /etc/influxdb/influxdb-relay.pem 2048
# vim /etc/influxdb/relay.toml
[[http]]
name = "influxdb-http-dba"
bind-addr = "0.0.0.0:9096"
output = [
{ name="http-12", location = "http://192.168.1.12:8086/write", timeout="10s", buffer-size-mb = 100, max-batch-kb = 50, max-delay-interval = "5s" },
{ name="http-15", location = "http://192.168.1.15:8086/write", timeout="10s", buffer-size-mb = 100, max-batch-kb = 50, max-delay-interval = "5s" },
]
[[udp]]
name = "influxdb-udp-dba"
bind-addr = "0.0.0.0:9099"
read-buffer = 0
precision = "n"
output = [
{ name="udp-12", location="192.168.1.12:8089", mtu=512 },
{ name="udp-15", location="192.168.1.15:8089", mtu=1024 },
]
# 啟動
nohup $GOPATH/bin/influxdb-relay -config /etc/influxdb/relay.toml >/tmp/influxdb_relay.log 2>/dev/null &
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26250550/viewspace-2129322/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- influxdb 筆記: 安裝UX筆記
- influxdb 筆記: API & CRUDUX筆記API
- substrate學習筆記12:Relay Chain筆記AI
- Jumpserver雙機高可用環境部署筆記Server筆記
- SpringCloud學習筆記(6)——Eureka高可用SpringGCCloud筆記
- Keepalived+Nginx高可用叢集搭建筆記Nginx筆記
- influxdb 筆記: 使用者管理UX筆記
- influxdb 筆記: 備份/恢復UX筆記
- influxdb 筆記: Continuous Queries - CQsUX筆記
- Redis 學習筆記(五)高可用之主從模式Redis筆記模式
- influxdb 筆記: Retention Police - RPsUX筆記
- Harbor1.9+Nginx高可用叢集倉庫搭建筆記Nginx筆記
- 高效能MySQL.讀書筆記(六)高可用性MySql筆記
- 3,編寫高階select語句(筆記)筆記
- Mysql 高可用(MHA)-讀寫分離(Atlas)MySql
- 可用ai網站筆記AI網站筆記
- Influxdb 資料寫入流程UX
- MHA+ProxySQL實現讀寫分離高可用SQL
- MySQL高可用方案-PXC環境部署記錄MySql
- PostgreSQL repmgr高可用叢集+keepalived高可用SQL
- 讀書筆記:編寫高質量javascript的68個方法筆記JavaScript
- EurekaServer高可用Server
- redis客戶端實現高可用讀寫分離Redis客戶端
- Facebook重寫React和Relay框架,旨在提升效能React框架
- ProxySQL Cluster 高可用叢集環境部署記錄SQL
- 記一次mysql高可用技術分享MySql
- MySQL 高可用架構 - MHA環境部署記錄MySql架構
- Redis+Keepalived高可用環境部署記錄Redis
- MySQL高可用架構-MHA環境部署記錄MySql架構
- MySQL高可用架構-MMM環境部署記錄MySql架構
- 什麼是高可用?高可用軟體哪家好?
- MySQL高階篇筆記MySql筆記
- 為什麼是InfluxDB | 寫在《InfluxDB原理和實戰》出版之際UX
- Haproxy+Heartbeat 高可用叢集方案操作記錄
- corosync+pacemaker+http高可用操作手記薦ROSHTTP
- Centos下SFTP雙機高可用環境部署記錄CentOSFTP
- Redis高可用 SentinelRedis
- nt高可用部署