Elasticsearchシリーズ-logstashインポートデータ

7916 ワード

Elasticsearchシリーズ-logstashインポートデータ

  • 取付準備
  • 構成
  • 問題
  • インストールの準備

  • logstashの準備:elasticsearchの対応するバージョンのlogstashバージョンファイルをダウンロードします.ここでelasticsearchバージョンは7.12.0を使用しているので、対応するバージョンをダウンロードします.公式サイトのダウンロードアドレス
  • インポートデータの準備:ここでは映画csvファイルデータを準備します.ダウンロードアドレス
  • コンフィギュレーション


    logstashファイルを解凍しconfigディレクトリの下に入ると、logstash-sampleが表示されます.confファイル、コピーしてlogstash-moviesと名付けます.conf.
    プロファイルは自分で勝手に名前を付けることができます.自分で正しく見つけて認識すればいいです.
    ファイルの編集:
    # Sample Logstash configuration for creating a simple
    # Beats -> Logstash -> Elasticsearch pipeline.
    
    #       
    input {
         
      file {
         
      	#         
    	path => "D:/Tool/ml-25m/movies.csv"
    	start_position => "beginning"
      }
    }
    
    #           
    filter {
         
    
      #     csv  
      csv {
         
        #          
        separator => ","
        #   csv           
        columns => ["id","content","genre"]
      }
      
      #  genre        
      mutate {
         
        split => {
          "genre" => "|" }
        remove_field => ["path", "host","@timestamp","message"]
      }
    
      #  content        
      mutate {
         
        split => ["content", "("]
        #      title 
        add_field => {
          "title" => "%{[content][0]}"}
        #      year
        add_field => {
          "year" => "%{[content][1]}"}
      }
    
      mutate {
         
        #  year        
        convert => {
         
          "year" => "integer"
        }
        strip => ["title"]
        #     
        remove_field => ["path", "host","@timestamp","message","content"]
      }
    }
    
    #     
    output {
         
      # es    
      elasticsearch {
         
        hosts => "http://localhost:9200"
        index => "movies"
    	document_id => "%{id}"
        #user => "elastic"
        #password => "changeme"
      }
      stdout {
         }
    }
    
    

    binディレクトリに入り、logstashを起動します:-fパラメータでプロファイルを指定して起動します
    .\logstash.bat -f D:\Tool\logstash-7.12.0-windows-x86_64\logstash-7.12.0\config\logstash-movies.conf
    

    私がここで使っているのはローカルテストで、Windowsシステムを使っているので、使います.bat実行.

    に質問

  • 起動データはelasticsearchに書き込めません:理由:私はWindows環境で起動したので、プロファイル関連ディレクトリはWindowsシステムファイルシステムで、区切り記号に注意します.
    input {
           
      file {
           
      	#        "/"                 "\"         ,            
    	# path => "D:\Tool\ml-25m\movies.csv"           
    	path => "D:/Tool/ml-25m/movies.csv"
    	start_position => "beginning"
      }
    }
    
  • データのインポートに成功した後、関連インデックスを削除し、再びインポートを実行し、データが正常にインポートできない原因:logstashはメカニズムが存在し、データの一意性を識別し、重複インポートデータを避けることができ、具体的な状況は、具体的に研究していない.解決:logstashフォルダのdataディレクトリの下にあるすべてのファイルを削除し、logstash
  • の起動を再実行します.