ES升级--01--环境准备和安装
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- Linux 单机
- 1.官网下载 Elasticsearch
- https://www.elastic.co/cn/downloads/past-releases/#elasticsearch
- 2.解压软件
- 3.创建用户
- 设置用户 es 密码 es
- 赋权ES用户
- 数据日志文件夹所有者
- 4.修改配置文件
- 4.1 修改/opt/soft/elasticsearch-6.8.23/config/elasticsearch.yml 文件
- 版本7.0 以上
- ==版本 6.8.23==
- 4.2 修改 /etc/security/limits.conf
- 4.3 修改/etc/security/limits.d/20-nproc.conf
- 4.4 修改/etc/sysctl.conf
- 4.5 修改 /opt/es/elasticsearch-6.8.3/config 下文件 jvm.options
- 5.启动软件
- 关闭防火墙
- 6.测试
- http://192.168.6.101:9200/
- http://192.168.6.101:9200/_cat/indices?v
- 开启密码访问
- 1.配置elasticsearch.yml
- 2.在 config 下生成 elastic-certificates.p12 文件
- 如果有证书密码
- 证书文件elastic-certificates.p12需拷贝到所有ES节点对应的conf目录下;
- 3.重启ElasticSearch服务,3台服务器都需要执行:
- 4.配置对外访问的用户名/密码(自动或手工)
- 5.测试
- 关闭防火墙
- 账号elastic ,密码刚输入的6位密码
Linux 单机
1.官网下载 Elasticsearch
https://www.elastic.co/cn/downloads/past-releases/#elasticsearch
2.解压软件
tar -zxvf elasticsearch-6.8.23.tar.gz -C /opt/soft/
3.创建用户
因为安全问题,Elasticsearch 不允许 root 用户直接运行,所以要创建新用户,在 root 用户中创建新用户
useradd es #新增 es 用户
passwd es #为 es 用户设置密码
userdel -r es #如果错了,可以删除再加
设置用户 es 密码 es
赋权ES用户
chown -R es:root /opt/soft/elasticsearch-6.8.23/ #文件夹所有者
###创建es数据目录 并且赋权
mkdir -p /home/data/elastic-6.8.23
mkdir /home/data/elastic-6.8.23/data
mkdir /home/data/elastic-6.8.23/logs
mkdir /home/data/elastic-6.8.23/es_bak
数据日志文件夹所有者
chown -R es:root /home/data/elastic-6.8.23
4.修改配置文件
4.1 修改/opt/soft/elasticsearch-6.8.23/config/elasticsearch.yml 文件
版本7.0 以上
# 加入如下配置
cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
版本 6.8.23
# ---------------------------------- 6.8.23 -----------------------------------
#集群名称: my-application
cluster.name: gz-java-test-laas
#当前节点名称 node-1
node.name: master-test-laas
#允许当前节点作为master主节点
node.master: true#配置0.0.0.0允许其他地址访问
network.host: 0.0.0.0
#对外访问端口
http.port: 9200
transport.tcp.port: 9300#集群的所有节点的IP地址
#discovery.zen.ping.unicast.hosts: ["172.16.1.21", "172.16.1.22", "172.16.1.23"] #设置最小主节点个数,一般为:(master_node_count+1)/2
discovery.zen.minimum_master_nodes: 1
#集群节点发现超时时间
#discovery.zen.ping_timeout: 3s # 设置zen发现范围(只需要填写主节点的 ip 即可)
discovery.zen.ping.unicast.hosts: ["192.168.2.89"]
discovery.zen.no_master_block: write
discovery.zen.fd.ping_timeout: 10sreindex.remote.whitelist: "192.168.2.89:9200"# 设置跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.max_content_length: 500mb# 设置数据路径
path.data: /home/data/elastic-6.8.23/data
# 设置日志路径
path.logs: /home/data/elastic-6.8.23/logs
# 设置备份路径
path.repo: ["/home/data/elastic-6.8.23/es_bak"]# 设置内存锁定
#bootstrap.memory_lock: true
#bootstrap.system_call_filter: false# 当磁盘的使用率超过95%时,Elasticsearch为了防止节点耗尽磁盘空间,自动将索引设置为只读模式
cluster.routing.allocation.disk.watermark.flood_stage: 90%
cluster.routing.allocation.disk.threshold_enabled: false#以下配置用于设置密码访问ES集群,如不需要可以不用
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
4.2 修改 /etc/security/limits.conf
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
elasticsearch soft nofile 65535
elasticsearch hard nofile 65535
4.3 修改/etc/security/limits.d/20-nproc.conf
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称elasticsearch soft nofile 65535
elasticsearch hard nofile 65535
4.4 修改/etc/sysctl.conf
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
fs.file-max=65535
重新加载生效
sysctl -p
4.5 修改 /opt/es/elasticsearch-6.8.3/config 下文件 jvm.options
- 内存设置大一点
## JVM configuration################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space-Xms10g
-Xmx10g################################################################
## Expert settings
################################################################
##
## All settings below this section are considered
## expert settings. Don't tamper with them unless
## you understand what you are doing
##
################################################################## GC configuration
#-XX:+UseConcMarkSweepGC
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseG1GC## optimizations# pre-touch memory pages used by the JVM during initialization
-XX:+AlwaysPreTouch## basic# explicitly set the stack size
-Xss1m# set to headless, just in case
-Djava.awt.headless=true# ensure UTF-8 encoding by default (e.g. filenames)
-Dfile.encoding=UTF-8# use our provided JNA always versus the system one
-Djna.nosys=true# turn off a JDK optimization that throws away stack traces for common
# exceptions because stack traces are important for debugging
-XX:-OmitStackTraceInFastThrow# flags to configure Netty
-Dio.netty.noUnsafe=true
-Dio.netty.noKeySetOptimization=true
-Dio.netty.recycler.maxCapacityPerThread=0# log4j 2
-Dlog4j.shutdownHookEnabled=false
-Dlog4j2.disable.jmx=true
#-Dlog4j2.formatMsgNoLookups=true-Djava.io.tmpdir=${ES_TMPDIR}## heap dumps# generate a heap dump when an allocation from the Java heap fails
# heap dumps are created in the working directory of the JVM
-XX:+HeapDumpOnOutOfMemoryError# specify an alternative path for heap dumps; ensure the directory exists and
# has sufficient space
-XX:HeapDumpPath=data# specify an alternative path for JVM fatal error logs
-XX:ErrorFile=logs/hs_err_pid%p.log## JDK 8 GC logging8:-XX:+PrintGCDetails
8:-XX:+PrintGCDateStamps
8:-XX:+PrintTenuringDistribution
8:-XX:+PrintGCApplicationStoppedTime
8:-Xloggc:logs/gc.log
8:-XX:+UseGCLogFileRotation
8:-XX:NumberOfGCLogFiles=32
8:-XX:GCLogFileSize=64m# JDK 9+ GC logging
9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m
# due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise
# time/date parsing will break in an incompatible way for some date patterns and locals
9-:-Djava.locale.providers=COMPAT# temporary workaround for C2 bug with JDK 10 on hardware with AVX-512
10-:-XX:UseAVX=2
5.启动软件
使用 ES 用户启动
cd /opt/es/
#启动
bin/elasticsearch
#后台启动
bin/elasticsearch -d
启动时,会动态生成文件
bin/elasticsearch
报错 启动时,会动态生成文件,如果文件所属用户不匹配,会发生错误,需要重新进行修改用户和用户组
root 用户 再附权一下
chown -R es:es /opt/soft/elasticsearch-6.8.23/
关闭防火墙
#暂时关闭防火墙
systemctl stop firewalld
#永久关闭防火墙
systemctl enable firewalld.service #打开放货抢永久性生效,重启后不会复原
systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原
切换用户 ess
su es
#启动
bin/elasticsearch
6.测试
如果配置没生效 可以重启
sudo reboot
http://192.168.6.101:9200/
http://192.168.6.101:9200/_cat/indices?v
开启密码访问
1.配置elasticsearch.yml
vim /data/elasticsearch-6.8.23/config/elasticsearch.yml
#以下配置用于设置密码访问ES集群,如不需要可以不用
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
2.在 config 下生成 elastic-certificates.p12 文件
cd /opt/soft/elasticsearch-6.8.23bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
如果有证书密码
命令
elasticsearch-certutil cert -out elastic-certificates.p12 -pass "证书密码"
如果有证书密码,配置证书密码
elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
证书文件elastic-certificates.p12需拷贝到所有ES节点对应的conf目录下;
3.重启ElasticSearch服务,3台服务器都需要执行:
jps #查询ES服务进程号
kill -9 xxx #杀掉ES进程,关闭服务chown -R es:es /opt/soft/elasticsearch-6.8.23 cd /data/elasticsearch-6.8.10/bin
./elasticsearch -d #启动服务
4.配置对外访问的用户名/密码(自动或手工)
#自动设置密码
elasticsearch-setup-passwords auto#手动设置密码
bin/elasticsearch-setup-passwords interactive
随后按照提示依次输入 以下这6个用户的密码,完成后数据会自动同步至其他2个节点。
- elastic
- apm_system
- kibana、
- logstash_system、
- beats_system、
- remote_monitoring_user
5.测试
关闭防火墙
#暂时关闭防火墙
systemctl stop firewalld
#永久关闭防火墙
systemctl enable firewalld.service #打开放货抢永久性生效,重启后不会复原
systemctl disable firewalld.service #关闭防火墙,永久性生效,重启后不会复原
http://192.168.2.89:9200/
http://192.168.2.89:9200/_cat/indices?v
账号elastic ,密码刚输入的6位密码
相关文章:

ES升级--01--环境准备和安装
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Linux 单机1.官网下载 Elasticsearchhttps://www.elastic.co/cn/downloads/past-releases/#elasticsearch 2.解压软件3.创建用户设置用户 es 密码 es赋权ES用户数据…...

Linux 防火墙 firewalld 常用命令
1 防火墙 - firewalld 1.1 开启防火墙 # 临时性开启,服务器重启后会恢复为原来的状态 systemctl start firewalld # 永久性开启(即开机启动),重启服务器后生效 systemctl enable firewalld1.2 关闭防火墙 # 临时性关闭…...

时间|基于SprinBoot+vue的时间管理系统(源码+数据库+文档)
时间管理系统 目录 基于SprinBootvue的时间管理系统 一、前言 二、系统设计 三、系统功能设计 1管理员功能模块 2用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农…...

C++青少年简明教程:for循环语句
C青少年简明教程:for循环语句 C的for循环语句是一种迭代控制语句,用于重复执行一段代码。 语法格式: for(表达式1;表达式2;表达式3) 循环体 for循环语句执行流程图: 不太好理解,请看下图&am…...

自动驾驶技术现状与需求分析
随着科技的不断进步和智能化浪潮的席卷,自动驾驶技术已成为当今交通领域的热点话题。本文旨在深入探讨自动驾驶技术的当前发展状况,并对其未来的市场需求进行细致分析。首先,我们将回顾自动驾驶技术的起源、发展历程以及当前的技术水平&#…...
SQL生成自然数,日历序列 浅析
01.sqlserver版本 使用sqlserver将数据复制n条 selectt.indx,t.name,tmp.vlue from (values(1,苹果) ) as t(indx, name) ,(select[number] as vluefrom master.dbo.spt_valueswhere [type] pand [number] between 1 and 10 ) as tmpspt_values是什么 spt_values是SQL Se…...

【数据结构(邓俊辉)学习笔记】二叉树04——Huffman树
文章目录 0. 概述1. 无前缀冲突编码2. 编码成本3. 带权编码成本4. 编码算法5. 算法实现流程6. 时间复杂度与改进方案 0. 概述 学习Huffman树。 1. 无前缀冲突编码 在加载到信道上之前,信息被转换为二进制形式的过程称作编码(encoding)&…...

arcgisPro将一个图层的要素复制到另一个图层
1、打开两个图层,如下,其中一个图层中有两个要素,需要将其中一个要素复制到另一个图层中,展示如下: 2、选中待复制要素,点击复制按钮,如下: 3、下拉粘贴按钮列表,选择【选…...
难兄难弟——Java中 goto 与 const关键字
目录 简洁版: 详解版: 一:goto 二:const 简洁版: 1: 在Java中,goto也是一个关键字,但是取消了goto的使用,使用循环标记进行代替; 2:在Java中&a…...
如何优化大文件读取时的性能
1、分块读取 1、不要一次性将整个文件加载到内存中,而是将其分割成多个较小的块(例如,每块1MB或更大),然后逐块读取和处理。 2、使用FileInputStream和BufferedInputStream来分块读取文件。 2、使用缓冲区 1、使用…...

【机器学习】Chameleon多模态模型探究
Chameleon:引领多模态模型的新时代 一、多模态模型的时代背景二、Chameleon模型的介绍三、Chameleon模型的技术特点四、Chameleon模型的性能评估五、Chameleon模型的代码实例 随着人工智能技术的深入发展,我们逐渐认识到单一模态的模型在处理复杂问题时存…...
cv2.imdecode 和 cv2.imread 的区别
cv2.imdecode 和 cv2.imread 都是 OpenCV 用于读取图像的函数,但它们用于不同的场景,处理方式也不同。 cv2.imread 用法: img cv2.imread(image_path)功能: cv2.imread 用于直接从文件系统中读取图像文件。image_path 是图像文件…...

Android数据缓存框架 - 内存数据载体从LiveData到StateFlow
引言:所有成功者的背后,都有一份艰苦的历程,不要只看到了人前的风光,而低估了他们背后所付出的努力。 随着flow到流行度越来越高,有开发者呼吁我使用flow,于是我就如你们所愿,新增了StateFlow作…...
多态的好处
使用多态(Polymorphism)在C中有多个重要的原因,这些原因使得多态成为面向对象编程中不可或缺的一部分。以下是使用多态的一些关键原因: 代码复用和灵活性: 多态允许我们编写可以处理多种类型对象的通用代码。通过使用…...
Java基础语法---Stringjoiner
Stringjoiner 使用需要加入 import java.util.StringJoiner 构造方法: StringJoiner(CharSequence delimiter) 创建一个 StringJoiner 实例,使用指定的分隔符,前缀和后缀默认为空字符串。 StringJoiner(CharSequence delimiter, CharSequence prefix, C…...

大模型中的Tokenizer
在使用GPT 、BERT模型输入词语常常会先进行tokenize 。 tokenize的目标是把输入的文本流,切分成一个个子串,每个子串相对有完整的语义,便于学习embedding表达和后续模型的使用。 一、粒度 三种粒度:word/subword/char word词&a…...

Filebeat进阶指南:核心架构与功能组件的深度剖析
🐇明明跟你说过:个人主页 🏅个人专栏:《洞察之眼:ELK监控与可视化》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是ELK 2、FileBeat在ELK中的角色 二、Fil…...
深度神经网络
深度神经网络(Deep Neural Networks,DNNs)是机器学习领域中的一项关键技术,它基于人工神经网络的概念,通过构建多层结构来模拟人脑的学习过程。以下是关于深度神经网络的清晰回答: 一、定义与特点 深度神…...
c++【入门】你多大了
时间限制 : 1 秒 内存限制 : 128 MB 一天玩仔跑来问周周你多大了,周周告诉他自己 1010 岁了,玩仔又说自己也是,你听到了这个对话,想用程序显示出两个人的对话内容,现在就来试一试吧。 输入 无 输出 输出三行&…...

地质考察AR远程交互展示系统辅助老师日常授课
广东这片充满活力的土地,孕育了一家引领ARVR科技潮流的杰出企业——深圳华锐视点,作为一家专注于VR/AR技术研究与业务开发的先锋公司。多年来,我们不断突破技术壁垒,将AR增强现实技术与各行各业的实际需求完美结合,助力…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...