要使用Logstash将PostgreSQL(PG)中的数据同步到Elasticsearch(ES),您可以遵循以下步骤:
-
安装和配置Logstash:
- 下载并安装Logstash。您可以从Elasticsearch官方网站获取适用于您的操作系统的安装包。
- 创建一个新的Logstash配置文件,例如"pg_to_es.conf"。
- 打开配置文件并配置以下内容:
将input { jdbc { jdbc_connection_string => "jdbc:postgresql://<PG_HOST>:<PG_PORT>/<PG_DATABASE>" jdbc_user => "<PG_USERNAME>" jdbc_password => "<PG_PASSWORD>" jdbc_driver_library => "<PATH_TO_PG_JDBC_DRIVER_JAR>" jdbc_driver_class => "org.postgresql.Driver" statement => "SELECT * FROM <PG_TABLE>" schedule => "* * * * *" } } output { elasticsearch { hosts => ["<ES_HOST>:<ES_PORT>"] index => "<ES_INDEX>" document_id => "%{id}" } }
<PG_HOST>
替换为您的PostgreSQL主机名或IP地址,<PG_PORT>
替换为PostgreSQL端口号,<PG_DATABASE>
替换为要同步数据的数据库名称,<PG_USERNAME>
和<PG_PASSWORD>
替换为您的PG凭据。
将<PATH_TO_PG_JDBC_DRIVER_JAR>
替换为PostgreSQL JDBC驱动程序JAR文件的路径。
将<PG_TABLE>
替换为要同步数据的表。
将<ES_HOST>
和<ES_PORT>
替换为Elasticsearch主机和端口号。
将<ES_INDEX>
替换为要将数据写入的Elasticsearch索引名称。
schedule
选项设置了同步频率,上述示例中设置为每分钟同步一次。您可以根据需要进行调整。
-
启动Logstash:
- 打开终端或命令提示符窗口。
- 导航到Logstash安装目录。
- 运行以下命令来启动Logstash并开始数据同步:
bin/logstash -f pg_to_es.conf
Logstash将从PostgreSQL中选择指定表中的数据,并将其写入Elasticsearch中的指定索引。您可以根据需要调整配置文件中的选项来满足您的要求。
请注意,为了使此过程正常工作,您需要确保具有适当的访问权限和网络连接,并且已安装正确版本的PostgreSQL JDBC驱动程序和Logstash。