dElasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。
Elasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的增长,Elasticsearch 的分布式特性使您的部署能够随之无缝增长。
这里使用docker-compose安装
1.创建目录es01、es02、es03
elasticsearch.yml
cluster.name: es_cluster # 集群名称,集群名称相同的节点自动组成一个集群
node.name: es01 # 节点名称
network.host: 0.0.0.0 # 同时设置bind_host和publish_host
http.port: 9200 # rest客户端连接端口
transport.tcp.port: 9300 # 集群中节点互相通信端口
node.master: true # 设置master角色
node.data: true # 设置data角色
node.ingest: true # 设置ingest角色 在索引之前,对文档进行预处理,支持pipeline管道,相当于过滤器
bootstrap.memory_lock: false
node.max_local_storage_nodes: 1
http.cors.enabled: true # 跨域配置
http.cors.allow-origin: /.*/ # 跨域配置
创建es01/data/ es01/conf,并将elasticsearch.yml复制到es01/conf/,其他依次操作
注意修改node.name。 并将es01,es02,es03中的所有文件赋予777权限
修改文件/etc/sysctl.conf,追加:
vm.max_map_count = 655360
执行命令
sysctl -p
2.创建并启动es
.env 文件
image=elasticsearch:7.6.2
docker-compose.yml文件
version: '3'
services:
es01:
image: ${image}
container_name: es01
environment:
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./es01/data:/usr/share/elasticsearch/data
- ./es01/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./es01/plugins:/usr/share/elasticsearch/plugins
ports:
- 8041:9200
networks:
- elastic
es02:
image: ${image}
container_name: es02
environment:
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./es02/data:/usr/share/elasticsearch/data
- ./es02/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./es02/plugins:/usr/share/elasticsearch/plugins
ports:
- 8042:9200
networks:
- elastic
es03:
image: ${image}
container_name: es03
environment:
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./es03/data:/usr/share/elasticsearch/data
- ./es03/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./es03/plugins:/usr/share/elasticsearch/plugins
ports:
- 8043:9200
networks:
- elastic
networks:
elastic:
driver: bridge
docker-compse up -d
3.连接验证
curl http://ip:port/?pretty