首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker-compose快速部署elasticsearch-8.x集群+kibana

docker-compose快速部署elasticsearch-8.x集群+kibana

作者头像
程序员欣宸
发布于 2022-06-13 00:22:50
发布于 2022-06-13 00:22:50
5.8K21
代码可运行
举报
文章被收录于专栏:实战docker实战docker
运行总次数:1
代码可运行

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

本篇概览

  • 前文《Docker下elasticsearch8部署、扩容、基本操作实战(含kibana)》介绍了用docker快速部署es和kibana的过程,然而整个过程人工操作步骤还是多了点,能不能更简单些呢?毕竟很多时候大家关注的是使用,不愿在部署上费太多时间
  • 借助docker-compose,可以将es集群+kibana的安装过程可以进一步简化,精简后的步骤如下图,已经省的不能再省了…
  • 本文会按照上述流程进行实战,一共实战两次:第一次部署带证书账号密码的安全版本,第二次部署没有任何安全检查的版本,装好直接访问使用
  • 请注意docker部署ElasticSearch的适用场景:我这边只在开发过程中使用,此种方式在生产环境是否适合是有待商榷的,用于生产环境时请您慎重考虑
  • 本篇由以下内容构成
  1. 介绍我这边实战的环境供您参考
  2. Linxu用户需要额外注意的地方
  3. 编写配置文件
  4. 启动
  5. 验证

环境信息

  • 以下是本次实战的环境信息,可以作为参考
  1. 操作系统:macOS Monterey(M1 Pro芯片的MacBook Pro,16G内存)
  2. Docker:Docker Desktop 4.7.1 (77678)
  3. ElasticSearch:8.2.2
  4. Kibana:8.2.2

Linux用户请注意

  • 如果您的环境是Linux,注意要做以下操作,否则es可能会启动失败
  1. 用编辑工具打开文件/etc/sysctl.conf
  2. 在尾部添加一行配置vm.max_map_count = 262144,如果已存在就修改,数值不能低于262144
  3. 修改保存,然后执行命令sudo sysctl -p使其立即生效

编写配置文件

  • 再次确认接下来工作的目标:用docker-compose快速部署es集群+kibana,这个集群是带安全检查的(自签证书+账号密码)
  • 找个干净目录,新建名为.env的文件,内容如下,这是给docker-compose用到的配置文件每个配置项都有详细注释说明
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# elastic账号的密码 (至少六个字符)
ELASTIC_PASSWORD=123456

# kibana_system账号的密码 (至少六个字符),该账号仅用于一些kibana的内部设置,不能用来查询es
KIBANA_PASSWORD=abcdef

# es和kibana的版本
STACK_VERSION=8.2.2

# 集群名字
CLUSTER_NAME=docker-cluster

# x-pack安全设置,这里选择basic,基础设置,如果选择了trail,则会在30天后到期
LICENSE=basic
#LICENSE=trial

# es映射到宿主机的的端口
ES_PORT=9200

# kibana映射到宿主机的的端口
KIBANA_PORT=5601

# es容器的内存大小,请根据自己硬件情况调整
MEM_LIMIT=1073741824

# 命名空间,会体现在容器名的前缀上
COMPOSE_PROJECT_NAME=demo
  • 然后是docker-compose.yaml文件,这里面会用到刚才创建的.env文件,一共创建了五个容器:启动操作、三个es组成集群,一个kibana(多说一句:官方脚本,放心用)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: "2.2"

services:
  setup:
    image: elasticsearch:${STACK_VERSION}
    volumes:
      - certs:/usr/share/elasticsearch/config/certs
    user: "0"
    command: >
      bash -c '
        if [ x${ELASTIC_PASSWORD} == x ]; then
          echo "Set the ELASTIC_PASSWORD environment variable in the .env file";
          exit 1;
        elif [ x${KIBANA_PASSWORD} == x ]; then
          echo "Set the KIBANA_PASSWORD environment variable in the .env file";
          exit 1;
        fi;
        if [ ! -f config/certs/ca.zip ]; then
          echo "Creating CA";
          bin/elasticsearch-certutil ca --silent --pem -out config/certs/ca.zip;
          unzip config/certs/ca.zip -d config/certs;
        fi;
        if [ ! -f config/certs/certs.zip ]; then
          echo "Creating certs";
          echo -ne \
          "instances:\n"\
          "  - name: es01\n"\
          "    dns:\n"\
          "      - es01\n"\
          "      - localhost\n"\
          "    ip:\n"\
          "      - 127.0.0.1\n"\
          "  - name: es02\n"\
          "    dns:\n"\
          "      - es02\n"\
          "      - localhost\n"\
          "    ip:\n"\
          "      - 127.0.0.1\n"\
          "  - name: es03\n"\
          "    dns:\n"\
          "      - es03\n"\
          "      - localhost\n"\
          "    ip:\n"\
          "      - 127.0.0.1\n"\
          > config/certs/instances.yml;
          bin/elasticsearch-certutil cert --silent --pem -out config/certs/certs.zip --in config/certs/instances.yml --ca-cert config/certs/ca/ca.crt --ca-key config/certs/ca/ca.key;
          unzip config/certs/certs.zip -d config/certs;
        fi;
        echo "Setting file permissions"
        chown -R root:root config/certs;
        find . -type d -exec chmod 750 \{\} \;;
        find . -type f -exec chmod 640 \{\} \;;
        echo "Waiting for Elasticsearch availability";
        until curl -s --cacert config/certs/ca/ca.crt https://es01:9200 | grep -q "missing authentication credentials"; do sleep 30; done;
        echo "Setting kibana_system password";
        until curl -s -X POST --cacert config/certs/ca/ca.crt -u elastic:${ELASTIC_PASSWORD} -H "Content-Type: application/json" https://es01:9200/_security/user/kibana_system/_password -d "{\"password\":\"${KIBANA_PASSWORD}\"}" | grep -q "^{}"; do sleep 10; done;
        echo "All done!";
      '
    healthcheck:
      test: ["CMD-SHELL", "[ -f config/certs/es01/es01.crt ]"]
      interval: 1s
      timeout: 5s
      retries: 120

  es01:
    depends_on:
      setup:
        condition: service_healthy
    image: elasticsearch:${STACK_VERSION}
    volumes:
      - certs:/usr/share/elasticsearch/config/certs
      - esdata01:/usr/share/elasticsearch/data
    ports:
      - ${ES_PORT}:9200
    environment:
      - node.name=es01
      - cluster.name=${CLUSTER_NAME}
      - cluster.initial_master_nodes=es01,es02,es03
      - discovery.seed_hosts=es02,es03
      - ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
      - bootstrap.memory_lock=true
      - xpack.security.enabled=true
      - xpack.security.http.ssl.enabled=true
      - xpack.security.http.ssl.key=certs/es01/es01.key
      - xpack.security.http.ssl.certificate=certs/es01/es01.crt
      - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.http.ssl.verification_mode=certificate
      - xpack.security.transport.ssl.enabled=true
      - xpack.security.transport.ssl.key=certs/es01/es01.key
      - xpack.security.transport.ssl.certificate=certs/es01/es01.crt
      - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.transport.ssl.verification_mode=certificate
      - xpack.license.self_generated.type=${LICENSE}
    mem_limit: ${MEM_LIMIT}
    ulimits:
      memlock:
        soft: -1
        hard: -1
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'",
        ]
      interval: 10s
      timeout: 10s
      retries: 120

  es02:
    depends_on:
      - es01
    image: elasticsearch:${STACK_VERSION}
    volumes:
      - certs:/usr/share/elasticsearch/config/certs
      - esdata02:/usr/share/elasticsearch/data
    environment:
      - node.name=es02
      - cluster.name=${CLUSTER_NAME}
      - cluster.initial_master_nodes=es01,es02,es03
      - discovery.seed_hosts=es01,es03
      - bootstrap.memory_lock=true
      - xpack.security.enabled=true
      - xpack.security.http.ssl.enabled=true
      - xpack.security.http.ssl.key=certs/es02/es02.key
      - xpack.security.http.ssl.certificate=certs/es02/es02.crt
      - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.http.ssl.verification_mode=certificate
      - xpack.security.transport.ssl.enabled=true
      - xpack.security.transport.ssl.key=certs/es02/es02.key
      - xpack.security.transport.ssl.certificate=certs/es02/es02.crt
      - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.transport.ssl.verification_mode=certificate
      - xpack.license.self_generated.type=${LICENSE}
    mem_limit: ${MEM_LIMIT}
    ulimits:
      memlock:
        soft: -1
        hard: -1
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'",
        ]
      interval: 10s
      timeout: 10s
      retries: 120

  es03:
    depends_on:
      - es02
    image: elasticsearch:${STACK_VERSION}
    volumes:
      - certs:/usr/share/elasticsearch/config/certs
      - esdata03:/usr/share/elasticsearch/data
    environment:
      - node.name=es03
      - cluster.name=${CLUSTER_NAME}
      - cluster.initial_master_nodes=es01,es02,es03
      - discovery.seed_hosts=es01,es02
      - bootstrap.memory_lock=true
      - xpack.security.enabled=true
      - xpack.security.http.ssl.enabled=true
      - xpack.security.http.ssl.key=certs/es03/es03.key
      - xpack.security.http.ssl.certificate=certs/es03/es03.crt
      - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.http.ssl.verification_mode=certificate
      - xpack.security.transport.ssl.enabled=true
      - xpack.security.transport.ssl.key=certs/es03/es03.key
      - xpack.security.transport.ssl.certificate=certs/es03/es03.crt
      - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
      - xpack.security.transport.ssl.verification_mode=certificate
      - xpack.license.self_generated.type=${LICENSE}
    mem_limit: ${MEM_LIMIT}
    ulimits:
      memlock:
        soft: -1
        hard: -1
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'",
        ]
      interval: 10s
      timeout: 10s
      retries: 120

  kibana:
    depends_on:
      es01:
        condition: service_healthy
      es02:
        condition: service_healthy
      es03:
        condition: service_healthy
    image: kibana:${STACK_VERSION}
    volumes:
      - certs:/usr/share/kibana/config/certs
      - kibanadata:/usr/share/kibana/data
    ports:
      - ${KIBANA_PORT}:5601
    environment:
      - SERVERNAME=kibana
      - ELASTICSEARCH_HOSTS=https://es01:9200
      - ELASTICSEARCH_USERNAME=kibana_system
      - ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}
      - ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=config/certs/ca/ca.crt
    mem_limit: ${MEM_LIMIT}
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "curl -s -I http://localhost:5601 | grep -q 'HTTP/1.1 302 Found'",
        ]
      interval: 10s
      timeout: 10s
      retries: 120

volumes:
  certs:
    driver: local
  esdata01:
    driver: local
  esdata02:
    driver: local
  esdata03:
    driver: local
  kibanadata:
    driver: local
  • 注意:.env和docker-compose.yaml两个文件在同一目录下

启动应用

  • 在docker-compose.yaml文件所在目录,执行命令docker-compose up -d启动所有容器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
❯ docker-compose up -d
Creating network "demo_default" with the default driver
Pulling setup (elasticsearch:8.2.2)...
8.2.2: Pulling from library/elasticsearch
Digest: sha256:8c666cb1e76650306655b67644a01663f9c7a5422b2c51dd570524267f11ce3d
Status: Downloaded newer image for elasticsearch:8.2.2
Pulling kibana (kibana:8.2.2)...
8.2.2: Pulling from library/kibana
Digest: sha256:cf34801f36a2e79c834b3cdeb0a3463ff34b8d8588c3ccdd47212c4e0753f8a5
Status: Downloaded newer image for kibana:8.2.2
Creating demo_setup_1 ... done
Creating demo_es01_1  ... done
Creating demo_es02_1  ... done
Creating demo_es03_1  ... done
Creating demo_kibana_1 ... done
  • 查看容器状态,负责启动的demo_setup_1已退出,其他的正常运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
❯ docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS                      PORTS                              NAMES
c8ce010cddfc   kibana:8.2.2          "/bin/tini -- /usr/l…"   20 minutes ago   Up 20 minutes (healthy)     0.0.0.0:5601->5601/tcp             demo_kibana_1
78662d44ae31   elasticsearch:8.2.2   "/bin/tini -- /usr/l…"   21 minutes ago   Up 21 minutes (healthy)     9200/tcp, 9300/tcp                 demo_es03_1
7e96273872cb   elasticsearch:8.2.2   "/bin/tini -- /usr/l…"   21 minutes ago   Up 21 minutes (healthy)     9200/tcp, 9300/tcp                 demo_es02_1
8b8be1d645ba   elasticsearch:8.2.2   "/bin/tini -- /usr/l…"   21 minutes ago   Up 21 minutes (healthy)     0.0.0.0:9200->9200/tcp, 9300/tcp   demo_es01_1
c48ffb724ca2   elasticsearch:8.2.2   "/bin/tini -- /usr/l…"   21 minutes ago   Exited (0) 20 minutes ago                                      demo_setup_1
  • 看看demo_setup_1的日志,提示启动顺利
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
❯ docker logs demo_setup_1
Setting file permissions
Waiting for Elasticsearch availability
Setting kibana_system password
All done!
  • 如果要使用curl命令向ES发请求,需要提前将crt文件从容器中复制出来
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker cp demo_es01_1:/usr/share/elasticsearch/config/certs/es01/es01.crt .

验证

  • 现在来验证es集群和kibana能不能正常工作
  • 浏览器访问https://localhost:9200/,注意是https,会看到以下警告页面
  • 此时直接键入thisisunsafe再回车,会提示输入账号密码,根据之前的配置账号elastic,密码123456
  • 浏览器显示如下,证明es成功响应了
  • 如果chrome上安装了eshead插件,此时就能查看es集群情况了(注意内部的地址栏中,要用https,而非http),如下图,一共三个节点,es02前面有五角星标志,表示其主节点的身份
  • 目前看来es集群部署和运行都已经正常,再看kibana是否可用
  • 访问http://localhost:5601/,账号elastic,密码123456
  • 点击下图红框位置,进入输入命令的页面
  • 如下图,左侧输入创建索引的命令,再点击红框中的按钮,右侧会显示执行结果
  • 批量写入两条记录
  • 最后是查询操作

清理

  • 如果要删除es,执行docker-compose down就会删除容器,但是,此命令不会删除数据,下次执行docker-compose up -d后,新的es集群中会出现刚才创建的test001索引,并且数据也在
  • 这是因为docker-compose.yaml中使用了数据卷volume存储es集群的关键数据,这些输入被保存在宿主机的磁盘上
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
❯ docker volume ls
DRIVER    VOLUME NAME
local     demo_certs
local     demo_esdata01
local     demo_esdata02
local     demo_esdata03
local     demo_kibanadata
  • 执行docker volume rm demo_certs demo_esdata01 demo_esdata02 demo_esdata03即可将它们彻底清除
  • 以上就是快速部署es集群+kibana的整个过程了,是不是很简单呢?

不带密码的集群

  • 有时候咱们部署es不需要安全认证,例如开发环境,或者有防火墙禁止外部访问的环境,那么刚才的部署就不够用了,咱们需要一个更简单的、部署完了立刻能用的集群,接下来动手试试吧
  • 找个干净目录,新建名为.env的文件,内容如下,和安全版相比去掉了一些不需要的内容
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# kibana_system账号的密码 (至少六个字符),该账号仅用于一些kibana的内部设置,不能用来查询es
KIBANA_PASSWORD=abcdef

# es和kibana的版本
STACK_VERSION=8.2.2

# 集群名字
CLUSTER_NAME=docker-cluster

# es映射到宿主机的的端口
ES_PORT=9200

# kibana映射到宿主机的的端口
KIBANA_PORT=5601

# es容器的内存大小,请根据自己硬件情况调整
MEM_LIMIT=1073741824

# 命名空间,会体现在容器名的前缀上
COMPOSE_PROJECT_NAME=demo
  • 然后是docker-compose.yaml文件,这里面会用到刚才创建的.env文件,和安全版相比去掉了启动容器,和安全相关的配置和脚本也删除了
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: "2.2"

services:
  es01:
    image: elasticsearch:${STACK_VERSION}
    volumes:
      - esdata01:/usr/share/elasticsearch/data
    ports:
      - ${ES_PORT}:9200
    environment:
      - node.name=es01
      - cluster.name=${CLUSTER_NAME}
      - cluster.initial_master_nodes=es01,es02,es03
      - discovery.seed_hosts=es02,es03
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - xpack.security.http.ssl.enabled=false
      - xpack.security.transport.ssl.enabled=false
    mem_limit: ${MEM_LIMIT}
    ulimits:
      memlock:
        soft: -1
        hard: -1

  es02:
    depends_on:
      - es01
    image: elasticsearch:${STACK_VERSION}
    volumes:
      - esdata02:/usr/share/elasticsearch/data
    environment:
      - node.name=es02
      - cluster.name=${CLUSTER_NAME}
      - cluster.initial_master_nodes=es01,es02,es03
      - discovery.seed_hosts=es01,es03
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - xpack.security.http.ssl.enabled=false
      - xpack.security.transport.ssl.enabled=false
    mem_limit: ${MEM_LIMIT}
    ulimits:
      memlock:
        soft: -1
        hard: -1

  es03:
    depends_on:
      - es02
    image: elasticsearch:${STACK_VERSION}
    volumes:
      - esdata03:/usr/share/elasticsearch/data
    environment:
      - node.name=es03
      - cluster.name=${CLUSTER_NAME}
      - cluster.initial_master_nodes=es01,es02,es03
      - discovery.seed_hosts=es01,es02
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - xpack.security.http.ssl.enabled=false
      - xpack.security.transport.ssl.enabled=false
    mem_limit: ${MEM_LIMIT}
    ulimits:
      memlock:
        soft: -1
        hard: -1
  kibana:
    image: kibana:${STACK_VERSION}
    volumes:
      - kibanadata:/usr/share/kibana/data
    ports:
      - ${KIBANA_PORT}:5601
    environment:
      - SERVERNAME=kibana
      - ELASTICSEARCH_HOSTS=http://es01:9200
      - ELASTICSEARCH_USERNAME=kibana_system
      - ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}
    mem_limit: ${MEM_LIMIT}

volumes:
  esdata01:
    driver: local
  esdata02:
    driver: local
  esdata03:
    driver: local
  kibanadata:
    driver: local
  • 注意:.env和docker-compose.yaml两个文件在同一目录下

启动和验证

  • 启动前,请先停止和清理掉刚才部署的安全版
  • 在docker-compose.yaml文件所在目录,执行命令docker-compose up -d启动所有容器,稍等片刻,可见所有容器已经就绪
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
❯ docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                              NAMES
11663375288d   elasticsearch:8.2.2   "/bin/tini -- /usr/l…"   4 minutes ago   Up 4 minutes   9200/tcp, 9300/tcp                 demo_es03_1
ad6f0390b9cf   elasticsearch:8.2.2   "/bin/tini -- /usr/l…"   4 minutes ago   Up 4 minutes   9200/tcp, 9300/tcp                 demo_es02_1
5080709e5358   kibana:8.2.2          "/bin/tini -- /usr/l…"   4 minutes ago   Up 4 minutes   0.0.0.0:5601->5601/tcp             demo_kibana_1
4b1e576fbfd3   elasticsearch:8.2.2   "/bin/tini -- /usr/l…"   4 minutes ago   Up 4 minutes   0.0.0.0:9200->9200/tcp, 9300/tcp   demo_es01_1
  • 浏览器访问http://localhost:9200/ ,注意是http,收到es响应
  • chrome的eshead插件也能正常获取es集群信息
  • 访问kibana,地址是http://localhost:5601/ ,注意是http,能够正常使用,下图是成功创建索引的操作
  • 至此,基于docker-compose部署es集群+kibana的部署已经完成,借助娴熟的复制粘贴操作,快速部署一个es集群简直易如反掌,如果您正要快速部署一套es集群,希望本文能给您一些参考
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
2 条评论
热度
最新
es集群(带安全检查) 为什么要放在根目录下才能运行成功?我放其他目录下就启动失败了, java.lang.IllegalStateException: failed to obtain node locks, tried [/usr/share/elasticsearch/data]; maybe these locations are not writable or multiple nodes were started on the same data path? (liunx 用户 root,文件夹权限也赋予了,进程之前的进程也杀了)
es集群(带安全检查) 为什么要放在根目录下才能运行成功?我放其他目录下就启动失败了, java.lang.IllegalStateException: failed to obtain node locks, tried [/usr/share/elasticsearch/data]; maybe these locations are not writable or multiple nodes were started on the same data path? (liunx 用户 root,文件夹权限也赋予了,进程之前的进程也杀了)
回复回复点赞举报
我安装插件 比如ik分词器是使用docker cp 还是数据卷映射
我安装插件 比如ik分词器是使用docker cp 还是数据卷映射
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
1.Elasticsearch8 集群搭建和Kibana安装
用于定义初始的主节点,确保主节点选举的有效性。这里面的名字要和node.name保持一致
AI码师
2023/08/18
7720
1.Elasticsearch8 集群搭建和Kibana安装
docker-compose快速构建ELK本地测试环境
参考自官方文档 ​​https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_linux ​​
保持热爱奔赴山海
2022/05/11
7030
docker-compose快速构建ELK本地测试环境
ECE认证笔记之使用docker compose快速启动ES+Kibaba测试环境
为了避开虚拟机,在基于docker compose的基础上快速启动一套3节点es+kibana的测试环境(7.13.3);
Jetpropelledsnake21
2022/09/02
8910
ECE认证笔记之使用docker compose快速启动ES+Kibaba测试环境
docker安装Elasticsearch7.6集群并设置密码
Elasticsearch从6.8开始, 允许免费用户使用X-Pack的安全功能, 以前安装es都是裸奔。接下来记录配置安全认证的方法。
Ryan-Miao
2020/04/10
5.9K0
docker安装Elasticsearch7.6集群并设置密码
elasticsearch学习四:elasticsearch集群
elasticsearch集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能,一个elasticsearch集群由一个唯一的名字标识,默认为:"elasticsearch"
仙士可
2022/12/07
5680
elasticsearch学习四:elasticsearch集群
docker搭建3节点elastics8.x集群
创建一个elasticstack目录,在目录下分别创建node1,node2,node3 三个文件夹,作为三个节点的挂载目录(然后根据需求在nodex下创建data,conf等目录挂载容器内的es相关文件夹\文件)
用户10325771
2023/11/06
1.1K0
基于 Docker 快速部署 Elasticsearch 集群
在刚刚新建的目录(/root/app/elasticsearch)创建docker-compose.yml文件,基于镜像elasticsearch:7.4.0
茶半香初
2021/11/26
1.6K0
基于 Docker 快速部署 Elasticsearch 集群
大数据ELK Stack(二):Elasticsearch 集群之docker部署
Linux环境:CentOS Linux release 7.9.2009 (Core)
zjiekou
2022/09/17
1.5K0
大数据ELK Stack(二):Elasticsearch 集群之docker部署
2.ElasticStack分布式数据采集搜索引擎集群搭建配置
Step 1.三台主机分别进行ES Linux Tar 安装包下载解压到/usr/local/目录中。
全栈工程师修炼指南
2022/09/29
1.2K0
2.ElasticStack分布式数据采集搜索引擎集群搭建配置
使用 Docker 搭建 ELK 环境
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2020/05/04
1.7K0
使用 Docker 搭建 ELK 环境
基于 DOCKER 快速部署 ELASTICSEARCH 集群-集成IK分词器
上篇文章介绍了如何基于 DOCKER 快速部署 ELASTICSEARCH 集群,接下来介绍如何在容器里集成IK分词器
茶半香初
2021/11/26
9580
基于 DOCKER 快速部署 ELASTICSEARCH 集群-集成IK分词器
容器部署ELK7.10,适用于生产
一、elk架构简介 首先 logstash 具有日志采集、过滤、筛选等功能,功能完善但同时体量也会比较大,消耗系统资源自然也多。filebeat作为一个轻量级日志采集工具,虽然没有过滤筛选功能,但是仅
YP小站
2021/01/29
2K0
容器部署ELK7.10,适用于生产
elk7.9异机真集群docker搭建
好久不给大家写脚本了,波哥是真的忙。但是还不能给大家透露再忙什么。不过相信波哥的这次选择会在不久的将来给大家带来更多更精彩的内容。
IT运维技术圈
2022/06/26
3850
【原创】使用Docker搭建Elasticsearch集群服务教程
相信你在看这篇文章之前或多或少了解过Elasticsearch相关内容,即便你没听说过,通过接下来的三篇系列文章也会让你对Elasticsearch有一个大概的认识,补全你对这部分内容的缺失或是加强你对这部分知识的一个巩固。
java进阶架构师
2020/04/01
2.5K0
基于Docker的Elasticsearch集群搭建
由于默认es实例是1g,太吃内存了,我们修改一下jvm参数,每个es目录下放一个jvm.option文件:
niceyoo
2020/06/01
1.1K0
反手几行命令就安装好了Elasticsearch集群
上文《 那些年我们一起学过的 Elasticsearch》 中提到了以 Elasticsearch 为核心,逐步衍生成了 ELK 技术栈,让我想到了道德经中的一句话。道德经阐述到:“道生一,一生二,而二生三,三生万物”。
Jared.Tan
2020/06/19
1.2K0
反手几行命令就安装好了Elasticsearch集群
Windows 部署 Elasticsearch + kibana 8.0 指南
以下内容图示为主,主要探讨和早期版本的不同,给大家升级 8.0 或者更高版本铺路。
铭毅天下
2022/04/06
3.7K0
Windows 部署 Elasticsearch + kibana 8.0 指南
Docker下elasticsearch8部署、扩容、基本操作实战(含kibana)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇记录了用docker搭建ElasticSearch8单机版再扩容的过程,既留给自己后面反复使用,也可以为正在部署环境的读者提供一些参考 请注意docker部署ElasticSearch的适用场景:我这边只是在开发过程中使用,这种方式在生产环境是否适合是有待商榷的,在用于生产环境时请慎重考虑 本篇由以下内容构成 介绍本次实战的环境和版本信息 快速部署
程序员欣宸
2022/06/12
2.8K2
Docker下elasticsearch8部署、扩容、基本操作实战(含kibana)
【docker】使用docker安装部署elasticsearch+Kibana
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。
宝耶需努力
2022/12/13
4.4K0
【docker】使用docker安装部署elasticsearch+Kibana
Elasticsearch教程 | 第一篇:下载安装
ES官网地址 https://www.elastic.co/cn/ 下载安装包 下载地址:https://www.elastic.co/cn/downloads/?elektra=home&stor
一点博客
2021/11/16
6940
推荐阅读
相关推荐
1.Elasticsearch8 集群搭建和Kibana安装
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档