版权声明:本博客所有文章均为原创,如有转载,请注明原文地址,谢谢!----桃花惜春风 https://blog.csdn.net/xiaoyu_BD/article/details/81805480
logstash从mysql导数据到Elasticsearch一般使用logstash-input-jdbc插件,这款插件logstash较新版本中自带的,老版本的话可以手动安装。关于logstash安装。
插件的配置:
input{
jdbc{
#表明类型。主要用于过滤
type => "my_info" }
#jdbc驱动,需要自己下载
jdbc_driver_library => "/home/ubuntu/mysql-connector-java-5.1.46-bin.jar"
#jdbc class
jdbc_driver_class => "com.mysql.jdbc.Driver"
#配置数据库连接 ip 和端口,以及数据库
jdbc_connection_string => "jdbc:mysql://192.168.7.245:3306/test"
#配置数据库用户名
jdbc_user =>
#配置数据库密码
jdbc_password =>
#数据库尝试连接次数,默认1
connection_retry_attempts
#数据库尝试连接间隔,默认0.5(单位秒)
connection_retry_attempts_wait_time
#连接超时时间,默认3600(单位秒)
jdbc_validation_timeout
#jdbc获取大小,默认值是驱动程序的默认值
jdbc_fetch_size
#是否分页
jdbc_paging_enabled编辑
#分页大小,默认100000
jdbc_page_size
# 定时器。如果不配置则sql只会执行一次。
schedule => “* * * * *”
#如果为true,每次会记录所更新的字段的值,并保存到 last_run_metadata_path 指定的文件中
record_last_run => true
#是否清除 last_run_metadata_path 的记录,如果需要增量更新,这里要设置false
clean_run => false
#是否需要记录某个字段值,如果为true,我们可以自定义要记录的字段值,例如日期字段。如果为false,记录的是上次执行的timestamp.
use_column_value => true
#如果use_column_value为真,需配置此参数. 指定增量更新的字段名。当然该字段必须是递增的,比如id或date字段。
tracking_column => "id"
#记录上次执行字段值路径。我们可以在sql语句中这么写:WHERE ID > :last_sql_value。其中 :sql_last_value 取得就是该文件中的值
last_run_metadata_path =>
#是否将字段名称转小写。默认是true。这里注意Elasticsearch是区分大小写的。
lowercase_column_names => false
#直接写sql语句
#statement =>
#也可以指定sql语句文件。文本文件即可。
statement_filepath =>
}
}
注意:一个jdbc{}插件就只能处理一个SQL语句,如果你有多个SQL需要处理的话,只能在重新建立一个jdbc{}插件。
——————————————————————————————————
作者:桃花惜春风
转载请标明出处,原文地址:
https://blog.csdn.net/xiaoyu_BD/article/details/81805480
如果感觉本文对您有帮助,请留下您的赞,您的支持是我坚持写作最大的动力,谢谢!