使用Logstash将数据库导入Elastic Search

唉,生活所迫生活所迫,我又搞这些杂七杂八的啦,不记录一下也白瞎啦。这篇主要讲怎么把数据库里的数据直接导入到elastic search。参考的比较多的是这篇,写的非常好,可是我在实际操作的时候还是遇到了一些问题,所以自己写一个。写作的逻辑呢,就是怎么配置并且使用的全过程。

  首先了解一下,logstash的主要工作原理是在配置文件中定义一个管道,用这个管道就可以完成全过程。因此你需要做的事情其实只有三步:

    1. 把logstash下载下来解压好,把mysql 对应版本的connector下载好
    1. 写配置文件
    1. 运行配置文件

1.运行elastic search 和 kibana

  怎么安装的我就不讲啦,刚入门的娃娃应该也不会看这种文章。我的环境呢是windows,直接到es的Bin目录下启动elasticsearch.bat文件就可以,启动之后在浏览器中输入localhost:9200如果有返回值说明启动成功了。kibana呢是方便查看结果的,用不用都行吧,反正我用了。

2. 配置logstash

  logstash是elastic search官方开发的用于整合数据的一个工具,它可以整合日志以及来自文件的两大类数据。整合日志的那个呢,官方教程里有我这里也就不细说了。我们今天要讲的是整合文件的数据,在这里其实是整合的数据库的数据。

  配置文件就是我下面给出的,这个配置文件直接放在logstash的根目录下就行,命名为`。里面有个坑:注意观察数据库连接字符串,里面多了一个时区参数的定义,在这里我们一定要留心,否则会报错。还有个坑,如果数据库里有date类型的话,就不要在定义索引的时候定义date的格式,直接用默认就行啦,不然又是报错。

input {
  jdbc {
    # 数据库驱动路径
    jdbc_driver_library => "D:/elasticsearch/logstash-6.5.3/mysql-connector-java-8.0.12.jar"
    # 驱动名称
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    # 数据库的连接字符串
    jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test_db?serverTimezone=UTC"
    # 数据库用户名
    jdbc_user => "root"
    # 数据库密码
    jdbc_password => "123456"
    # 重复执行导入任务的时间间隔  分-时-日-月-星期
    schedule => "* * * * *"
    # 导入的表(查询SQL,可以过滤数据)
    statement => "SELECT *from articles"
    #  默认时区
    jdbc_default_timezone => "Asia/Shanghai"
  }
}
output {
  
  elasticsearch {
  # es地址
  hosts => "127.0.0.1:9200"
  # 索引名称
  index => "articles"
  # 索引类型
  document_type => "_doc"
  # 类似主键,es中id对应数据库的字段
  document_id => "%{aid}"
  }
  stdout {
  codec => plain { charset => "UTF-8"}
  }
}

3.下载mysql connector

  connector是程序用来连接数据库的驱动,可以去mysql的官网下载,但是现在居然还要注册啦,而且注册登陆都挺费劲的。不过好在可以直接去远程maven库中下载,什么版本的都有。

4.运行logstash

运行bin目录下的logstash脚本(我是用mingwin运行的),命令为logstash -f ../jdbc.cnf就跑起来啦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容