欢迎光临
我们一直在努力

linux安装logstash同步mysql数据到es

前面介绍过如何安装es搜索引擎,但如何保证数据库跟es索引库的数据同步问题呢,现有成熟的方法很多,以下方法根据自己需求选其一就可,本文主要介绍通过logstash如何同步

  1. 业务代码中通过代码实现同步
  2. 通过canal同步
  3. 通过logstash同步

1.linux安装logstash

可前往官网地址下载压缩包:点此跳转

2.解压压缩包

cd usr/local
tar zxvf logstash-x.x.x.tar.gz
sql

3.上传mysql驱动包

上传此jar包:mysql-connector-java-5.1.47.jar

4.创建sql文件,item.sql

select id,title,avatar,content from b_article where update_time >= :sql_last_value and is_publish=1
sql

5.创建同步的配置文件,mysqltoes.conf

input {
  
  # 多张表的同步只需要设置多个jdbc的模块就行了
  jdbc {
      # mysql 数据库链接,shop为数据库名
      jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/blog_new?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "root"

      # 驱动
      jdbc_driver_library => "/usr/local/logstash-7.9.3/mysql/mysql-connector-java-5.1.47.jar"

      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"

      #是否分页
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"


      # 执行的sql 文件路径+名称
      statement_filepath => "/usr/local/logstash-7.9.3/mysql/item.sql"
      
      # 默认列名转换为小写
      lowercase_column_names => "false"
	# 是否开启记录上次追踪结果
	use_column_value => true
	# 记录上一次追踪的结果值
	last_run_metadata_path => "/usr/local/logstash-7.9.3/sync/track_time"
	 tracking_column => "update_time"
      #设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"

      # 索引类型
      type => "_doc"
    }

}


output {
  elasticsearch {
        #es的ip和端口
        hosts => ["http://127.0.0.1:9200"]
        #ES索引名称(自己定义的)
        index => "blog"
        #文档类型
        document_type => "_doc"
        #设置数据的id为数据库中的字段
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }

}

sql

6.启动logstash

nohup ./bin/logstash -f config/mysqltoes.conf &
sql

至此logstash安装结束,会每秒进行检测并同步,如启动不成功或没有同步可将启动方式修改为./bin/logstash -f config/mysqltoes.conf,会打印出日志

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《linux安装logstash同步mysql数据到es》
文章链接:https://www.xpn.cc/4990/fy.html
分享到: 更多 (0)

热门推荐

评论 抢沙发

登录

忘记密码 ?