influxdb1.7.7+centos7+influxdb-relay(加多写)搭建

刚刚接触时序库,看到网上Influxdb关注度非常高,使用广泛,于是动手搭建influxdb,先介绍下我的搭建环境:

我使用的是centos7系统,搭建流程如下:

参考文章:https://www.cnblogs.com/huang-yc/p/10500098.html     非常感谢!

1、修改yum包管理文件,如果没有yum,请自行安装,可以参考 https://www.cnblogs.com/jukaiit/p/8877975.html

 

vi  /etc/yum.repos.d/influxdb.repo

写入如下内如:

[influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key

注:这个 influxdb.repo 是默认没有的

2、安装:

sudo yum install influxdb

3、开启

sudo systemctl start influxdb

 

如果没有报错啥的,一般是开启成功了,下面尝试一下:

 

直接运行:  influx 

会起来交互模式!

 

可以看到版本号!

 

目前的influxdb只支持单机版本,而集群版本是收费的,对于一般的中小企业,这样的单机版本是够用了,在集群收费后,有一个依赖的多写项目开放了,这个项目就是influxdb-relay,这个项目的地址是:

 

https://github.com/vente-privee/influxdb-relay

 

安装之前,需要安装go环境,安装流程如下:

 

这里使用二进制源码包来安装:

下载go1.10.2.linux-amd64.tar.gz

Whet https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz

然后解压:

tar xzvf go1.10.2.linux-amd64.tar.gz

然后在任意目录运行查看版本:

[root@jordy tmp]# go version

-bash: go: command not found

发现缺少环境变量配置

然后:

当前我的解压目录是:

/usr/local/src/golang/go/bin

在打开:

vim /etc/profile

然后在最后添加:

# set path for golang

export PATH=$PATH:/usr/local/src/golang/go/bin

然后source使其生效:

source /etc/profile

然后查看版本:

[root@jordy bin]# cd /tmp/

[root@jordy tmp]# go version

go version go1.10.2 linux/amd64

ok,安装完毕

 

 

 

这里面有安装的过程,按照流程就可以安装,安装后需要配置好配置文件后,就可以启动了!

配置文件为 /etc/influxdb-relay/influxdb-relay.conf  一般是这个目录,没有的话,可以搜索  find / -name influxdb-relay.conf

我的配置文件内容是:

 

influxdb1.7.7+centos7+influxdb-relay(加多写)搭建_第1张图片

 

[[http]]
name = "example-http"
bind-addr = "127.0.0.1:9096"
output = [
    { name="influxdb-1", location = "http://127.0.0.1:8086/write" },
    { name="influxdb-2", location = "http://10.242.3.244:8086/write" },
]

[[udp]]
#name = "example-udp"
#bind-addr = "127.0.0.1:19096"
#read-buffer = 0 # default
#output = [
#    { name="influxdb-1", location="127.0.0.1:8089", mtu=512 },
#    { name="influxdb-2", location="127.0.0.1:7089", mtu=1024 },
#]

 

 

我这个配置,是配置了本机的influxdb服务,也配置了 10.242.3.244 机器上的influxdb服务,也就是说

10.242.3.244 上也安装了ifnluxdb,这样就等于实现了两个服务器,当然,这两个服务器要互通!

然后需要用如下命令开启:

/root/go/bin/influxdb-relay -config /etc/influxdb-relay/influxdb-relay.conf

 

开启后,你会发现,在9096端口会起来一个进程,查看方式如下:

netstat -nap|grep 9096

 

这样,你就可以往9096这个端口写数据了,这样写数据,在两个服务器上都会有数据,也就是实现了双写!

其实相当于做了个备份,防止一个服务器出问题!

写入方式如下:

curl -i -XPOST 'http://localhost:9096/write?db=iwaterdata' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.67'

以上命令直接在linux命令行下执行,那个数据库改成你的,默认是没有数据库的,需要先创建,关于这个使用介绍,推荐一个网址:

https://jasper-zhang1.gitbooks.io/influxdb/content/

 

其实,以上说上来也是简单的做了备份,两个服务器都存了,取的时候从任何一个取都可以,注意取数据默认端口是8086。

说来也算不上分布式,因为两个系统之间其实没有做交互!

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(技术)