Elasticsearchのクイック--SpringブートElastcisearchの使用、Logstash mysqlの同期データを使用してElasticsearch

それは春ブーツアイテムでない場合は、Elasticsearchのバージョンに応じて依存性の対応するバージョンを選択します。

例:Elasticsearchバージョンはその後、5.4.0です

    <依存性> 
            <のgroupId> org.elasticsearch.client </のgroupId> 
            <たartifactId>移送</たartifactId> 
            <バージョン> 5.4.0 </バージョン> 
        </依存>

春ブーツは、以下の統合Elasticsearchを導入し始めた、そしてどのようにデータとMySQLのElasticsearchを同期させること。

私のバージョン(私自身の使用して、問題がないことを確認してください):

  1.コンピュータ:windows10・オペレーティング・システム

  2.Elasticsearchバージョン:7.0.0

  3.ik語バージョン:7.0.0(一貫したとElasticsearchのバージョンである必要があります)

  4.postman:なしバージョン(indexsは、このデータを表示する)は、当然のことながら、同様のツールのカールは、kibana、その後、2つのバージョンが、私は通常、ダウンロードに費やす、一貫してElasticsearch、比較トラブル(外国のWebサイトである必要があります1日前)ので、私たちはコードは効果がありません書くことのために、ダウンロードしないように選択することができる2つをダウンロードしたくない、終了します

  5.elasticsearchヘッドマスター:無料版は(これをコンパイルするためのソースコードをダウンロードした後、起動モード:

    そして、:(9200、JSONテキスト情報は、成功のelasticsearch説明に表示されるブラウザは、localhostと入力します)私たちは、Elasticsearchを開始する必要があります。

    ウェイは、フォルダに切り替えた後、NPMの実行開始を1.cmd、その後、URLでlocalhostをブラウザに入力します。9100

    )の方法を選択するか、または単にのindex.htmlファイルフォルダをダブルクリックします。2.

  2.2.4RELEASE:ブートバージョンを6.Spring

  Elasticsearch上のいくつかの基本的なインストールと使用が公式の開始後、百度ではありません場合

 

はじめに:私は理解して統合方法がいくつかあります

  1. elasticsearch公式logstashは、私はこれをある導入、MySQLとElasticsearchデータの同期も。制限事項:必要とElasticsearchバージョンLogstash、Elasticsearch公式サイトの同じバージョンがLogstashをダウンロードすることができます(ダウンロード速度が非常に遅いですが、私は朝の時間を費やし、より100Mより、7.0.0をダウンロード)

  2. Bbossこのオープンソースプロジェクトは、その公式声明はElasticsearchのすべてのバージョンと互換性がありますので、問題のバージョンはありません、あなたがクリックすることができる学習を開始するために非常に詳細に記述し、訪問を

   3. elasticsearch-川-JDBCは、お勧めできません。そして、そこに2つの他の類似の種がありますが、ので、お勧めしません:サポートElasticsearchが低すぎます。これは、私が導入されていない覚えているので、行くと見ることができます興味を持っている、最大約6.0、Elasticsearch2.0バージョンに関する他の二つのみのサポートの一つにあると思われます。

 

春ブーツは、Elastcisearchを使用してLogstash mysqlの同期データを使用してElasticsearch:

1.Springブート使用Elasticsearch:

    <依存> 
            <groupIdを> org.springframework.boot </ groupIdを> 
            <たartifactId>スターター・春ブーツ-DATA-elasticsearch </たartifactId> 
        </依存関係>    
<! -バージョンが同期され、親の春ブーツデフォルト2.2.4RELEASE、春・データ・lasticsearchバージョンは3.2.4.RELEASEで、
elasticsearch-REST-高レベルクライアントと再搬送バージョン6.8.6です- >

 具体的な統合は、参照を説明するかもしれない、この記事で

2.ダウンロードLogstashは、私はエラーが署名されます、私はまた、インストールパスに遭遇した最後の時間を英語のルートを置くすべての最高のものを開発し、パッケージ解凍し、(中国のパスを置くことができない、圧縮されたzip圧縮ダウンロードを選択しましたA)。

1.インストールが成功したかどうかを確認します。コマンドは忘れて、これは重要ではありません、我々は次のステップを指示します。

2. Logstashはラインに沿って変更するにはcmdのコマンドの後ろに独自のjdbc.confファイル、ランダムにファイル名を、作成するのbinディレクトリ:注:これらの行は、私が実行しているので、私は、ヒット#構成された数行は問題ありき注釈付き後のトラブルシューティング:

{入力
  STDIN} { 
  JDBC { 
  #mysql接続手段JDBC JARパッケージ
    jdbc_driver_library => "D:\ softwareRepository \ logstash-7.0.0 \ CONFIG \ -Test設定\のMySQLコネクタ- Javaベース5.1.46.jar" 
    #jdbc駆動クラスの完全なクラス名
    jdbc_driver_class => "はcom.mysql.jdbc.Driver" 
    #jdbc接続URL 
    jdbc_connection_stringは =>「JDBC:MySQLの:// localhostを:3306 /真&useLegacyDatetimeCode =偽&serverTimezone = UTCに真&characterEncoding = UTF-8&useJDBCCompliantTimezoneShift =にテストuseUnicode =? " 
    #データベースのユーザー名
    jdbc_user =>"ルート" 
    #データベースのパスワード
    jdbc_password =>"根"
    #データの同期時間と(している * 毎分後に同期)
    スケジュール=> "* * * * *" 
    #Jdbcページングが開いてクエリ
    #jdbc_paging_enabled "trueに" => 
    ページあたりのデータ数#クエリ
    #jdbc_page_size => "50000" 
    の#sqlファイルパスが(同期データに必要です)
    statement_filepath => "D:\ softwareRepository \ logstash-7.0.0 \ CONFIG \テスト-config設定\ zyl.sql" 
    最後に更新された位置マークファイルのパス
    last_run_metadata_path =>「D:\ softwareRepository \ logstash-7.0.0 \ CONFIG \テスト-config設定\ jobLastInfo.txt「
    あなたは、プロファイルデータに起動するたびにクリアするかどうかを#
    clean_run偽=>」を「
    #ケース下げるために、すべてのフィールド名を回し
    lowercase_column_namesを trueに=>」 " 
    #中国を解決する文字化け
    CODEC {= =>平野文字セットを> "8 UTF " } 
    レコードが最後に実行された#であったかどうかを記録
    record_last_run => "trueに" 
    #は、データ同期のための他のフィールドかどうかを判断する
    use_column_value "trueに" => 
    増分インデックス#データベースフィールド名
    tracking_column_type => "タイムスタンプ" 
    tracking_column => "UPDATE_TIME" 
  } 
} 

フィルタ{ 
    JSON { 
        ソース = > "メッセージ" 
        remove_field => [ "メッセージ" ] 
    } 
} 

の出力{ 
    elasticsearch { 
        インデックス => "zyltest" 
        DOCUMENT_TYPE => "%} {タイプ" 
        #esサーバ
        ホスト => "localhostを:9200" 
        DOCUMENT_ID => "%{ID}" 
    } 
    STDOUT { 
        コーデック => json_lines 
    } 
}

私は3つの記事の上記の構成を参照するには、それが何を意味するのか理解するために来たなさ:......彼らは、全体、特に.sqlファイルを作成していなかった問題であり、私は今、以下について説明します。

ファイルがコピーされた後、我々は、フォルダテスト-config設定を作成し、configディレクトリに行ってきました(自分のものを作成するために、ファイル名を設定ファイルは、それが望んで変わると、カジュアルされている)、jobLastInfo.txt、zyl.sqlの内部に配置され、そしてmysqlの - コネクタ - Javaのjarファイルのパッケージ。私は、困難になろうとして作成どのような効果がわからない、そして最も重要なは、例えば、クエリで.sqlファイル、ある.txtファイル、

TEST1から*を選択します。

私は2つの記事は、私が唯一のクエリをテストし...... SQLファイルは、文を書かれたものを言及速い夜11時、明日この記事は、おそらく変更されません、とあなたは、クエリが実行された自分自身のため見ることができませんでした参照します二つのテーブル。そしてジャーパッケージには、私は(問題のようです)logstashは、JARパッケージのエラーを報告し始め、それのセット位置の瓶を決定するために私に尋ねましたか?しかし、実際にはまだ実行されている問題は、ありません。

私は自分のデータベースを出す:テーブルを作成し、その上に最初の実行文を挿入、追加、削除のステップに3表示された画像に示すように、その後行われ(その後、毎分00秒で結果を見て、そのすべての変更があります内容Logstashはチェックアウトが、インデックスの更新に2つだけの追加や変更、何の効果も削除していない、とさえUPDATE_TIME変更せずにデータを変更しているが、インデックスが更新されます

テーブルtest1のをドロップします。
テーブルTEST1(作成
  のid int型主キーAUTO_INCREMENT、
  名前はvarchar( 10) デフォルトの "我是笨蛋5号我...!" 
  UPDATE_TIME日時NOT NULLのDEFAULT "2017年3月3日3:3:3" 
); 
)()(TEST1に値を挿入します。
更新TEST1セット名 = ID(1,2で"BB" )。
TEST1セット名更新、UPDATE_TIMEは今= = "CC"を()ここで、ID(3,4 )。
更新TEST1セット名 = ID(5,6における"DDD" )。
ここで、ID(にTEST1から削除 7,8)。

ノートへのポイント:tracking_column_type =>「タイムスタンプ」この値は、タイムスタンプでなければならない、または戻ってきて、あなたを思い出させるためにエラーになりますが、データベースは、時間の特定のタイプのtiemstampである必要はありません、私は、日時、日付、時刻、タイムスタンプを試してみました4私が試してみました時の型、結果は同じ成功を収めています(ためのいずれかのタイプ、フォーマットデータベースの差が同じディスプレイではなく、表示タイプは、一度にLogstash差データであるが、図の形式です。)。

3. [スタート] elasticsearch、あなたは状況を観察する郵便配達elasticsearchヘッドマスターを起動するかを選択することができます。開始logstash:実行binディレクトリにCMDスイッチ:logstash -f jdbc.conf。ラン効果の後に図:

4.あなたと私はまったく同じ構成を有している場合、それはlocalhostになります:9100のこぎりでhttp郵便配達GETによって生成zyltestインデックス:// localhostを:9200 / zyltest / _search生成されたインデックス(量を表示することができますが、)ので、それは、それが何を意味するのか忘れてしまいました。

5.注:logstashは、削除、同時にかつ変化に増加し、したがって、独自のコードが同期している必要がありますすることができます deleteXX法により(メソッド、見上げていないものを忘れて)。言い換えれば:オープンElasticsearchとLogstashサービスでは、それが増加し、同期は自動的に毎分を変更し、コードを手動で削除するには、データを同期させます。

これで終わりです

 

額には、無線LANを切り替え、次の半分を書き込み、それはオートリフレッシュインターフェースは、疲れてしまっている、草案の内容を保存しませんでした......

 

おすすめ

転載: www.cnblogs.com/woyujiezhen/p/12374402.html