当前位置: 首页 > 面试题库 >

如何保持Logstash运行,以便将数据从RDBMS同步到ES?

夏飞鹏
2023-03-14
问题内容

我是ELK堆栈的新手,所以请原谅我的无知。我已经能够让Logstash将数据从我的数据库发送到Elasticsearch,但是一旦完成传输,它就会退出。我如何保持其运行,从而使其保持同步?谢谢


问题答案:

您需要在输入中指定时间表jdbc

schedule下面的(* * * * *)将运行从数据库的每一分钟,并选择记录,并只选择那些上一次查询运行后,被更新的记录。您的updated时间戳字段名称可能有所不同,可以根据情况进行调整。

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
    jdbc_user => "mysql"
    parameters => { "some_field" => "value" }
    schedule => "* * * * *"
    statement => "SELECT * from songs WHERE some_field = :some_field AND updated > :sql_last_value"
  }
}


 类似资料:
  • 我有一个熊猫DataFrame,它已经按日期排序,但我需要序列化这个DataFrame到一个保持行顺序的命令python结构,以便我以后可以返回一个JSON。 我使用一个dict,其中我有一些键和值,我需要数据帧作为一个值。我用pd。但这并不能保持行的顺序。 我尝试使用OrderedDict,但无法用json序列化。转储()。我正在使用python 2.7。 这是datraframe数据,我试图将

  • 问题内容: 我有一个mysql数据库表,该表需要与ElasticSearch索引保持一致。我已经将表从表导出到es索引,但是现在我需要保持数据同步,否则搜索将很快变得过时。 我能想到的唯一方法是每隔X分钟导出一次表,然后将其与上次导入的表进行比较。这是不可行的,因为该表大约有1000万行,而且我不想整天每五分钟进行一次表导出。有什么好的解决方案?请注意,我仅具有对数据库的读取权限。 问题答案: 我

  • 问题内容: 如何使用Logstash将数据从Elasticsearch导出到CSV?我只需要包括特定的列。 问题答案: 安装2个插件:elasticsearch输入插件和csv输出插件。然后创建一个配置文件。这是这种情况的一个很好的例子。 您现在就可以开始了,只需运行: 并检查中指定的文件。

  • 我是JavaScript和React的新手,我正试图远离教程,所以为了自己的学习利益,我开始制作一个简单的应用程序,但遇到了功能异步运行的障碍。 在中,有一个,其回调中包含以下内容: 如何使上述两个函数同步运行使用在中设置的,但下面的显示在完成之前启动。 我已经阅读了一些参考资料,其中提到使用promise,但我不知道如何应用它。。。我还想知道是否可以通过/实现。 完整(ish)代码:(为了简单起

  • 是否可以调用一个异步方法,以便它从一个同步的方法异步运行?我不关心它挂起同步调用程序直到它返回,而是希望该方法被异步调用。