前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >elasticsearch5xx使用logstash同步mysql

elasticsearch5xx使用logstash同步mysql

作者头像
全科
发布2018-08-15 15:51:13
5480
发布2018-08-15 15:51:13
举报
文章被收录于专栏:全栈架构全栈架构
  • 欢迎关注http://quanke.name/
  • 转载请注明出处,谢谢

安装

下载logstash

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

当时我下载的是5.6.3版本

代码语言:javascript
复制
https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.tar.gz

解压:

代码语言:javascript
复制
tar -zxvf logstash-5.6.3.tar.gz

进入安装目录

运行:

代码语言:javascript
复制
bin/logstash -e 'input { stdin { } } output { stdout {} }'

等待几秒钟 出现

代码语言:javascript
复制
The stdin plugin is now waiting for input:

然后输入

代码语言:javascript
复制
hello world

得到类似的结果

代码语言:javascript
复制
2017-10-30T02:49:59.005Z quanke hello world
安装logstash-input-jdbc插件

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

代码语言:javascript
复制
yum install -y ruby rubygems

检查 ruby 版本:

代码语言:javascript
复制
ruby -v
代码语言:javascript
复制
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

替换国内的镜像

代码语言:javascript
复制
gem sources --remove http://rubygems.org/
gem sources -a http://gems.ruby-china.org/

验证是否成功

代码语言:javascript
复制
gem sources -l
代码语言:javascript
复制
*** CURRENT SOURCES ***

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

修改Gemfile的数据源地址

代码语言:javascript
复制
vim Gemfile

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

代码语言:javascript
复制
vim  Gemfile.jruby-1.9.lock

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

开始安装:

代码语言:javascript
复制
./bin/logstash-plugin install --no-verify  logstash-input-jdbc
代码语言:javascript
复制
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

代码语言:javascript
复制
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
  }
}
启动方式
代码语言:javascript
复制
# 通过手动指定配置文件启动

/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/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
    • 下载logstash
      • 安装logstash-input-jdbc插件
      • 使用
        • 配置语法
          • 启动方式
          • 参考
          相关产品与服务
          Elasticsearch Service
          腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档