Docker安装部署ElasticSearch

这篇具有很好参考价值的文章主要介绍了Docker安装部署ElasticSearch。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.部署单点ElasticSearch

1.1.创建网络

因为我们还需要部署kibana容器,因此需要让ElasticSearchkibana容器互联。这里先创建一个网络:

docker network create es-net

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

1.2.拉取镜像

考虑到ElasticSearch的兼容性,这里ElasticSearchkibana统一下载8.6.2版本

# 拉取镜像
docker pull elasticsearch:8.6.2

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

1.3.第一次执行docker脚本

docker run -it \
    -p 9200:9200 \
    -p 9300:9300 \
    --name es \
    --net es-net \
    -e ES_JAVA_OPTS="-Xms1g -Xmx1g" \
    -e "discovery.type=single-node" \
    -e LANG=C.UTF-8 \
    -e LC_ALL=C.UTF-8 \
    elasticsearch:8.6.2

注意第一次执行脚本不要加-d这个参数,否则看不到服务首次运行时生成的随机密码和随机enrollment token

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

1.4.创建Elasticsearch挂载目录

mkdir -p /home/elk8.6.2/elasticsearch

1.5.给创建的文件夹授权

sudo chown -R 1000:1000 /home/elk8.6.2/elasticsearch

1.6.将容器内的文件复制到主机上

docker cp es:/usr/share/elasticsearch/config /home/elk8.6.2/elasticsearch 

docker cp es:/usr/share/elasticsearch/data /home/elk8.6.2/elasticsearch

docker cp es:/usr/share/elasticsearch/plugins /home/elk8.6.2/elasticsearch

docker cp es:/usr/share/elasticsearch/logs /home/elk8.6.2/elasticsearch

1.7.删除容器

docker rm -f es

1.8.修改docker脚本,增加-v挂载目录和-d参数

docker run -it \
 -d \
 -p 9200:9200 \
 -p 9300:9300 \
 --name es \
 --net es-net \
 -e ES_JAVA_OPTS="-Xms1g -Xmx1g" \
 -e "discovery.type=single-node" \
 -e LANG=C.UTF-8 \
 -e LC_ALL=C.UTF-8 \
 -v /home/elk8.6.2/elasticsearch/config:/usr/share/elasticsearch/config \
 -v /home/elk8.6.2/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /home/elk8.6.2/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 -v /home/elk8.6.2/elasticsearch/logs:/usr/share/elasticsearch/logs \
elasticsearch:8.6.2

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

1.9.修改配置/home/elk8.6.2/elasticsearch/config/elasticsearch.yml:

增加:xpack.monitoring.collection.enabled: true
说明:添加这个配置以后在kibana中才会显示联机状态,否则会显示脱机状态

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

1.10.重启容器

docker restart es

1.11.Elasticsearch.8X以上默认开启了X-Pack安全功能

说明:请求Elasticsearch必须使用https

测试:https://ip:9200

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

用户名就是:elastic,密码在第一次启动时保存下来的信息中查找,输入账号密码,即可看到elasticsearch的响应结果:

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

看到这种信息说明启动成功了。

1.12.如果账户密码忘了,设置修改账号密码如下:

docker exec -it es /bin/bash

cd /usr/share/elasticsearch/bin
./elasticsearch-setup-passwords interactive

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

ElasticSearch设置后账户:elastic,密码:123456

2.部署kibana

kibana可以给我们提供一个ElasticSearch的可视化界面,便于我们使用。

2.1.拉取镜像

# 拉取镜像  
#注意要与ElasticSearch版本一致
docker pull kibana:8.6.2 

2.2.第一次执行docker启动脚本

docker run -it \
 -d \
 --restart=always \
 --log-driver json-file \
 --log-opt max-size=100m \
 --log-opt max-file=2 \
 --name kibana \
 -p 5601:5601 \
 --net es-net \
kibana:8.6.2

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

2.3.创建kibana挂载目录

mkdir -p /home/elk8.6.2/kibana

2.4.给创建的文件夹授权

sudo chown -R 1000:1000 /home/elk8.6.2/kibana

2.5.将容器内的文件复制到主机上

docker cp kibana:/usr/share/kibana/config /home/elk8.6.2/kibana

docker cp kibana:/usr/share/kibana/data /home/elk8.6.2/kibana

docker cp kibana:/usr/share/kibana/plugins /home/elk8.6.2/kibana

docker cp kibana:/usr/share/kibana/logs /home/elk8.6.2/kibana

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

2.6.删除容器

docker rm -f kibana

2.7.修改配置文件/home/elk8.6.2/kibana/config/kibana.yml:

  • 增加:i18n.locale: “zh-CN”
  • 修改:elasticsearch.hosts: [‘https://172.20.0.2:9200’],将IP改成elasticsearchdocker ip,注意一定要用https
  • 修改:xpack.fleet.outputs: [{id: fleet-default-output, name: default, is_default: true, is_default_monitoring: true, type: elasticsearch, hosts: [‘https://172.20.0.2:9200’], ca_trusted_fingerprint: xxxxxxxxxx}]
    IP改成elasticsearchdocker ip,注意一定要用https

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

2.8.修改docker启动脚本,增加挂载目录

docker run -it \
 -d \
 --restart=always \
 --log-driver json-file \
 --log-opt max-size=100m \
 --log-opt max-file=2 \
 --name kibana \
 -p 5601:5601 \
 --net es-net \
 -v /home/elk8.6.2/kibana/config:/usr/share/kibana/config \
 -v /home/elk8.6.2/kibana/data:/usr/share/kibana/data \
 -v /home/elk8.6.2/kibana/plugins:/usr/share/kibana/plugins \
 -v /home/elk8.6.2/kibana/logs:/usr/share/kibana/logs \
kibana:8.6.2

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

2.9.查看kibana日志

docker logs -f kibana

此时,在浏览器输入地址访问:http://192.168.1.111:5601,即可看到结果。

2.2.DevTools

kibana中提供了一个DevTools界面:

docker 部署elasticsearch,Docker,elasticsearch,docker,容器

这个界面中可以编写DSL来操作elasticsearch。并且对DSL语句有自动补全功能。

4.部署es集群

部署es集群可以直接使用docker-compose来完成,不过要求你的Linux虚拟机至少有4G的内存空间

首先编写一个docker-compose文件,内容如下:

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge

运行docker-compose以启动集群:文章来源地址https://www.toymoban.com/news/detail-779181.html

docker-compose up

到了这里,关于Docker安装部署ElasticSearch的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Zabbix最简易安装部署:基于docker容器

    zabbix 读音: 正确读法: [`zæbiks] ,中文发音:擦日阿(ra)贝克斯 zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在

    2024年02月12日
    浏览(51)
  • 【docker】使用docker安装部署elasticsearch+Kibana

    elasticsearch安装之后,十分消耗内存资源,需要手动配置限制内存大小。 elasticsearch和Kibana安装时,版本号需要一致。 本实验采用的Linux系统是 CentOS Linux release 7.9.2009 (Core) ,docker版本是 20.10.14 elasticsearch和kibana版本都是 8.2.0 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分

    2024年02月02日
    浏览(50)
  • Docker安装部署ElasticSearch

    因为我们还需要部署 kibana 容器,因此需要让 ElasticSearch 和 kibana 容器互联。这里先创建一个网络: 考虑到 ElasticSearch 的兼容性,这里 ElasticSearch 、 kibana 统一下载 8.6.2 版本 注意第一次执行脚本不要加 -d 这个参数,否则看不到服务首次运行时生成的随机密码和随机 enrollment

    2024年02月03日
    浏览(40)
  • Docker安装Nginx并部署&MySQL容器构建

    将配置文件上传到conf文件夹(数据库配置文件已放到置顶资源中) /soft/mysql/conf/my.cnf:/etc/my.cnf目录为我们配置绑定的目录 /soft/mysql/data:/var/lib/mysql 是将data目录与MySQL目录进行绑定 进入到我们的MySQL容器中(m1为容器名)  进入容器后登录到MySQL 输入密码后进入到MySQL赋予权限 

    2024年01月19日
    浏览(53)
  • 【Docker】contos7安装 Nacos容器部署单个&&部署集群

                                      🎉🎉欢迎来到我的CSDN主页!🎉🎉                     🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚     🌟推荐给大家我的博客专栏《Docker】contos7安装 Nacos容器部署单个部署集群》。🎯🎯                  

    2024年01月23日
    浏览(45)
  • Elasticsearch——Docker单机部署安装

    Elasticsearch是一个开源的分布式搜索和分析引擎,使用Lucene库来实现全文搜索功能。本文将介绍如何使用Docker在单机上部署和安装Elasticsearch。 首先,你需要安装Docker引擎。你可以按照官方文档的指引完成安装过程。确保你的操作系统满足Docker的最低硬件要求。 为了加快Docke

    2024年02月10日
    浏览(39)
  • 【Docker】安装Nginx容器并部署前后端分离项目

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待你的加入,一起

    2024年01月23日
    浏览(48)
  • docker基本操作:安装部署、设置ssh远程登入、配置docker镜像文件并创建docker容器

    Docker 是一个流行的应用程序容器化和部署平台,允许开发人员轻松地创建、部署和管理容器中的应用程序。 请注意运行此命令需要 root 或 sudo 权限,因此可能需要在命令前加上 sudo 并输入密码。 一、更新系统工具(ubuntu) 安装docker 查看docker版本 启动docker服务 二、一些基本

    2024年02月04日
    浏览(62)
  • Docker安装部署ElasticSearch(ES)

    用于在宿主机挂载日志,数据等内容 创建/opt/es/data目录 创建/opt/es/logs目录 创建/opt/es/plugins目录 创建/opt/es/conf目录 内容 运行成功 URL:IP:9200 出现以下画面即可

    2024年02月09日
    浏览(43)
  • docker容器监控:Cadvisor +Prometheus+Grafana的安装部署

    目录 Cadvisor +Prometheus+Grafana的安装部署 一、安装docker: 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 二、部署Cadvisor 1、被监控主机上部署Cadvisor容器 2、访问cAdvisor页面 三、安装prometheus 1、部署Prometheus  2、先准备配置 3、访问prometheus页面 四、部

    2024年02月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包