ドッカーコンテナはES LogstashにES、Kibana、脳およびインストールやデータを実行します
私はルアン鳴が「Elasticsearchのコア技術と本物の」収穫の偉大な教師を見て、ESの知識を強化したいと思いますので、次は、より詳細な研究ES彼に従います。
このブログの目的は、ということです部署好ES和跟ES相关的辅助工具,同时通过Logstash将测试数据导入ES
作業が完了した後、我々はそれを学ぶために、綿密に基づきなります。
ES、Kibana、脳を実行している、ドッカー容器
1、必要な環境
Docker + docker-compose
まず、良い環境を展開することDocker
とdocker-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)