Elasticsearchのコア技術(1)---ドッカーコンテナはES、Kibana、脳を実行します

ドッカーコンテナはES LogstashにES、Kibana、脳およびインストールやデータを実行します

私はルアン鳴が「Elasticsearchのコア技術と本物の」収穫の偉大な教師を見て、ESの知識を強化したいと思いますので、次は、より詳細な研究ES彼に従います。

このブログの目的は、ということです部署好ES和跟ES相关的辅助工具,同时通过Logstash将测试数据导入ES作業が完了した後、我々はそれを学ぶために、綿密に基づきなります。

ES、Kibana、脳を実行している、ドッカー容器

1、必要な環境

Docker + docker-compose

まず、良い環境を展開することDockerdocker-compose

成功を確認してください

コマンド docker —version

xubdeMacBook-Pro:~ xub$ docker --version
Docker version 17.03.1-ce-rc1, build 3476dbf

コマンド docker-compose —version

xubdeMacBook-Pro:~ xub$ docker-compose --version
docker-compose version 1.11.2, build dfed245

2、ドッカ - compose.yml

私たちは、単にスクリプトは、複数のコンテナアプリケーションを実行するための情報を定義し、シェルのようなスクリプトとして理解ドッカ-compose.ymlを置くことができます。

version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - es7net
  kibana:
    image: docker.elastic.co/kibana/kibana:7.1.0
    container_name: kibana7
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
    networks:
      - es7net
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_01
    environment:
      - cluster.name=xiaoxiao
      - node.name=es7_01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es7net
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_02
    environment:
      - cluster.name=xiaoxiao
      - node.name=es7_02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data2:/usr/share/elasticsearch/data
    networks:
      - es7net

volumes:
  es7data1:
    driver: local
  es7data2:
    driver: local

networks:
  es7net:
    driver: bridge

コマンドを起動します

docker-compose up      #启动
docker-compose down    #停止容器
docker-compose down -v #停止容器并且移除数据

成功かどうかを確認するために3、

ESアクセスアドレス

localhost:9200  #ES默认端口为9200

kibanaアクセスアドレス

localhost:5601 #kibana默认端口5601

脳のアクセスアドレス

localhost:9000 #cerebro默认端口9000

このインストールは成功し、全体のでした。

说明 このプロジェクトは、Macでのシステムの展開を成功さで、自分のクラウドサービスを展開しようとするが、メモリが小さすぎるためアリはまだ成功することはできません。


ESに二つ、Logstash実装データ

注意 Logstashとkibanaはあなたelasticsearch合意にバージョンとバージョン番号をダウンロードしました。

1、配置movices.yml

この名前は完全に任意です

# input代表读取数据 这里读取数据的位置在data文件夹下,文件名称为movies.csv
input {
  file {
    path => "/Users/xub/opt/logstash-7.1.0/data/movies.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
filter {
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {

    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }

  mutate {
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }

}
# 输入位置 这里输入数据到本地es ,并且索引名称为movies
output {
   elasticsearch {
     hosts => "http://localhost:9200"
     index => "movies"
     document_id => "%{id}"
   }
  stdout {}
}

コマンドを起動します。binディレクトリに移動し、コマンドおよび配置プロファイルは約movices.yml開始

./logstash ../movices.yml 

movices.yml保管場所

成功したスタート

そこにはすでに名前が付けられていますが、あなたが見ることができる脳の視覚的インターフェースを行くこの時間は、movies的索引私がLogstash ES成功したデータのインポートのみ切り捨てマップだったので、上記の画像は実際に映画のインデックスが回避されているされて、存在します。

总结全体的にここにLogstashによって比較的より複雑なESになりますMySQLデータにデータを移行する前に、簡単ですが、結局、それはデータベース駆動型のパッケージが必要です。

このような環境が正常に設定されている、このプレゼンテーションの次の研究は基づいています。


感謝

Elasticsearchのコア技術と戦闘---ルアン鳴(イーベイプロントプラットフォームテクニカルディレクター)

コース関連の情報住所:Githubの住所



 我相信,无论今后的道路多么坎坷,只要抓住今天,迟早会在奋斗中尝到人生的甘甜。抓住人生中的一分一秒,胜过虚度中的一月一年!(8)


おすすめ

転載: www.cnblogs.com/qdhxhz/p/11432112.html