微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

go-mysql-elasticsearch安装部署

1.go-MysqL-elasticsearch简介

go-MysqL-elasticsearch是一个MysqL数据自动同步到Elasticsearch的服务。

它首先使用MysqLdump获取原始数据,然后用binlog增量地同步数据。

github地址:https://github.com/siddontang/go-mysql-elasticsearch

这里有几点注意事项:

  • 1.MysqLbinlog必须是ROW模式,不然启动会报错。
  • 2.连接MysqL用户权限需要大一些。

 

2.安装

2.1 安装go

安装go

yum install -y go

安装godep

go get github.com/tools/godep

下载go-MysqL-elastisearch插件

go get github.com/siddontang/go-MysqL-elasticsearch

进入对应目录,比如我使用的如下目录/root/go/src/github.com/siddontang/go-mysql-elasticsearch

cd /root/go/src/github.com/siddontang/go-MysqL-elasticsearch

编译

make

2.2 MysqL开启binlog

接下来需要在MysqL中开启binlog,首先查询一下是否开启了binlog

进入MysqL

MysqL -uroot -p

输入密码,然后输入如下命令查看binlog开启状态

show variables like '%log_bin%';

如图所示,ON为开启了,如果没有开启的话为OFF。

 

如果没有开启的话,需要在my.cnf配置中添加如下配置(其中server-id可以根据情况设置,这里设置为1,log-bin为日志位置,一定要给日志写的权限,不然会报错,binlog_format为模式,这里必须为ROW):

server-id=1
log-bin=/usr/local/MysqL-log/MysqL-bin.log
binlog_format="ROW"

设置完成后重启MysqL.

service MysqLd restart

3.配置go-MysqL-elasticsearch

需要配置一下go-MysqL-elasticsearch,样例在:https://github.com/siddontang/go-mysql-elasticsearch/blob/master/etc/river.toml

本文测试的配置文件内容如下:

# MysqL 配置:地址,用户名密码
my_addr = "ip:3306"     
my_user = "root"
my_pass = "***"

# Elasticsearch地址
es_addr = "ip:端口"
    
# 存储数据的位置
data_dir = "./var"
    
# Inner Http status address
stat_addr = "127.0.0.1:12800"
    
# pseudo server id like a slave
server_id = 1001
    
# MysqL or mariadb
flavor = "MysqL"
    
# MysqL备份文件,如果不设置或设置为空,则跳过
MysqLdump = "MysqLdump"
    
# minimal items to be inserted in one bulk
bulk_size = 128
    
# force flush the pending requests if we don't have enough items >= bulk_size
flush_bulk_time = "200ms"
    
# Ignore table without primary key
skip_no_pk_table = false
    
# MysqL数据源,schema:数据库,tables:表
[[source]]
schema = "test"
tables = ["link_info"]

[[rule]]
schema = "test"
table = "link_info"
index = "test_MysqL2"
type = "link_info"

4.运行go-MysqL-elasticsearch


配置完成后,运行go-MysqL-elasticsearch


bin/go-MysqL-elasticsearch -config=river.toml

5.总结

由于没上过生产,所以只对我个人测试使用进行评价,安装上和数据同步感觉很友好,因为结合binlog的原因,可以实现同步增删改。对于网上说的日志很少和不成熟等说法,这里不评价。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐