logstash を使用したデータ同期: postgresql から elasticsearch へのデータ同期

Logstash を使用して PostgreSQL (PG) から Elasticsearch (ES) にデータを同期するには、次の手順に従います。

  1. Logstash をインストールして構成します。

    • Logstash をダウンロードしてインストールします。オペレーティング システムのインストール パッケージは、Elasticsearch の公式 Web サイトから入手できます。
    • 新しい 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 認証情報に置き換えます。は、PostgreSQL JDBC ドライバー JAR ファイルへのパスに置き換えられます
      は、データが同期されるテーブルに置き換えられますと をElasticsearch のホストとポート番号に置き換えます。データを書き込む Elasticsearch インデックス名に置き換えられます。オプションは同期頻度を設定します。上記の例では、毎分同期するように設定されています。必要に応じて調整できます。<PATH_TO_PG_JDBC_DRIVER_JAR>
      <PG_TABLE>
      <ES_HOST><ES_PORT>
      <ES_INDEX>
      schedule
  2. Logstash を起動します。

    • ターミナルまたはコマンド プロンプト ウィンドウを開きます。
    • Logstash インストール ディレクトリに移動します。
    • 次のコマンドを実行して Logstash を起動し、データ同期を開始します。
      bin/logstash -f pg_to_es.conf
      

Logstash は、PostgreSQL の指定されたテーブルからデータを選択し、Elasticsearch の指定されたインデックスに書き込みます。要件に合わせて、必要に応じて構成ファイル内のオプションを調整できます。

このプロセスが機能するためには、適切なアクセスとネットワーク接続を確保し、正しいバージョンの PostgreSQL JDBC ドライバーと Logstash がインストールされていることを確認する必要があることに注意してください。

おすすめ

転載: blog.csdn.net/a772304419/article/details/132348626