influx db高可用部署方案
部署背景:因某云目前线上暂无influxdb PaaS服务,如客户需要influxdb服务,可以采用如下方式交付环境。以下为标准云主机部署环境,由于InfluxDB对IO要求很高,考虑到现实情况,建议主机采用本地盘虚机进行部署。
一、环境准备
主机
172.16.0.37 influx_proxy1
172.16.0.35 influx_proxy2
172.16.0.36 influxdb02
172.16.0.34 influxdb03
SLB 172.16.0.27
创建一台主机,选择40GSSD硬盘
mkfs.ext4 /dev/vdb
mkdir /data
mount /dev/vdb /data
/etc/fstab 增加如下数据,实现开机挂载
/dev/vdb /data ext4 defaults 0 0
关闭防火墙配置
systemctl stop firewalld
systemctl disable firewalld
二、利用自定义镜像,选择创建包含数据盘的自定义镜像,并用自定义镜像创建剩余的机器
三、系统部署架构
四、编辑四台主机 /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.0.37 influx_proxy1
172.16.0.35 influx_proxy2
172.16.0.36 influxdb01
172.16.0.34 influxdb02
五、influxdb01,influxdb02两台主机分别安装influxdb
下载
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.2.x86_64.rpm
拷贝到两台主机
scp -r ./influxdb-1.2.2.x86_64.rpm root@influxdb01:~/influx/
scp -r ./influxdb-1.2.2.x86_64.rpm root@influxdb02:~/influx/
两台主机分别运行,只安装不启动
rpm -ivh influxdb-1.2.2.x86_64.rpm
编缉influxdb.conf 修改数据目录 |
/etc/influxdb/influxdb.conf |
dir = "/data/influxdb/data"
wal-dir = "/data/influxdb/wal"
Systemctl start influxd
六、influx-proxy1与influx-proxy2部署influx-proxy
Influx-proxy需要安装go环境
Yum install go
git clone https://github.com/chengshiwen/influx-proxy.git
cd influx-proxy
Make
Cp bin/influx-proxy /usr/local/bin
编辑/opt/influx-proxy/proxy.json
{
"circles": [
{
"name": "circle-1",
"backends": [
{
"name": "influxdb-1-1",
"url": "http://influxdb02:8086",
"username": "root",
"password": "123456",
"auth_secure": false
}
]
},
{
"name": "circle-2",
"backends": [
{
"name": "influxdb-2-1",
"url": "http://influxdb03:8086",
"username": "root",
"password": "123456",
"auth_secure": false
}
]
}
],
"listen_addr": ":7076",
"db_list": [],
"data_dir": "/data/influx-pr/data",
"tlog_dir": "/data/influx-pr/log",
"hash_key": "idx",
"flush_size": 10000,
"flush_time": 1,
"check_interval": 1,
"rewrite_interval": 10,
"conn_pool_size": 20,
"write_timeout": 10,
"idle_timeout": 10,
"username": "root",
"password": "123456",
"auth_secure": false,
"write_tracing": false,
"query_tracing": false,
"https_enabled": false,
"https_cert": "",
"https_key": ""
}
系统服务配置文件
/etc/systemd/system/influx-proxy.service
[Unit] Description=influx-proxy After=network.target
[Service] Type=simple ExecStart=/usr/local/bin/influx-proxy -config /opt/influx-proxy/proxy.json KillSignal=SIGTERM
[Install] WantedBy=multi-user.target
Systemctl start influx-proxy
七、SLB配置
建立slb监听端口到两台 influx-proxy 7076的监听
八、安全组配置
需要放行内网访问权限
8086 influxd http服务端口(可以只开放给influx-proxy主机)
7076 Influx-proxy服务端口 (可以只开放给slb IP)
九、注意事项
注意需要关闭主机的防火墙
go mod download不能下载到go get golang.org/x 的包解决方案
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
influx db高可用部署方案相关推荐
- ActiveMQ实现负载均衡+高可用部署方案
2019独角兽企业重金招聘Python工程师标准>>> 一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J ...
- 基于pgpool-II读写分离+postgresql10主从从流复制高可用部署方案
一.环境准备 1.准备3台centos服务器: pgpool-II版本:pgpool-II-pg10-4.2.0-1pgdg postgresql版本:postgresql10 Server01:10 ...
- 【Redis】分布式场景下Redis高可用部署方案
文章内容 1.Redis高可用概述 2.持久化 1)RDB持久化 2)AOF持久化 3.Redis主从复制 4.Redis哨兵模式 3.Redis集群模式 1.Redis高可用概述 参考博文: 深入学 ...
- hadoop2.7x高可用部署方案(+zookeeper)
hadoop高可用的部署,需要有2个namenode,一个是active的,一个是standby的,两个namenode需要有一个管理员来管理,来决定决定谁active,谁standby,如果处于ac ...
- postgresql高可用_Postgresql高可用实现方案
本文主要讲解一种Postgresql高可用实现方案.由于项目需要,我们需要在短时间实现底层Postgresql DB的高可用,而网络上大多数的解决方案比较复杂,需要深入了解Postgresql. 背景 ...
- Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 【转】
文章出处:Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 [转] mysql数据库高可用高扩展性架构方案实施[原] Heartbeat+DRBD+MySQ ...
- Windows Admin Center 高可用部署
本文老王将为大家实作Windows Admin Center的高可用部署,相信有了高可用的架构支持将更进一步推进该产品的落地 环境介绍 08dc2 lan 10.0.0.2 255.0.0.0 16s ...
- Mysql+Heartbeat+Drbd生产环境高可用部署若干问题解惑
Mysql+Heartbeat+Drbd生产环境高可用部署若干问题解惑: ############################################################ # ...
- Spark HA高可用部署、基于文件系统单点恢复、基于zookeeper的Standby Master、如何恢复到上一次活着master挂掉之前的状态 03
1. Spark HA高可用部署 Spark Standalone集群时Master-Slaves架构的集群模式,和大部分的Master-Slaves结果集群一样,存在着Master单点故障的问题.如 ...
最新文章
- QTP操作xml文件方法
- 【每日一题】7月15日题目精讲—生日快乐
- angularJS+requireJS实现controller及directive的按需加载
- android service 本地 远程 总结
- php程序转net,asp,asp.net,php,jsp下的301转向代码,整站重定向
- textbox根据内容自动调整高度
- 获取屏幕,浏览器,网页高度宽度
- activiti 功能概述_子串功能概述
- 如何修改搜索框中的cancel button的颜色
- 微信公众号采坑之授权config
- 使用INT4/INT类型替换INT8/BIGINT类型能够节省多少磁盘空间?
- 【项目实战课】基于Pytorch的InceptionNet花卉图像分类实战
- Invalid regular expression: invalid group specifier name safari白屏 chrome正常
- 基于51单片机 + MQ-3酒精传感器 + ADC0832模数转换器 + LCD1602液晶显示器的酒精检测系统
- 易推影视推手系统,支持苹果v8 v10影视系统
- 元旦给计算机老师的贺卡,元旦给老师的祝福语贺卡
- 华为云之docker技术实现LNMP容器化—nginx配置文件
- 计算机屏幕900,win10系统电脑屏幕没有1440 900分辨率的修复技巧
- 滴滴青桔单车跨端技术方案和业务技术架构,及框架设计和性能提升实践
- Go 读者提问:GPM 模型的 M 实际数量受什么影响?