elasticsearch8.x版本docker部署说明

2024-01-28 08:12

本文主要是介绍elasticsearch8.x版本docker部署说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前提,当前部署没有涉及证书和https访问
1、环境说明,我采用三个节点,每个节点启动两个es,用端口区分

主机角色ip和端口
服务器Amaster192.168.2.223:9200
服务器Adata192.168.2.223:9201
服务器Bdata,master192.168.2.224:9200
服务器Bdata192.168.2.224:9201
服务器Cdata,master192.168.2.225:9200
服务器Cdata192.168.2.225:9201

2、三个节点都需要执行创建部署文件目录

#es1需要的文件目录
mkdir -p /mydata/es/node1/data
chmod 777  /mydata/es/node1/data
mkdir -p /mydata/es/node1/conf
chmod 777  /mydata/es/node1/conf
mkdir -p /mydata/es/node1/plugins
chmod 777  /mydata/es/node1/plugins
mkdir -p /mydata/es/node1/logs
chmod 777  /mydata/es/node1/logs
#es2需要的文件目录
mkdir -p /mydata/es/node2/data
chmod 777  /mydata/es/node2/data
mkdir -p /mydata/es/node2/conf
chmod 777  /mydata/es/node2/conf
mkdir -p /mydata/es/node2/plugins
chmod 777  /mydata/es/node2/plugins
mkdir -p /mydata/es/node2/logs
chmod 777  /mydata/es/node2/logs

2、服务器A编写es1的yml文件

cd /mydata/es/node1/conf
vi elasticsearch.yml
#输入以下内容cluster.name: elasticsearch-cluster
#节点名称
node.name: es-node1
#节点通信ip
network.bind_host: 0.0.0.0
#节点ip
network.publish_host: 192.168.2.223
#节点通信端口
http.port: 9200
transport.port: 9300
#跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
#节点角色
node.roles: [ master]
#和其他节点通信的ip端口
discovery.seed_hosts: ["192.168.2.223:9300","192.168.2.223:9301", "192.168.2.224:9300", "192.168.2.224:9301","192.168.2.225:9300","192.168.2.225:9301"]
#初始化master节点的配置,用于选举的mater节点ip,后续的节点不需要该配置
cluster.initial_master_nodes: [192.168.2.223,192.168.2.224,192.168.2.225]
#http配置
# Enable security features
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:enabled: false#keystore.path: certs/http.p12# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:enabled: false#verification_mode: certificate#keystore.path: certs/transport.p12#truststore.path: certs/transport.p12

保存退出
2、服务器A编写es2的yml文件

cd /mydata/es/node2/conf
vi elasticsearch.yml
#输入以下内容cluster.name: elasticsearch-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 192.168.2.223
http.port: 9201
transport.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.roles: [ data]
discovery.seed_hosts: ["192.168.2.223:9300","192.168.2.223:9301", "192.168.2.224:9300", "192.168.2.224:9301","192.168.2.225:9300","192.168.2.225:9301"]# Enable security features
xpack.security.enabled: false
xpack.security.enrollment.enabled: false# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:enabled: false#keystore.path: certs/http.p12# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:enabled: false#verification_mode: certificate#keystore.path: certs/transport.p12#truststore.path: certs/transport.p12

4、启动es1和es2

#设置yml文件权限,不然会报错
chmod 777  /mydata/es/node1/conf/*
chmod 777  /mydata/es/node2/conf/*
#启动
docker run --restart=always  -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /mydata/es/node1/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/es/node1/data:/usr/share/elasticsearch/data -v /mydata/es/node1/plugins:/usr/share/elasticsearch/plugins --name es01 elasticsearch:8.6.2docker run --restart=always  -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /mydata/es/node2/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/es/node2/data:/usr/share/elasticsearch/data -v /mydata/es/node2/plugins:/usr/share/elasticsearch/plugins --name es02 elasticsearch:8.6.2

5、服务器B和服务器C配置参考服务器A进行部署,需要调整的就是ip和端口就行

6、安装kibana

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://192.168.2.223:9200  \
-p 5601:5601  \
kibana:8.6.2

7、谷歌插件安装es-head,下载解压,拖到谷歌浏览器的插件上就好
百度云链接:https://pan.baidu.com/s/1V1tMlgPUQpcaKtqrFjGf2A
提取码:yzwf

8、验证,输入http://192.168.2.223:9200/_cat/nodes,生产环境需要自己去定义角色,自己去了解8.x的相关角色和架构,我这里就不解释了。
在这里插入图片描述
在这里插入图片描述
9、角色相关说明推荐博主博文链接
http://www.manongjc.com/detail/62-gdexfeqaydpetga.html

这篇关于elasticsearch8.x版本docker部署说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653019

相关文章

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar