Influxdb双写服务influxdb-relay部署配置【离线】

news2024/11/18 23:29:57

Background

  • Influxdb社区版未提供集群方案,官方提供的集群模式为闭源收费版本,具体收费明细不太清楚哈,有知道的请留言告知哈。
  • 官方开源的influxdb-relay仅仅支持双写功能,并未支持负载均衡能力,仅仅解决了数据备份的问题,并未解决influxdb读写性能的问题。Github地址:https://github.com/influxdata/influxdb-relay
  • 饿了么开源的influx-proxy是一个基于高可用、一致性哈希的 InfluxDB 集群代理服务,实现了 InfluxDB 高可用集群的部署方案,具有动态扩 / 缩容、故障恢复、数据同步等能力,但是组件较多,学习成本高,后期不易维护。Github地址:https://github.com/shell909090/influx-proxy
  • 这里只介绍下influxdb-relay方案的部署配置。

1、首先安装配置Golang环境

  • go语言开发的,编译时需要go环境,当然,如果是编译好的那就不用了,这里我提供一个在Centos7上编译好可以直接运行的。
  • 下载地址:https://pan.baidu.com/s/1ti5HNJJ1jiuFLvOJWG1l7A,提取码:king
  • 里面包含所有所需,operate.sh是一个启动停止的脚本。

在这里插入图片描述

  • 下载

官方下载地址:https://golang.org/
镜像站下载地址:https://golang.google.cn/dl/

# 用yum安装
yum install golang
# 或 使用编译好的二进制包
wget https://golang.google.cn/dl/go1.15.8.linux-amd64.tar.gz
  • 安装
tar -zxf go1.15.8.linux-amd64.tar.gz -C /usr/local
  • 配置
tee -a /etc/profile <<-'EOF'
#golang config
export GOROOT=/usr/local/go 
export GOPATH=/local/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
EOF
mkdir /local/gopath
source /etc/profile
# 查看版本
go version

2、下载编译influxdb-relay

如果用我提供的这一步也不用了。

# 一键获取远程仓库代码、编译并安装到你配置的 $GOPATH/bin
go get -u github.com/influxdata/influxdb-relay

3、编辑配置文件relay.toml

其中IP 10.0.0.110.0.0.2需要修改成你自己的inflxudb服务所在的IP。

[[http]]
name = "influxdb-http"
bind-addr = "0.0.0.0:9096"
output = [
    { name="influxdb1", location="http://10.0.0.1:8086/write", timeout="10s", buffer-size-mb=1024 },
    { name="influxdb2", location="http://10.0.0.2:8086/write", timeout="10s", buffer-size-mb=1024 },
]

4、启动influxdb-relay服务

  • 启动命令
nohup ./influxdb-relay -config ./relay.toml > ./run.log 2>&1 &
  • operate.sh

直接使用operate.sh脚本启动就行。

#!/bin/bash  

:<<!
【脚本说明】
1、此脚本适用操作某个程序;
2、支持服务启动、停止、重启、查看状态、查看日志;
!

# 程序名称
app=influxdb-relay
# 运行目录
dir_home=$(cd $(dirname $0);pwd)
dir_log=$dir_home/logs/
log_file=$dir_log/$app.log
if [[ ! -d $dir_log ]]; then
    mkdir $dir_log
fi

# 服务基本信息
operate=$1
ps_1=$app
pid_1=`ps -ef | grep $ps_1 | grep -v grep | awk '{print $2}'`
# 提示信息
msg="Please input the param 【<run|kil|res|sta|log>】"

# 定制化shell输出
function custom_print(){
    echo -e "\033[5;34m ***** \033[0m"
    echo -e "\033[32m $@ ! \033[0m"
    echo -e "\033[5;34m ***** \033[0m"
}

# 启动命令
function run(){
    nohup $dir_home/influxdb-relay -config $dir_home/relay.toml > $log_file 2>&1 &
}

# 启动服务
if [[ $operate = "run" || $operate = "start" ]]; then
    if [[ ! $pid_1 ]]; then
        run
        msg='Start success'
        custom_print $msg
    else
        msg='The service is already running'
        custom_print $msg
    fi

# 停止服务
elif [[ $operate = "kil" || $operate = "stop" ]]; then
    if [[ $pid_1 ]]; then
        kill -9 $pid_1
        msg='Stopped success'
        custom_print $msg
    else
        # 服务早已停止或未启动
        msg='The service is already down'
        custom_print $msg
    fi

# 重启服务
elif [[ $operate = "res" || $operate = "restart" ]]; then
    if [[ $pid_1 ]]; then
        kill -9 $pid_1
    fi
    run
    msg='Restart success'
    custom_print $msg

# 查看服务运行状态
elif [[ $operate = "sta" || $operate = "status" ]]; then
    if [[ $pid_1 ]]; then
        # 黄底蓝字
        echo -e "\033[43;34m RUNNING \033[0m"
    else
        # 蓝底黑字
        echo -e "\033[44;30m STOPPED \033[0m"
    fi

# 查看服务运行日志
elif [[ $operate = "log" ]]; then
    if [[ -e $log_file ]]; then
        tail -f $log_file
    else
        msg="No logs have been generated so far"
        custom_print $msg
    fi

else
    custom_print $msg
fi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++初阶】友元(友元函数友元类)、内部类、匿名对象、拷贝对象时的优化

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【C学习与应用】 ✒️✒️本篇内容&#xff1a;友元函数和友元类的概念和基础应用&#xff0c;简单介绍内部类、匿名对象、拷贝对象时的部分编译器优化情况…

Java守护线程简述

Java守护线程简述前言前置知识线程JVM退出代码测试查看子线程是否继承父线程的类型守护线程在程序退出时的表现普通线程在程序退出时的表现总结前言 最近再看《Java并发编程实战》&#xff0c;正好有一小节关于守护线程的知识&#xff0c;这里做一点小总结。 前置知识 这里只…

云原生之Dockerfile简介和基础实践

dockerfile简介和基础实践一、Dockerfile简介1.1、Dockerfile解决的问题1.2、docker build 构建流程1.3、关键字介绍二、Dockerfile 实践2.1、基本语法实践 --- golang问题检查2.2、基本语法实践 --- gcc总结后言一、Dockerfile简介 Dockerfile是一个创建镜像所有命令的文本文…

为行业赋能 助力行业客户业务大放异彩

近日&#xff0c;2022亚马逊云科技re:Invent全球大会已完美落幕&#xff0c;在大会上发布了很多重磅新品&#xff0c;包括云原生数据战略、硬件创新、高性能计算等等在各行各业中的创新应用&#xff0c;下面就来看看医疗与生命科学、市场调研和数据分析、汽车行业&#xff0c;他…

如何理解UML2.5.1(04篇)

第一步&#xff1a; 这里发现UML2.5.1中的一处错误&#xff1a; 图四、Figure9.10中的一处错误。 错误就在于最下面一个关联右端点处的标记redefines&#xff0c;有了这个标记&#xff0c;就应该意味着此关联特化了某个关联&#xff0c;但是如果我们用“A_ownedAttribute_class…

在Android端集成OpenCV的三种方式

1.Opencv Android SDK 基于Opencv C本地代码&#xff0c;通过Java语言接口使用JNI技术调用C本地方法的SDK开发包。 &#xff08;1&#xff09;etc:各类模型文件存储地址 &#xff08;2&#xff09;java:Java版本的Android SDK相关文件 &#xff08;3&#xff09;native:JNI层…

【QGIS入门实战精品教程】3.4:QGIS创建GeoPackage地理数据库及数据入库案例详解

GeoPackage(以下简称gpkg),内部使用SQLite实现的一种单文件、与操作系统无关的地理数据库。在QGIS中可以很方便的实现GeoPackage的创建与连接等操作。 一、QGIS创建GeoPackage 1. 创建数据库 QGIS创建GeoPackage的方法与ArcGIS中创建File GDB的类似,选择一个目标文件夹,…

Adobe Acrobat XI 一进去就闪退;解决Acrobat的闪退问题

一、原因分析 闪退是因为网络中校验版权时出现问题 二、解决办法 域名欺骗&#xff0c;添加伪造的host条目 1. 进入C:\Windows\System32\drivers\etc 找到hosts文件 2. 右机hosts&#xff0c;选择属性&#xff0c;在安全选项里&#xff0c;点击高级&#xff1a; 3. 在ho…

Hive+Spark离线数仓工业项目实战--数仓设计及数据采集(1)

数仓设计及数据采集 1. **数据仓库设计** - 建模&#xff1a;维度建模&#xff1a;【事实表、维度表】 - 分层&#xff1a;ODS、DW【DWD、DWM、DWS】、APP - **掌握本次项目中数仓的分层** - ODS、DWD、DWB、DWS、ST、DM 2. 业务系统流程和数据来源 - 数据源…

Webpack5搭建Vue环境 | Webpack

文章目录webpack打包其他资源图片资源file-loader文件的命名规则url-loaderwebpack5 asset方式字体文件的打包PluginCleanWebpackPluginHtmlWebpackPluginDefinePluginCopyWebpackPluginmode配置webpack打包其他资源 图片资源 虽然此时我未安装file-loader 但是我正常显示了图片…

SHOP++ V9.1商城系统:可视化装修,0基础也能打造高颜值商城!

SHOP B2B2C商城系统新版本V9.1 新增的店铺装修功能是一款针对电商的DIY装修工具。可以快速装修店铺。能同时满足不同用户的使用需求。 一、页面可视化编辑组件 电商大潮异军突起的今天&#xff0c;如何让你的商品页面快速的抓住顾客的眼球&#xff0c;是促成订单转化的重要因素…

项目实战之旅游网(二)后台用户管理(上)

目录 一.管理员列表 二. 新增管理员 三.修改管理员 四.管理员详情 一.管理员列表 后台用户也称为管理员&#xff0c;每个管理员能在后台进行的操作不同,所以不同的管理员有不同的权限。在项目中&#xff0c;权限表的设计为用户-角色多对多&#xff0c;角色权限多对多&…

四、网络层(四)IPv6

目录 4.1 IPv6的主要特点 4.2 IPv6地址 4.3 从IPv4到IPv6过渡 4.1 IPv6的主要特点 解决IP地址耗尽问题的措施有以下3种 采用无分类域间路由&#xff0c;使IP地址的分配更加合理。采用网络地址转换NAT以节省全球IP地址。采用具有更大地址空间的新版本的IP协议IPv6。&am…

力扣(LeetCode)199. 二叉树的右视图(C++)

迭代 按照层序遍历&#xff0c;每一层最右边的元素就是二叉树右视图的元素。迭代算法需要队列保存二叉树每一层的所有结点&#xff0c;并且在遍历下一层时&#xff0c;上一层的所有结点已经出队。在遍历下一层之前&#xff0c;记录队列大小&#xff0c;即为二叉树当前层的结点…

三.keepalived介绍及工作原理

keepalived介绍及工作原理keepalived介绍及工作原理一、keepalived的介绍二、Keepalived服务的重要功能1、管理LVS负载均衡软件2、实现对LVS集群节点健康检查功能&#xff08;healthcheck&#xff09;3、作为系统网络服务的高可用功能&#xff08;failover&#xff09;三、Keep…

Redis 集合(Sorted Set)方法使用详解

目录一、简介二、常用方法2.1、ZADD2.2、ZREM2.3、ZSCORE2.4、ZINCRBY2.5、ZCARD2.6、ZRANK、ZREVRANK2.7、ZRANGE、ZREVRANGE2.8、ZRANGEBYSCORE、ZREVRANGEBYSCORE2.9、ZCOUNT2.10、ZREMRANGEBYRANK2.11、ZREMRANGEBYSCORE2.12、ZINTERSTORE、ZUNIONSTORE2.13、ZRANGEBYLEX、…

day 9 模拟和高精度

P4924 [1007]魔法少女小Scarlet 题目描述 Scarlet 最近学会了一个数组魔法&#xff0c;她会在 nn 二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转 90∘。 首先&#xff0c;Scarlet 会把 1 到 n^2 的正整数按照从左往右&#xff0c;从上至下的顺序填入初始的二维数组中…

带您认识spreadsheet专属的数据仓库,助力报表开发好帮手

业务主题是针对业务的一个概念&#xff0c;它将同一数据源中属于同一个分析主题的表或表中的字段组合在一起&#xff0c;为进一步的可视化数据集提供基本元素。 业务主题我们看作是 Smartbi 产品中的数据仓库&#xff0c;主要应用于可视化数据集等操作。 业务主题的应用场景有如…

佳缘线上超市网站

成品详细信息 开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 基于SPRINGBOOTE的佳源线上超市管理系统的设计与实现 模块划分&#xff1a;公告类型模块、公告信息模块…

【Pycharm教程】在 PyCharm 中使用 Emacs 作为外部编辑器

Emacs是一个高级的文本编辑器&#xff0c;可以让你全面地操作你的代码。使用 Emacs 意味着可以根据您用于编码的语言进行完全可调整的编辑。 本文介绍了如何将 Emacs 添加到 PyCharm 并使用它来修改您的代码。 最新版本的 Emacs 可以从官网下载安装。 将 Emacs 配置为外部编…