惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
腾讯CDC
博客园 - 司徒正美
A
About on SuperTechFans
H
Help Net Security
J
Java Code Geeks
C
Check Point Blog
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
博客园 - 【当耐特】
雷峰网
雷峰网

博客园 - onekey

MPU9250九轴陀螺仪--读接口数据 MPU9250九轴陀螺仪--连接MPU9250 Elasticsearch -- 索引管理 centos 7下rabbitmq安装(转) CentOS下Redis的安装(转) CentOS7.5 安装MySQL8 tar Ntrip协议简介(转) 路径规划(3)--搭建Ntrip环境:NtripServer,NtripClient and NtripCaster 路径规划(2)--设置基站和移动站 路径规划(1)--连接GPS接收端 环境搭建--使用pytharm远程调试树莓派 在CentOS 7上安装Nginx elasticsearch -- 安装 elasticsearch -- kibana安装配置 Elasticsearch -- Head插件安装 在Win10 Anaconda中安装Tensorflow TensorFlow官方文档中文版 myeclipse编译、输出 win7 64位下使用oracle ado.net entity framework
elasticsearch -- Logstash实现mysql同步数据到elasticsearch
onekey · 2019-01-11 · via 博客园 - onekey

Posted on 2019-01-11 18:32  onekey  阅读(609)  评论()    收藏  举报

配置

  1. 安装插件
    由于这里是从mysql同步数据到elasticsearch,所以需要安装jdbc的入插件和elasticsearch的出插件:logstash-input-jdbc、logstash-output-elasticsearch
    安装效果图如下所示:

  2. 下载mysql连接库
    由于logstash是ruby开发的,所以这里要下载mysql的连接库jar包,从官网下载,我这里下载的是:mysql-connector-java-5.1.46.jar
    将下载好的mysql-connector-java-5.1.46.jar,放至/usr/local/logstash/config/目录下。
  3. 修改配置文件
    在config目录下,创建配置文件(logstash-mysql-es.conf):
    input {
      jdbc {
        # mysql相关jdbc配置
        jdbc_connection_string => "jdbc:mysql://10.112.76.30:3306/jack_test?useUnicode=true&characterEncoding=utf-8&useSSL=false"
        jdbc_user => "root"
        jdbc_password => "123456"
    
        
    这里有几个注意点:
    (1)jdbc_driver_library
            mysql-connector-java-5.1.46.jar的存放目录,这个一定要配置正确,支持全路径和相对路径。如果配置不对,将会报“can ”错误。
    (2)sql_last_value
            标志目前logstash同步的位置信息(类似offset)。比如id、updatetime。logstash通过这个标志,可以判断目前同步到哪一条数据。
    (3)statementstatement_filepath
            statement:执行同步的sql语句,可以同步部分数据。
            statement_filepath:存储执行同步的sql语句。不和statement同时使用。
    (4)schedule
            定时器,表示每隔多长时间同步一次数据。格式类似crontab。
    (5)tracking_columntracking_column_type
            tracking_column:表示表中哪一列用于判断logstash同步的位置信息。与sql_last_value比较判断是否需要同步这条数据。
            tracking_column_type:racking_column指定列的类型。支持两种类型:numeric(默认)、timestamp。注意:如果列是时间字段(比如updateTime),一定要指定这个类型为timestamp。我就踩了这个大坑。。。一直同步不成功!!!
    (6)last_run_metadata_path
            存储sql_last_value值的文件名称及位置。
    (7)document_id
            生成elasticsearch的文档值,尽量使用同步的数据中已有的唯一标识。比如同步订单数据,可以使用订单号。

启动

在根目录下,执行命令:

nohup bin/logstash -f config/logstash-mysql-es.conf > logs/logstash.out &

效果图如下:

同步

完成了一条数据的同步