Docker 搭建elasticsearch 7.6.x集群
Docker 搭建elasticsearch 7.6.x集群
文章目录
- 拉取镜像
- 设置Elasticsearch挂载目录
- 编写elasticsearch.yml配置文件
- node-1
- node-2
- node-3
- 创建镜像
- 验证是否搭建成功
- 问题
- max virtual memory areas vm.max_map_count [65530] is too low, increase to at least
- 参考
拉取镜像
docker pull elasticsearch:7.6.0
设置Elasticsearch挂载目录
#存放配置文件的文件夹
mkdir -p /home/elasticsearch/node-1/config
mkdir -p /home/elasticsearch/node-2/config
mkdir -p /home/elasticsearch/node-3/config
#存放数据的文件夹
mkdir -p /home/elasticsearch/node-1/data
mkdir -p /home/elasticsearch/node-2/data
mkdir -p /home/elasticsearch/node-3/data
#存放运行日志的文件夹
mkdir -p /home/elasticsearch/node-1/log
mkdir -p /home/elasticsearch/node-2/log
mkdir -p /home/elasticsearch/node-3/log
#存放IK分词插件的文件夹
mkdir -p /home/elasticsearch/node-1/plugins
mkdir -p /home/elasticsearch/node-2/plugins
mkdir -p /home/elasticsearch/node-3/plugins
chmod 777 /home/elasticsearch/node-1/data
chmod 777 /home/elasticsearch/node-2/data
chmod 777 /home/elasticsearch/node-3/data
chmod 777 /home/elasticsearch/node-1/plugins
chmod 777 /home/elasticsearch/node-2/plugins
chmod 777 /home/elasticsearch/node-3/plugins
chmod 777 /home/elasticsearch/node-1/log
chmod 777 /home/elasticsearch/node-2/log
chmod 777 /home/elasticsearch/node-3/log
chmod 777 /home/elasticsearch/node-1/config
chmod 777 /home/elasticsearch/node-3/config
chmod 777 /home/elasticsearch/node-2/config
生成目录结构
.
├── node-1
│ ├── config
│ │ └── elasticsearch.yml
│ ├── data
│ │ └── nodes
│ │ └── 0
│ │ ├── node.lock
│ │ └── _state
│ │ ├── manifest-3.st
│ │ ├── node-3.st
│ │ ├── _o.cfe
│ │ ├── _o.cfs
│ │ ├── _o.si
│ │ ├── segments_11
│ │ └── write.lock
│ ├── log
│ └── plugins
├── node-2
│ ├── config
│ │ └── elasticsearch.yml
│ ├── data
│ │ └── nodes
│ │ └── 0
│ │ ├── node.lock
│ │ └── _state
│ │ ├── manifest-4.st
│ │ ├── node-4.st
│ │ ├── _r.cfe
│ │ ├── _r.cfs
│ │ ├── _r.si
│ │ ├── segments_11
│ │ └── write.lock
│ ├── log
│ └── plugins
└── node-3├── config│ └── elasticsearch.yml├── data│ └── nodes│ └── 0│ ├── node.lock│ └── _state│ ├── manifest-1.st│ ├── _n.cfe│ ├── _n.cfs│ ├── node-1.st│ ├── _n.si│ ├── segments_11│ └── write.lock├── log└── plugins
编写elasticsearch.yml配置文件
node-1
#集群名称
cluster.name: my-es
#当前该节点的名称
node.name: node-1
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#给当前节点自定义属性(可以省略)
#node.attr.rack: r1
#数据存档位置
path.data: /usr/share/elasticsearch/data
#日志存放位置
path.logs: /usr/share/elasticsearch/log
#是否开启时锁定内存(默认为是)
#bootstrap.memory_lock: true
#设置网关地址,我是被这个坑死了,这个地址我原先填写了自己的实际物理IP地址,
#然后启动一直报无效的IP地址,无法注入9300端口,这里只需要填写0.0.0.0
network.host: 0.0.0.0
#设置其它结点和该结点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址,设置当前物理机地址,
#如果是docker安装节点的IP将会是配置的IP而不是docker网管ip
network.publish_host: 192.168.52.128
#设置映射端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#集群发现默认值为127.0.0.1:9300,如果要在其他主机上形成包含节点的群集,如果搭建集群则需要填写
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点,也就是说把所有的节点都写上
discovery.seed_hosts: ["192.168.52.128:9300","192.168.52.128:9301","192.168.52.128:9302"]
#当你在搭建集群的时候,选出合格的节点集群,有些人说的太官方了,
#其实就是,让你选择比较好的几个节点,在你节点启动时,在这些节点中选一个做领导者,
#如果你不设置呢,elasticsearch就会自己选举,这里我们把三个节点都写上
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#在群集完全重新启动后阻止初始恢复,直到启动N个节点
#简单点说在集群启动后,至少复活多少个节点以上,那么这个服务才可以被使用,否则不可以被使用,
gateway.recover_after_nodes: 2
#删除索引是是否需要显示其名称,默认为显示
#action.destructive_requires_name: true
node-2
#集群名称
cluster.name: my-es
#当前该节点的名称
node.name: node-2
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#给当前节点自定义属性(可以省略)
#node.attr.rack: r1
#数据存档位置
path.data: /usr/share/elasticsearch/data
#日志存放位置
path.logs: /usr/share/elasticsearch/log
#是否开启时锁定内存(默认为是)
#bootstrap.memory_lock: true
#设置网关地址,我是被这个坑死了,这个地址我原先填写了自己的实际物理IP地址,
#然后启动一直报无效的IP地址,无法注入9300端口,这里只需要填写0.0.0.0
network.host: 0.0.0.0
#设置其它结点和该结点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址,设置当前物理机地址,
#如果是docker安装节点的IP将会是配置的IP而不是docker网管ip
network.publish_host: 192.168.52.128
#设置映射端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9301
#集群发现默认值为127.0.0.1:9300,如果要在其他主机上形成包含节点的群集,如果搭建集群则需要填写
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点,也就是说把所有的节点都写上
discovery.seed_hosts: ["192.168.52.128:9300","192.168.52.128:9301","192.168.52.128:9302"]
#当你在搭建集群的时候,选出合格的节点集群,有些人说的太官方了,
#其实就是,让你选择比较好的几个节点,在你节点启动时,在这些节点中选一个做领导者,
#如果你不设置呢,elasticsearch就会自己选举,这里我们把三个节点都写上
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#在群集完全重新启动后阻止初始恢复,直到启动N个节点
#简单点说在集群启动后,至少复活多少个节点以上,那么这个服务才可以被使用,否则不可以被使用,
gateway.recover_after_nodes: 2
#删除索引是是否需要显示其名称,默认为显示
#action.destructive_requires_name: true
node-3
#集群名称
cluster.name: my-es
#当前该节点的名称
node.name: node-3
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#给当前节点自定义属性(可以省略)
#node.attr.rack: r1
#数据存档位置
path.data: /usr/share/elasticsearch/data
#日志存放位置
path.logs: /usr/share/elasticsearch/log
#是否开启时锁定内存(默认为是)
#bootstrap.memory_lock: true
#设置网关地址,我是被这个坑死了,这个地址我原先填写了自己的实际物理IP地址,
#然后启动一直报无效的IP地址,无法注入9300端口,这里只需要填写0.0.0.0
network.host: 0.0.0.0
#设置其它结点和该结点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址,设置当前物理机地址,
#如果是docker安装节点的IP将会是配置的IP而不是docker网管ip
network.publish_host: 192.168.52.128
#设置映射端口
http.port: 9202
#内部节点之间沟通端口
transport.tcp.port: 9302
#集群发现默认值为127.0.0.1:9300,如果要在其他主机上形成包含节点的群集,如果搭建集群则需要填写
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点,也就是说把所有的节点都写上
discovery.seed_hosts: ["192.168.52.128:9300","192.168.52.128:9301","192.168.52.128:9302"]
#当你在搭建集群的时候,选出合格的节点集群,有些人说的太官方了,
#其实就是,让你选择比较好的几个节点,在你节点启动时,在这些节点中选一个做领导者,
#如果你不设置呢,elasticsearch就会自己选举,这里我们把三个节点都写上
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#在群集完全重新启动后阻止初始恢复,直到启动N个节点
#简单点说在集群启动后,至少复活多少个节点以上,那么这个服务才可以被使用,否则不可以被使用,
gateway.recover_after_nodes: 2
#删除索引是是否需要显示其名称,默认为显示
#action.destructive_requires_name: true
创建镜像
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9200:9200 -p 9300:9300 -v /home/elasticsearch/node-1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/elasticsearch/node-1/plugins:/usr/share/elasticsearch/plugins -v /home/elasticsearch/node-1/data:/usr/share/elasticsearch/data -v /home/elasticsearch/node-1/log:/usr/share/elasticsearch/log --name es-node-1 elasticsearch:7.6.0
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9201:9201 -p 9301:9301 -v /home/elasticsearch/node-2/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/elasticsearch/node-2/plugins:/usr/share/elasticsearch/plugins -v /home/elasticsearch/node-2/data:/usr/share/elasticsearch/data -v /home/elasticsearch/node-2/log:/usr/share/elasticsearch/log --name es-node-2 elasticsearch:7.6.0
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9202:9202 -p 9302:9302 -v /home/elasticsearch/node-3/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/elasticsearch/node-3/plugins:/usr/share/elasticsearch/plugins -v /home/elasticsearch/node-3/data:/usr/share/elasticsearch/data/ -v /home/elasticsearch/node-3/log:/usr/share/elasticsearch/log --name es-node-3 elasticsearch:7.6.0
验证是否搭建成功
http://192.168.52.128:9200/_cat/nodes?pretty
问题
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least
vim /etc/sysctl.conf
vm.max_map_count=655360
#保存退出,并刷新系统配置
sysctl -p /etc/sysctl.conf/
参考
elasticsearch搭建
Docker 搭建elasticsearch 7.6.x集群相关推荐
- 使用Docker搭建高可用Mysql数据库集群
文章目录 前言 正文 选择哪一种搭建集群的方式 PXC Replication 安装docker Docker操作的基本命令 安装PXC集群 负载均衡 双机热备 具体实现细节 安装keepalived ...
- 基于Docker搭建Percona XtraDB Cluster数据库集群
本文实验的环境参数 阿里云ECS Centos7.5 Docker version 18.06.0-ce percona/percona-xtradb-cluster:5.7 Percona Xtra ...
- windows平台使用Docker搭建分布式Spark 与 hadoop集群
若不关心具体搭建过程,只想运行分布式集群,请直接前往3.2开始 (本人已上传镜像至服务器) 续前节 windows平台使用Docker搭建分布式hadoop集群 安装分布式Spark篇 1. 运行wi ...
- Docker搭建NSQ实时分布式消息集群
NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub.NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息,其设计目标是为在分布式环境下运行 ...
- 使用Docker搭建Elasticsearch集群环境
本篇文章首发于头条号单机如何搭建Elasticsearch集群?使用容器技术快速构建集群环境,欢迎关注头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_te ...
- 用Docker搭建Elasticsearch集群
用Docker搭建Elasticsearch集群 对于用Docker搭建分布式Elasticsearhc集群的一个介绍,以及一些实施中遇到问题的总结 搜索服务简述 结合业务的场景,在目前的商品体系需要 ...
- docker 添加端口映射_苟且偷生的程序猿没法摸鱼了,从docker搭建elasticsearch集群开始学习...
最近刚换了公司,然后公司刚好使用的docker.而本人作为一个石锤的搬砖员,之前只知道搬砖们,对于这些东西确实没学过.今天在本地使用docker搭建elasticsearch集群,记录下过程,而且el ...
- Docker搭建ElasticSearch集群
Docker搭建ElasticSearch集群 一.环境准备 Linux Verison(7.9) VMware(16) Docker(20.10.16) ElasticSearch(7.17.1) ...
- 搭建基于Docker社区版的Kubernetes本地集群
搭建基于Docker社区版的Kubernetes本地集群 原文:搭建基于Docker社区版的Kubernetes本地集群 Kubernetes的本地集群搭建是一件颇费苦心的活,网上有各种参考资源,由于 ...
最新文章
- Spring MVC 4
- Lightoj 1281 New Traffic System (记忆化Dijkstra)
- linux驱动内核,Linux内核设备驱动之Linux内核基础笔记整理
- 实用技巧:使用 jQuery 异步加载 JavaScript 脚本
- java框架ssm整合_SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
- Akka并发编程——第七节:Actor模型(六)
- bzoj 1670 [Usaco2006 Oct]Building the Moat护城河的挖掘——凸包
- PyTorch | 通过torch.arange创建等差数列张量 | torch.arange()如何使用?torch.arange()使用方法 torch.arange()举例说明
- 尴尬了!迪士尼官方声明:从未与VIPKID有任何层面的业务合作关系
- Android开发笔记(一百五十九)Android7.0的分屏模式
- php 多层 对象,php多层数组和对象的转换
- 代码行数统计工具,java,go,c++,html文件都适用
- 小程序的云服务器规格,小程序的云服务器规格
- c语言国二题库及答案2017,全国计算机二级《C语言》考试题库与答案
- TSL1.0升级到TSL1.2遇到的问题
- 使用多种AI算法玩方格迷宫——基于Value的RL算法 【开源】
- html设置闹钟提醒,设置闹钟标签.html
- 第五人格亚服服务器不稳定,【关于第五人格网络问题的部分原因及解决方法】...
- PHP防红接口,域名防红php源代码
- Ubuntu20.04 tcp调试工具mNetAssist安装