Docker安装ES集群

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

你可能感兴趣的:(docker,elasticsearch,docker,大数据)