Docker搭建ElasticSearch集群

鉴于网上很多ES集群搭建方式十分繁琐且ES版本较低,所以梳理出一套基于Docker的测试环境下的ES集群搭建流程,也不一定说Docker搭建一定就是最好的方法,但是Docker搭建集群一定是最快的方法。来吧,自己动手试一试。

世间方式千万种,今天给大家介绍一种一键启动的ES集群的搭建方式–使用docker-compose(负责实现对Docker容器集群的快速编排)。废话不多说上干货!

前置操作

创建各个ES节点的文件挂载路径,本文配置路径保持和前文一样,懒得去动了。Docker搭建ES+Head+Kibana,如果你有其他需要请自行了断!

[root@localhost home]# ll
总用量 4
-rw-r--r--.  1 root     root     2557 9月   8 20:22 docker-compose.yml
drwx------. 12 xianglei xianglei  202 8月  30 17:18 xianglei
drwxr-xr-x.  5 xianglei root       45 9月   7 21:49 xianglei1
drwx------. 12 xianglei root      202 9月   3 20:15 xianglei2
drwx------. 12 xianglei root      202 9月   3 20:14 xianglei3
[root@localhost home]#

赋予ES节点挂载路径非Root用户权限

chown -R xianglei /文件夹路径

避免不必要的问题,修改vm.max_map_count

# 直接执行
sysctl -w vm.max_map_count=262144
# 在/etc/sysctl.conf文件最后添加一行 永久生效
vm.max_map_count=262144

无脑CV操作

可以直接把我的docker-compose.yml文件拷贝过去,就上面的配置信息的含义,我相信大家用排查法可以自己类比。

version: '3.3'
services:ESmaster:image: elasticsearch:7.6.2container_name: ESmasterenvironment:- node.name=ESmaster- cluster.name=EScluster- discovery.seed_hosts=my_elastcsearch2,my_elastcsearch3- cluster.initial_master_nodes=ESmaster,my_elastcsearch2,my_elastcsearch3- bootstrap.memory_lock=true- http.port=9201- node.master=true- node.data=true- http.cors.allow-origin=*- http.cors.enabled=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- /home/xianglei1/data/data:/usr/share/elasticsearch/data- /home/xianglei1/logs:/usr/share/elasticsearch/logs- /home/xianglei1/plugins:/usr/share/elasticsearch/pluginsports:- 9201:9201networks:- mynetmy_elastcsearch2:image: elasticsearch:7.6.2container_name: my_elastcsearch2environment:- node.name=my_elastcsearch2- cluster.name=EScluster- discovery.seed_hosts=ESmaster,my_elastcsearch3- cluster.initial_master_nodes=ESmaster,my_elastcsearch2,my_elastcsearch3- bootstrap.memory_lock=true- http.port=9202- node.master=true- node.data=true- http.cors.allow-origin=*- http.cors.enabled=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- /home/xianglei2/data/data:/usr/share/elasticsearch/data- /home/xianglei2/logs:/usr/share/elasticsearch/logs- /home/xianglei2/plugins:/usr/share/elasticsearch/pluginsports:- 9202:9202networks:- mynetmy_elastcsearch3:image: elasticsearch:7.6.2container_name: my_elastcsearch3environment:- node.name=my_elastcsearch3- cluster.name=EScluster- discovery.seed_hosts=ESmaster,my_elastcsearch2- cluster.initial_master_nodes=ESmaster,my_elastcsearch2,my_elastcsearch3- bootstrap.memory_lock=true- http.port=9203- node.master=true- node.data=true- http.cors.allow-origin=*- http.cors.enabled=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- /home/xianglei3/data/data:/usr/share/elasticsearch/data- /home/xianglei3/logs:/usr/share/elasticsearch/logs- /home/xianglei3/plugins:/usr/share/elasticsearch/pluginsports:- 9203:9203networks:- mynet
networks:mynet:driver: bridge

对于这里的Kibana和head容器,大家可以参考前文配置即可Docker搭建ES+Head+Kibana

需要注意的一点:

  • 我的集群使用的是一个新的network,具体细节可以查看得知,目前的叫做home_mynet,所以你在启动Kibana的时候需要修改配置信息中ES节点地址,以及启动时–net 修改为–net home_mynet
[root@localhost home]# docker network list
NETWORK ID          NAME                DRIVER              SCOPE
58436ed85c2d        bridge              bridge              local
2398670cf8e3        home_mynet          bridge              local
d1bd2ce47aa8        host                host                local
692d4bd9fbfd        mynetwork           bridge              local
478f5a96a153        none                null                local
[root@localhost home]#

执行docker-compose.yml

# 在你自定义写有docker-compose.yml的路径下执行(会打印日志信息)
docker-compose up
# 后台方式启动
docker-compose up -d

查看集群容器启动情况

[root@localhost home]# docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                                        NAMES
9c8255a53173        kibana:7.6.2                "/usr/local/bin/dumb…"   22 minutes ago      Up 22 minutes       0.0.0.0:5601->5601/tcp                       kibana
783c863324f8        elasticsearch:7.6.2         "/usr/local/bin/dock…"   34 minutes ago      Up 34 minutes       9200/tcp, 9300/tcp, 0.0.0.0:9202->9202/tcp   my_elastcsearch2
ab54ac7515f3        elasticsearch:7.6.2         "/usr/local/bin/dock…"   34 minutes ago      Up 34 minutes       9200/tcp, 9300/tcp, 0.0.0.0:9201->9201/tcp   ESmaster
180536eda65b        elasticsearch:7.6.2         "/usr/local/bin/dock…"   34 minutes ago      Up 34 minutes       9200/tcp, 9300/tcp, 0.0.0.0:9203->9203/tcp   my_elastcsearch3
3d18a3b987e1        mobz/elasticsearch-head:5   "/bin/sh -c 'grunt s…"   9 days ago          Up 33 minutes       0.0.0.0:9100->9100/tcp                       elasticsearch-head
[root@localhost home]#

查看一下效果

Head

至此ES集群搭建就完成了!

但是我还是需要强调的是目前的环境只适合测试环境学习使用。严格意义上来讲并不算是个集群,同时生产环境的ES配置信息将会更加复杂。

但是呢,万事开头难!搭建集群这种经历本不应该浪费我们大量的学习时间,对于一个开发者来说如何利用高性能的ES集群去实现业务才是最终的目的。


下期预告:ELK环境搭建

Docker实现ElasticSearch集群搭建相关推荐

  1. docker 完成 redis集群搭建

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  2. Docker下ETCD集群搭建

    Docker下ETCD集群搭建 https://www.cnblogs.com/eagle6688/p/8287907.html 搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好D ...

  3. elasticsearch集群搭建及springboot集成使用

    elasticsearch集群搭建及springboot集成使用 1. ES介绍 2. 原理 2.1 核心概念 2.2 索引功能 2.3 ES特性 3. 分词器(analyzer) 4. 集群搭建 4 ...

  4. elasticsearch集群搭建记录

    elasticsearch集群搭建记录 一.集群服务器配置信息 二.安装 JDK 三.下载 ElasticSearch 安装包和中文分词器并解压 四.创建用于存放数据与日志的目录 五.集群配置 5.1 ...

  5. elasticsearch 集群搭建 + kibana配置

    elasticsearch 集群搭建 + kibana配置 一.elasticsearch 集群搭建 1.下载并解压elasticsearch 2.ES集群搭建 2.1 打开防火墙9200,9300端 ...

  6. 基于docker的storm集群搭建

    基于docker的storm集群搭建 一.创建docker容器 1.创建storm的局域网 2.创建主节点的容器 3.创建从节点容器 4.配置hosts文件 二.搭建zookeeper集群 1.配置j ...

  7. 【大数据实战】Docker中Hadoop集群搭建

    目录 Docker中Hadoop集群搭建 环境 网络设置 安装docker 安装OpenSSH免密登录 Ansible安装 软件环境配置 配置hadoop运行所需配置文件 Hadoop 启动 问题 D ...

  8. Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本)

    Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本) 0 安装前准备工作 0.1 安装包下载 组件 安装包 下载地址 es elasticsearch-8 ...

  9. (六)elasticsearch 集群 网络超时解决方案 --- Elasticsearch 集群搭建

    上一篇: (五)elasticsearch 集群扩展 --- Elasticsearch 集群搭建 因为网络原因,可能会有节点被踢出集群,如果网络恢复,节点会再次加入集群,但是这中间的过程是比较耗费性 ...

  10. 快速搞懂Docker部署ElasticSearch集群

    前言 为什么要用ElasticSearch?我们的应用经常需要添加检索功能,开源的Elastic Search是目前全文检索引擎的首选.它可以快速的存储.搜索和分析海量数据.ElasticSearch ...

最新文章

  1. 怎样做网络推广浅谈如何更高效的提升关键词排名?你还不知道?
  2. Ubuntu12.04安装jdk1.6.0
  3. 基于oracle 的PL/SQL编程 -变量使用
  4. CRF++命名实体识别(NER)初步试探
  5. Linux设备模型组件-类设备-设备类及subsystem
  6. 复制 和 粘帖 的方法(特别在linux中),备忘
  7. oc51--循环retain
  8. Mac中使用LaTeX的中文字体出现Package fontspec Error: The font “宋体“ cannot be found.解决方案
  9. SQL server USE GO语句学习总结
  10. 2019mysql安装_2019mysql安装过程
  11. 【渝粤教育】国家开放大学2018年春季 0688-22T老年精神障碍护理 参考试题
  12. 怎么把多个音频合并成一个音频?
  13. 常见笔顺错误的字_有哪些常见笔顺错误?
  14. 热插拔48块硬盘服务器,24块前置热插拔硬盘设计
  15. Flash:一个TLF图文并貌的高级应用类
  16. macOs 静默安装dmg文件
  17. 压力面试问题——当你和好友,同一天同一家公司面试同一个岗位,你更希望谁入选?3种回答方式解析|智测优聘总结
  18. 形式逻辑(05)假言判断 和 推理
  19. 全/半角转换,间繁体转换
  20. 机器学习-知识点总结

热门文章

  1. 稻盛和夫:我管理的秘诀就是12条准则
  2. python给ppt表格加边框_向ppt里插入图片和表格
  3. 占内存最小的浏览器:360安全浏览器超速版推荐
  4. 黑盒白盒软件测试报告,黑盒白盒测试报告结果_白盒测试黑盒测试方法_软件黑盒和白盒测试...
  5. RESTFUL API 安全设计指南
  6. 如何将ipad大文件传输到window PC
  7. 怎么生成一个永久性的二维码?微信群二维码如何长期有效?
  8. linux zip加压到文件夹,Linux下zip压缩和unzip解压缩命令全解
  9. 中国知网论文免费下载的4个方法分享
  10. 4月上旬国内域名商净增量Top10:联动天下跻身第10