安装elasticsearch、cerebro、kibana、logstash
使用docker-compose,编排安装2台elasticsearch容器组成集群,一台kibana,一台cerebro
sudo sysctl -w vm.max_map_count=262144
docker-compose up # 创建并启动容器
docker-compose down #停止容器
docker-compose down -v #停止容器并且移除数据
#docker-compose.yaml
version: '3.7'
services:
cerebro:
#服务的名称,可自定义; 不是容器名称
image: lmenezes/cerebro:0.9.4 # 指定容器的镜像文件
container_name: cerebro # 这是容器的名称
ports:
# 配置容器与宿主机的端口
- "9801:9000"
command:
- -Dhosts.0.host=http://172.27.3.179:9800
networks:
- es7net
kibana:
image: kibana:7.16.2
container_name: kibana7
environment:
- I18N_LOCALE=zh-CN
- XPACK_GRAPH_ENABLED=true
- TIMELION_ENABLED=true
- XPACK_MONITORING_COLLECTION_ENABLED="true"
ports:
- "9802:5601"
networks:
- es7net
logstash:
#服务的名称,可自定义; 不是容器名称
image: logstash:7.16.2 # 指定容器的镜像文件
container_name: logstash # 这是容器的名称
ports:
# 配置容器与宿主机的端口
- "9803:5044"
- "9804:9600"
environment:
LS_JAVA_OPTS: "-Xmx512m -Xms512m"
volumes:
- /www/study/elasticsearch/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- /www/study/elasticsearch/logstash/bin/logstash.conf:/usr/share/logstash/bin/logstash.conf
- /www/study/elasticsearch/logstash/bin/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
- /www/study/elasticsearch/logstash/bin/movies.csv:/usr/share/logstash/bin/movies.csv
# command: logstash -f /usr/share/logstash/bin/logstash.conf
networks:
- es7net
elasticsearch:
image: elasticsearch:7.16.2
container_name: es7_01
environment:
- cluster.name=biny
- 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:
- "/www/study/elasticsearch/es7_01data:/usr/share/elasticsearch/data"
ports:
- 9800:9200
networks:
- es7net
elasticsearch2:
image: elasticsearch:7.16.2
container_name: es7_02
environment:
- cluster.name=biny
- 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:
- "/www/study/elasticsearch/es7_02data:/usr/share/elasticsearch/data"
networks:
- es7net
networks:
es7net:
driver: bridge
docker ps -a # 查看容器
elasticsearch
访问:http://127.0.0.1:9800/ # 查看elasticsearchs是否成功启动
elasticsearch插件安装
docker exec -it es7_01 bash
elasticsearch-plugin list # 查看已安装插件
elasticsearch-plugin install analysis-icu # 自动下载安装analysis-icu分词插件
也可以通过http://127.0.0.1:9800/_cat/plugins 查看已安装插件
Cerebro
访问:http://127.0.0.1:9801/ # 查看Cerebro是否成功启动
集群名:biny,2个节点,9个索引,分布在18个分片,33个文档,总共消耗111 M的空间
Kibana
访问:http://127.0.0.1:9802/ # 查看Kibana是否成功启动
使用kibana的Dev Tool工具查看节点
安装kibana插件
docker exec -it kibana bash
bin/kibana-plugin install plugin_location
bin/kibana-plugin list
bin/kibana-plugin remove
logstash
容器启动时已启动logstash
进入data目录中,通过 ls -alh 查找隐藏文件.lock,rm .lock删除此文件
logstash -f /usr/share/logstash/bin/logstash.conf # 指定conf配置文件运行
elasticsearch生态与周边
Elasticsearch的文件目录结构
目录 | 配置文件 | 描述 |
---|---|---|
bin | 脚本文件,包括启动elasticsearch,安装插件,运行统计数据等 | |
config | elasticsearch.yml | 集群配置文件,user,role based 相关配置 |
jdk | java运行环境 | |
data | path.data | 数据文件 |
lib | 类库 | |
logs | path.log | 日志文件 |
modules | 包含所有ES模块 | |
plugins | 包含所有已安装插件 |