Elasticsearch使用系列-Docker搭建Elasticsearch集群
Elasticsearch使用系列-ES增删查改基本操作+ik分词
Elasticsearch使用系列-基本查询和聚合查询+sql插件
Elasticsearch使用系列-.NET6对接Elasticsearch
Elasticsearch使用系列-Docker搭建Elasticsearch集群
一、系统环境准备
这里准备三台机器,系统均为CentOS7.9:172.16.2.84,172.16.2.85,172.16.2.86
1.调高jvm线程数限制
#修改sysctl.conf
vi /etc/sysctl.conf #修改max_map_count调大,如果没有这个设置,则新增一行
vm.max_map_count=262144 #改完保存后, 执行下面命令让sysctl.conf文件生效
sysctl -p
2.安装docker环境
参照:https://www.cnblogs.com/wei325/p/15139701.html
二、docker挂载方式搭建集群
1.配置文件
es1配置文件 elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
# 配置es的集群名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群
cluster.name: elasticsearch
# 节点名称
node.name: node-1
# 指定该节点是否有资格被选举成为node
node.master: true
# 指定初始主节点
cluster.initial_master_nodes: ["172.16.2.84:9300"]
# 指定该节点是否存储索引数据,默认为true
node.data: true
# 设置绑定的ip地址还有其他节点和该节点交换的ip地址,本机ip
network.host: 0.0.0.0
network.publish_host: 172.16.2.84
# 指定http端口
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["172.16.2.84:9300","172.16.2.84:9300","172.16.2.85:9300"]
# 如果要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
es2配置文件 elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
# 配置es的集群名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群
cluster.name: elasticsearch
# 节点名称
node.name: node-2
# 指定该节点是否有资格被选举成为node
node.master: true
# 指定初始主节点
cluster.initial_master_nodes: ["172.16.2.84:9300"]
# 指定该节点是否存储索引数据,默认为true
node.data: true
# 设置绑定的ip地址还有其他节点和该节点交换的ip地址,本机ip
network.host: 0.0.0.0
network.publish_host: 172.16.2.85
# 指定http端口
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["172.16.2.84:9300","172.16.2.85:9300","172.16.2.85:9300"]
# 如果要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
es3配置文件 elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
# 配置es的集群名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群
cluster.name: elasticsearch
# 节点名称
node.name: node-3
# 指定该节点是否有资格被选举成为node
node.master: true
# 指定初始主节点
cluster.initial_master_nodes: ["172.16.2.84:9300"]
# 指定该节点是否存储索引数据,默认为true
node.data: true
# 设置绑定的ip地址还有其他节点和该节点交换的ip地址,本机ip
network.host: 0.0.0.0
network.publish_host: 172.16.2.86
# 指定http端口
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["172.16.2.84:9300","172.16.2.84:9300","172.16.2.86:9300"]
# 如果要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
注意:配置冒号后面都有一个空格
2.创建挂载目录
为了防止容器删掉数据丢失,需要进行数据文件挂载
#创建es配置目录
mkdir /home/es/config -p
#创建es数据目录
mkdir /home/es/data
#创建es插件目录
mkdir /home/es/plugins
#授权目录
chmod -R 777 /home/es
然后把上面的elasticsearch.yml配置文件分别放到三台机器的 /home/es/config目录下
3.docker启动命令
三台机器分别启动执行命令
1.拉取镜像
#拉取es镜像,指定版本
docker pull elasticsearch:7.16.3
2.启动es
3台机器分别执行以下命令,注意,先启动主节点,这里是172.16.2.84机器。
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d --name es7.16.3 -p 9200:9200 -p 9300:9300 -v /home/es/data:/usr/share/elasticsearch/data -v /home/es/plugins:/usr/share/elasticsearch/plugins -v /home/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.16.3
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" 因为测试机器,把内存设为256m
-d 后台运行
--name 给启动的容器起名称
-p 9200:9200 -p 9300:9300 映射docker的端口,9200是http的端口,9300是内部通讯的端口
-v 目录挂载
elasticsearch:7.16.3 es镜像名称,用这个镜像启动为容器
集群搭建完成!
三、es head插件查看集群状态
kibana也能查看es的集群状态,但是没那么直观,这里安装head浏览器插件查看
1.打开连接
谷歌浏览器访问:http://extb.cqttech.com/search/elasticsearch%2520head
根据提示下载安装谷歌双核浏览器
下面的位置打开使用
输入集群中任意一个es地址都可以
Elasticsearch使用系列-Docker搭建Elasticsearch集群的更多相关文章
- Docker 搭建 etcd 集群
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...
- Docker搭建PXC集群
如何创建MySQL的PXC集群 下载PXC集群镜像文件 下载 docker pull percona/percona-xtradb-cluster 重命名 [root@hongshaorou ~]# ...
- Docker搭建RabbitMQ集群
Docker搭建RabbitMQ集群 Docker安装 见官网 RabbitMQ镜像下载及配置 见此博文 集群搭建 首先,我们需要启动运行RabbitMQ docker run -d --hostna ...
- docker搭建etcd集群环境
其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群. 1.拉取etcd镜像 docker pull quay ...
- docker 搭建zookeeper集群和kafka集群
docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之 ...
- 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)
上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...
- 使用Docker搭建Hadoop集群(伪分布式与完全分布式)
之前用虚拟机搭建Hadoop集群(包括伪分布式和完全分布式:Hadoop之伪分布式安装),但是这样太消耗资源了,自学了Docker也来操练一把,用Docker来构建Hadoop集群,这里搭建的Hado ...
- 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现
庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介 在第七篇文章<庐山真面目之七微服务架构Consul ...
- 通过docker搭建ELK集群
单机ELK,另外两台服务器分别有一个elasticsearch节点,这样形成一个3节点的ES集群. 可以先尝试单独搭建es集群或单机ELK https://www.cnblogs.com/lz0925 ...
随机推荐
- [ unittest ] 文档粗读
参考: https://blog.csdn.net/ljl6158999/article/details/80994979 1.概念提出 unittest最初灵感来自于Junit,它有着和其他单元测试 ...
- Win10+Java7环境配置
原文链接: https://www.toutiao.com/i6487838676326810125/ 安装包: jdk-7u79-windows-x64-20151024 打开安装目录 双击运行程序 ...
- POJ3090Visible Lattice Points
http://poj.org/problem?id=3090 对于此题,观测点的数目,从小规模开始观察,可以得到每一个点,由一根无限长的绳子,绕着原点旋转,得到的第一个点.换另外一个思路,每一个观察到 ...
- 移动端position:fixed 解决方案
相信不少人做移动端项目的时候都会遇到position:fixed 的坑. 下面提供一个解决方法,不用引入任何其他的js库,纯css解决. 解决问题的关键就是:fixed元素内部必须嵌套一个positi ...
- GitHub 公布 2021 Top 10 博文「GitHub 热点速览」
作者:HelloGitHub-小鱼干 2021 年在这周彻底同我们告别了,在本周的「News 快读」模块你可以看到过去一年 GitHub 的热门文章,其中有我们熟悉的可能让很多程序员"失业& ...
- linux开放端口关闭防火墙
linux开放端口关闭防火墙 systemctl status firewalld查看当前防火墙状态. 开启防火墙 systemctl start firewalld开放指定端口 ...
- 在KALI以外的Linux上安装KALI上的工具(ubuntu,debian)
添加KALI源 vim /etc/apt/sources.list 在sources.list中加入 deb http://http.kali.org/kali kali-rolling main c ...
- leetcode 1218. 最长定差子序列
问题描述 给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等差子序列的长度. 示例 ...
- 系统信号SIGHUP、SIGQUIT、SIGTERM、SIGINT的场景
SIGHUP:hong up 挂断.本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联.登录Linux时 ...
- 集合框架-工具类-Arrays方法介绍
1 package cn.itcast.p3.toolclass.arrays.demo; 2 3 import java.util.Arrays; 4 5 public class ArraysDe ...