elasticsearch5xx使用logstash同步mysql

  • 欢迎关注http://quanke.name/
  • 转载请注明出处,谢谢

安装

下载logstash

下载地址:https://www.elastic.co/downloads/logstash

当时我下载的是5.6.3版本

https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.tar.gz

解压:

tar -zxvf logstash-5.6.3.tar.gz

进入安装目录

运行:

bin/logstash -e 'input { stdin { } } output { stdout {} }'

等待几秒钟 出现

The stdin plugin is now waiting for input:

然后输入

hello world

得到类似的结果

2017-10-30T02:49:59.005Z quanke hello world

安装logstash-input-jdbc插件

1.安装 ruby 和 rubygems(注意:需要 ruby 的版本在 1.8.7 以上)

yum install -y ruby rubygems

检查 ruby 版本:

ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

替换国内的镜像

gem sources --remove http://rubygems.org/
gem sources -a http://gems.ruby-china.org/

验证是否成功

gem sources -l
*** CURRENT SOURCES ***

http://rubygems.org/
http://gems.ruby-china.org/

修改Gemfile的数据源地址

vim Gemfile

修改 source 的值 为: "https://gems.ruby-china.org/"

vim  Gemfile.jruby-1.9.lock

找到 remote 修改它的值为: https://gems.ruby-china.org/

开始安装:

./bin/logstash-plugin install --no-verify  logstash-input-jdbc
Installing logstash-input-jdbc
Installation successful

使用

配置语法

最基本的配置文件定义,必须包含input 和 output。如果需要对数据进操作,则需要加上filter段

配置 java mysql 连接驱动 mysql-connector-java-5.1.42-bin.jar

https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.42.tar.gz

input {
  stdin {

  }
  jdbc {
    jdbc_connection_string => "jdbc:mysql://dbs1:3306/db2_utan_cs"
    jdbc_user => "root"
    jdbc_password => "123456"
    jdbc_driver_library => "/data/arrow/logstash/mysql-connector-java-5.1.42-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
    statement => "SELECT * FROM crawler_data WHERE id > (SELECT MAX(t1.id) FROM db2_utan_cs.crawler_data AS t1)-70000 AND updatetime > :sql_last_value"
    use_column_value => true
    tracking_column => "updatetime"
    schedule => "* * * * *"
    type => "baby_crawler"
  }
}


filter {
  mutate {
    remove_field => [ "@timestamp", "@version", "id" ]
  }
}


output {
  elasticsearch {
    hosts => "192.168.1.21:9201"
    index => "baby_crawler_b"
    document_id => "%{uniquekey}"
  }
  stdout {
    codec => json_lines
  }
}

启动方式

# 通过手动指定配置文件启动

/bin/logstash -f /etc/logstash/conf.d/nginx_logstash.conf

# 以daemon方式运行,则在指令后面加一个 & 符号

/bin/logstash -f /etc/logstash/conf.d/nginx_logstash.conf &


# 如果是通过rpm包安装的logstash则可以使用自带的脚本启动

/etc/init.d/logstash start 

# 通过这种方式启动,logstash会自动加载 /etc/logstash/conf.d/ 下的配置文件

参考

http://tchuairen.blog.51cto.com/3848118/1840596/

原文发布于微信公众号 - 全栈架构(keatingr)

原文发表时间:2017-11-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏搜云库

CentOs7.3 安装 MySQL 5.7.19 二进制版本

CentOs7.3 安装 MySQL 5.7.19 二进制版本 参考官网 - 使用通用二进制文件在Unix / Linux上安装MySQL MySQL社区版 下...

40280
来自专栏VMCloud

【腾讯云的1001种玩法】构建企业级应用环境之数据层面优化(二)

在上一篇中我们讲到准备SQL基础环境改造,这一篇将继续讲述如何为应用提供高可用的底层数据层。

62900
来自专栏康怀帅的专栏

Debian 系包管理工具 apt 简介

apt 是 Debian Ubuntu 上的包管理工具。 源文件位于 /etc/apt/sources.list install remove 删除包 auto...

33060
来自专栏一个会写诗的程序员的博客

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES/NO) 解决方案1.停止mysql

初次安装mysql,net start mysql,然后输入mysql -u root -p,

4.9K30
来自专栏数据库

MongoDB安全实战之Kerberos认证

邓开表同学MongoDB系列文章,本文主要讲诉MongoDB的Kerberos配置实战。MongoDB Enterprise版本支持Kerberos服务认证。K...

24160
来自专栏醉梦轩

Ubuntu 16.04 部署MySQL服务

MySQL是一款开源的关系型数据库管理系统,大量公司都在使用它,或是在它的基础上做二次开发。有时,我们会需要在Linux系统上部署MySQL服务用于测试。

11710
来自专栏日常分享

Oracle常用数据库系统表单以及SQL的整理

  因为最近涉及到了一些数据库的归档,备份等工作,所以一部分的重心放在了数据库上,毕竟之前对数据库的了解也只停留在了一般的建表,查询,最多最多再写一写触发器之类...

16310
来自专栏MYSQL轻松学

Mysql备份方式及参数

Mysql备份方式 1、mysqldump -f 强制执行 --single-transaction 保证备份一致性,实际是把session设成repeata...

38880
来自专栏上善若水

013 windows10 mysql的安装

Access denied for user 'root'@'localhost' (using password:YES) 解决方案 问题的解决

15230
来自专栏转载gongluck的CSDN博客

利用xinetd实现简单web服务器(镜像站)

浏览效果: ? linux服务器安装xinetd后,在/etc/xinetd.d/目录下创建xhttpd文件,并输入内容: service xhttpd { ...

43260

扫码关注云+社区

领取腾讯云代金券