Docker实现ElasticSearch集群搭建
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集群搭建相关推荐
- docker 完成 redis集群搭建
[Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...
- Docker下ETCD集群搭建
Docker下ETCD集群搭建 https://www.cnblogs.com/eagle6688/p/8287907.html 搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好D ...
- elasticsearch集群搭建及springboot集成使用
elasticsearch集群搭建及springboot集成使用 1. ES介绍 2. 原理 2.1 核心概念 2.2 索引功能 2.3 ES特性 3. 分词器(analyzer) 4. 集群搭建 4 ...
- elasticsearch集群搭建记录
elasticsearch集群搭建记录 一.集群服务器配置信息 二.安装 JDK 三.下载 ElasticSearch 安装包和中文分词器并解压 四.创建用于存放数据与日志的目录 五.集群配置 5.1 ...
- elasticsearch 集群搭建 + kibana配置
elasticsearch 集群搭建 + kibana配置 一.elasticsearch 集群搭建 1.下载并解压elasticsearch 2.ES集群搭建 2.1 打开防火墙9200,9300端 ...
- 基于docker的storm集群搭建
基于docker的storm集群搭建 一.创建docker容器 1.创建storm的局域网 2.创建主节点的容器 3.创建从节点容器 4.配置hosts文件 二.搭建zookeeper集群 1.配置j ...
- 【大数据实战】Docker中Hadoop集群搭建
目录 Docker中Hadoop集群搭建 环境 网络设置 安装docker 安装OpenSSH免密登录 Ansible安装 软件环境配置 配置hadoop运行所需配置文件 Hadoop 启动 问题 D ...
- Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本)
Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本) 0 安装前准备工作 0.1 安装包下载 组件 安装包 下载地址 es elasticsearch-8 ...
- (六)elasticsearch 集群 网络超时解决方案 --- Elasticsearch 集群搭建
上一篇: (五)elasticsearch 集群扩展 --- Elasticsearch 集群搭建 因为网络原因,可能会有节点被踢出集群,如果网络恢复,节点会再次加入集群,但是这中间的过程是比较耗费性 ...
- 快速搞懂Docker部署ElasticSearch集群
前言 为什么要用ElasticSearch?我们的应用经常需要添加检索功能,开源的Elastic Search是目前全文检索引擎的首选.它可以快速的存储.搜索和分析海量数据.ElasticSearch ...
最新文章
- 怎样做网络推广浅谈如何更高效的提升关键词排名?你还不知道?
- Ubuntu12.04安装jdk1.6.0
- 基于oracle 的PL/SQL编程 -变量使用
- CRF++命名实体识别(NER)初步试探
- Linux设备模型组件-类设备-设备类及subsystem
- 复制 和 粘帖 的方法(特别在linux中),备忘
- oc51--循环retain
- Mac中使用LaTeX的中文字体出现Package fontspec Error: The font “宋体“ cannot be found.解决方案
- SQL server USE GO语句学习总结
- 2019mysql安装_2019mysql安装过程
- 【渝粤教育】国家开放大学2018年春季 0688-22T老年精神障碍护理 参考试题
- 怎么把多个音频合并成一个音频?
- 常见笔顺错误的字_有哪些常见笔顺错误?
- 热插拔48块硬盘服务器,24块前置热插拔硬盘设计
- Flash:一个TLF图文并貌的高级应用类
- macOs 静默安装dmg文件
- 压力面试问题——当你和好友,同一天同一家公司面试同一个岗位,你更希望谁入选?3种回答方式解析|智测优聘总结
- 形式逻辑(05)假言判断 和 推理
- 全/半角转换,间繁体转换
- 机器学习-知识点总结
热门文章
- 稻盛和夫:我管理的秘诀就是12条准则
- python给ppt表格加边框_向ppt里插入图片和表格
- 占内存最小的浏览器:360安全浏览器超速版推荐
- 黑盒白盒软件测试报告,黑盒白盒测试报告结果_白盒测试黑盒测试方法_软件黑盒和白盒测试...
- RESTFUL API 安全设计指南
- 如何将ipad大文件传输到window PC
- 怎么生成一个永久性的二维码?微信群二维码如何长期有效?
- linux zip加压到文件夹,Linux下zip压缩和unzip解压缩命令全解
- 中国知网论文免费下载的4个方法分享
- 4月上旬国内域名商净增量Top10:联动天下跻身第10