背景
需要使用elasticSearch进行商品搜索及广告统计,对Elastic Stack进行调研.
这用nodejs客户端进行演示记录
安装
由于Elastic stack的所有Component都要互通,
要先设定一个network让所有的Container吃同一个网路如下:
docker network create elastic_stack
es安装
docker安装
1 2 3 4 5 6 7 8 9 10
| docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e ES_JAVA_OPS="-Xms256m -Xmx256m" \ -e "discovery.type=single-node" \ --network elastic_stack \ -d docker.elastic.co/elasticsearch/elasticsearch:7.12.0
// 把配置文件拿出来 docker cp elasticsearch:/usr/share/elasticsearch/config /data/dockers/es/config docker cp elasticsearch:/usr/share/elasticsearch/data /data/dockers/es/data docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/dockers/es/plugins
|
chmod -R 777 /data/dockers/es
1 2 3 4 5 6 7 8
| docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e ES_JAVA_OPS="-Xms256m -Xmx256m" \ -e "discovery.type=single-node" \ --network elastic_stack \ -v /data/dockers/es/config:/usr/share/elasticsearch/config \ -v /data/dockers/es/data:/usr/share/elasticsearch/data \ -v /data/dockers/es/plugins:/usr/share/elasticsearch/plugins \ -d docker.elastic.co/elasticsearch/elasticsearch:7.12.0
|
验证是否正常:http://localhost:9200/
Kibana安装
1 2 3
| docker run --name kibana \ --network elastic_stack \ -p 5601:5601 -d docker.elastic.co/kibana/kibana:7.12.0
|
验证是否正常:http://localhost:5601/
logstash安装
1. 首先创建一个容器 用来获取它的配置文件
1 2
| docker run --name logstash \ -d docker.elastic.co/logstash/logstash:7.12.0
|
查看日志信息 是否启动成功
2. 创建挂载文件
拷贝数据
1 2 3 4 5
| docker cp logstash:/usr/share/logstash/config /data/dockers/logstash/config
docker cp logstash:/usr/share/logstash/data /data/dockers/logstash/data
docker cp logstash:/usr/share/logstash/pipeline /data/dockers/logstash/pipeline
|
创建logstash配置文件路径
1
| mkdir -p /data/dockers/logstash/config/conf.d
|
修改配置
logstash.yml
1 2 3
| http.host: "0.0.0.0" xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ] path.config: /usr/share/logstash/config/conf.d/*.conf //配置mysql同步es配置使用
|
1
| chmod -R 777 /data/dockers/logstash/
|
重新创建新的容器
1 2 3 4 5 6 7 8 9 10 11
| docker run \ --name logstash \ --restart=always \ --network elastic_stack \ -p 5044:5044 \ -p 9600:9600 \ -e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" \ -v /data/dockers/logstash/config:/usr/share/logstash/config \ -v /data/dockers/logstash/data:/usr/share/logstash/data \ -v /data/dockers/logstash/pipeline:/usr/share/logstash/pipeline \ -d logstash:7.12.0
|
详细配置见ElasticStack-logstash篇
专题目录
ElasticStack-安装篇
ElasticStack-elasticsearch篇
ElasticStack-logstash篇
elasticSearch-mapping相关
elasticSearch-分词器介绍
elasticSearch-分词器实践笔记
elasticSearch-同义词分词器自定义实践
docker-elk集群实践
filebeat与logstash实践
filebeat之pipeline实践
Elasticsearch 7.x 白金级 破解实践
elk的告警调研与实践