docker安装单节点elasticsearch8

本文详细介绍了如何使用Docker在单机上安装Elasticsearch8.12.0和Kibana8.12.0,包括解决内存限制、挂载数据和配置文件、安装分词器,以及设置Kibana连接和权限管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker方式安装单节点elsasticsearch8


概览:本篇使用docker搭建ElasticSearch8的单机过程,仅作为测试练习使用,(elasticsearch 8.12.0+kibana 8.12.0 ) 注意:kibana与Elasticsearch的版本必须一致,不然会匹配不成功

Elasticsearch安装

  • 创建网络

    docker network create elastic-shixing
    
  • 创建未挂载目录的临时容器

    docker run \
    -p 9200:9200 \
    --name elastic-shixing \
    --net elastic-shixing \
    --privileged=true \
    -e ES_JAVA_OPTS="-Xms500m -Xmx500m"  \
    -idt elasticsearch:8.12.0
    

    在这里插入图片描述

    如果遇到vm.max_map_count [65530] is too low,这是Elasticsearch启动时检测到的内核参数
    vm.max_map_count 不足的错误。你需要在宿主机上修改该参数的值,可以通过执行以下命令修改:

    在这里插入图片描述

    sudo sysctl -w vm.max_map_count=262144
    
  • 拷贝容器中的文件至宿主机

    docker cp -a elastic-shixing:/usr/share/elasticsearch/plugins/ /root/docker/volume/es 
    docker cp -a elastic-shixing:/usr/share/elasticsearch/config/ /root/docker/volume/es
    docker cp -a elastic-shixing:/usr/share/elasticsearch/data/ /root/docker/volume/es 
    
  • 删除容器

    docker stop elastic-shixing
    docker rm elastic-shixing
    
  • 重新创建真正Elasticsearch容器

    docker run \
    -p 9200:9200 \
    --name elastic-shixing \
    --net elastic-shixing \
    --privileged=true \
    -e ES_JAVA_OPTS="-Xms500m -Xmx500m" \
    -v /root/docker/volume/es/data:/usr/share/elasticsearch/data \
    -v /root/docker/volume/es/plugins:/usr/share/elasticsearch/plugins \
    -v /root/docker/volume/es/config:/usr/share/elasticsearch/config \
    -idt elasticsearch:8.12.0
    

    说明:
    -e ES_JAVA_OPTS=“-Xms500m -Xmx500m” 表示初始与最大的内存分配,测试环境500m完全够用
    -v 参数就是一些挂载目录 (/root/docker/volume/es 这里是修改为自己的目录就可以)

  • 浏览器访问容器测试结果(如果不成功,关闭防火墙或者添加9200端口至防火墙)

    在这里插入图片描述

  • 修改访问协议(也可以不做修改)找到前面配置文件的挂载目录,修改elasticsearch.yml文件
    在这里插入图片描述

    vim /root/docker/volume/es/config/elasticsearch.yml
    
  • 把 xpack.security.http.ssl:下面的enabled 的值有true改为false

    ...
    xpack.security.http.ssl:
      enabled: false
      keystore.path: certs/http.p12
    ...
    
  • 保存重启容器在使用http进行访问

  • 修改es密码

  • 进入容器

    docker exec -it  elastic-shixing /bin/bash
    
  • 重置密码

    bin/elasticsearch-reset-password -u elastic
    

    在这里插入图片描述
    使用新的密码进行登录,得到如下结果说明es安装成功(登录用户名:elastic)
    在这里插入图片描述

kibana安装

  • 安装临时kibana

    docker run \
    --name kibana-shixing \
    --net elastic-shixing \
    -p 5601:5601 \
    -idt kibana:8.12.0
    
  • 拷贝文件到宿主机

     docker cp kibana-shixing:/usr/share/kibana/config/ /root/docker/volume/kibana
    
  • 删除临时容器

    docker stop kibana-shixing
    docker rm kibana-shixing
    
  • 重新创建真正kibana容器

    docker run \
    --name kibana-shixing \
    --net elastic-shixing \
    -p 5601:5601 \
    -v /root/docker/volume/kibana/config:/usr/share/kibana/config \
    -idt kibana:8.12.0
    
  • 进入es容器创建连接kibana的账户

    docker exec -it elastic-shixing /bin/bash
    /usr/share/elasticsearch/bin/elasticsearch-users useradd shixingadmin
    /usr/share/elasticsearch/bin/elasticsearch-users roles -a superuser shixingadmin
    /usr/share/elasticsearch/bin/elasticsearch-users roles -a kibana_system shixingadmin
    
  • 配置kibana的配置文件
    在这里插入图片描述

    vim /root/docker/volume/kibana/config/kibana.yml
    
    server.host: "0.0.0.0"
    server.shutdownTimeout: "5s"
    elasticsearch.hosts: [ "http://elastic-shixing:9200" ]
    monitoring.ui.container.elasticsearch.enabled: true
    elasticsearch.username: shixingadmin
    elasticsearch.password: shixingadmin
    

    elasticsearch.hosts更改为自己设定的网络地址
    elasticsearch.username es中创建的用户
    elasticsearch.password 密码

  • 重启kibana容器

    docker restart  kibana-shixing
    
  • 浏览器重新进入kinaba(http:ip:5601)输入用户名与密码进入
    在这里插入图片描述

分词器安装

数据同步功能请已出,请移步canal+mysql+es8数据同步

Docker 安装多节点 Elasticsearch 主要有以下几个步骤: 1. **基础设置**: - 确保已安装 DockerDocker Compose,可以在官网下载对应版本的安装包。 2. **创建 Docker 镜像**: 使用官方的 Elasticsearch Docker Hub 镜像,例如 `docker pull elasticsearch`。如果需要特定版本,可以指定版本号,如 `docker pull elasticsearch:7.16.2`。 3. **配置文件**: 创建一个 `docker-compose.yml` 文件,用于定义每个节点的服务及其网络、端口映射等。对于多节点集群,通常会有一个主节点(master node)和若干个数据节点(data nodes)。配置示例: ```yaml version: '3' services: master: image: elasticsearch:7.16.2 environment: - discovery.type=single-node # 单机模式 - cluster.name=my-es-cluster - network_mode: host data_node1: image: elasticsearch:7.16.2 environment: - ELS_DISCOVERY_ZEN.ping.multicast.enabled=false # 防止多播冲突 - cluster.name=my-es-cluster - network_mode: host data_node2: # ... 同样配置其他数据节点 ... ``` 4. **启动集群**: 运行 `docker-compose up` 命令来启动集群。首次运行时,所有节点都会自动初始化并互相发现对方。 5. **管理集群**: 可以通过 Kibana 或者 Elasticsearch API 来监控和管理集群,如添加新节点、调整索引大小等。Kibana 的安装示例也可以在 Docker Compose 中配置,或者单独部署。 6. **安全和网络设置**: - 如果在生产环境中,记得启用 HTTPS 并管理访问权限。 - 对于多主机环境,需要将服务暴露到外部,可以使用宿主机 IP 或端口映射来连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值