当前位置: 首页 > news >正文

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 关闭防火墙 # 临时性关闭&#xf…...

时间|基于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增强现实技术与各行各业的实际需求完美结合,助力…...

容器是什么

什么是容器? 容器技术近年来在软件开发和部署中变得越来越重要,尤其是在云计算和微服务架构中。本文将详细介绍什么是容器、其工作原理、优势以及常见的容器技术。 容器的定义 容器是一种轻量级、可移植的虚拟化技术,它允许在一个主机操作…...

一分钟学习数据安全——数字身份的三种模式

微软首席身份架构师金卡梅隆曾说:互联网的构建缺少一个身份层。互联网的构建方式让你无法得知所连接的人和物是什么。这限制了我们对互联网的使用,并让我们面临越来越多的危险。如果我们坐视不管,将面临迅速激增的盗窃和欺诈事件,…...

WPF实现搜索文本高亮

WPF实现搜索文本高亮 1、使用自定义的TextBlock public class HighlightTextblock : TextBlock{public string DefaultText { get; set; }public string HiText{get { return (string)GetValue(HiTextProperty); }set { SetValue(HiTextProperty, value); }}// Using a Depend…...

Vue小程序项目知识积累(三)

1.CSS中的var( ) var() 函数用于插入自定义属性(也称为CSS变量)的值。 var(--main-bg-color,20rpx) 设置一个CSS变量的值,但是如果 --main-bg-color 变量不存在,它将默认返回 20rpx。 CSS变量必须在一个有效的CSS规则&#xf…...

React Native 之 像素比例(十七)

在 React Native 中,PixelRatio 是一个用于获取设备像素比(Pixel Ratio)的实用工具。像素比(或称为设备像素密度、DPI 密度等)是物理像素和设备独立像素(DIPs 或 DPs)之间的比率。设备独立像素是…...

Leetcode 112:路径总和

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 思路:遍历存储每条路径。当前节点为叶子节点时,求和。并判断是否等于目标…...

电源模块测试系统怎么测试输入电压范围?

在现代电子设备中,电源模块的性能直接影响着整个系统的稳定性和效率。其中,电源输入电压范围是指电源能够接受的输入电压的最小值和最大值,它是确保电源正常工作的重要参数。为了提高测试效率和精度,自动化的测试方法逐渐取代了传…...

实战指南:Vue 2基座 + Vue 3 + Vite + TypeScript微前端架构实现动态菜单与登录共享

实战指南:Vue 2基座 Vue 3 Vite TypeScript子应用vue2微前端架构实现动态菜单与登录共享 导读: 在当今的前端开发中,微前端架构已经成为了一种流行的架构模式。本文将介绍如何结合Vue 2基座、Vue 3子应用、Vite构建工具和TypeScript语言…...

Java面试进阶指南:高级知识点问答精粹(一)

Java 面试问题及答案 1. 什么是Java中的集合框架?它包含哪些主要接口? 答案: Java集合框架是一个设计用来存储和操作大量数据的统一的架构。它提供了一套标准的接口和类,使得我们可以以一种统一的方式来处理数据集合。集合框架主…...

儿童礼物笔记

文章目录 女孩礼物毛绒玩具音乐水晶系列水彩笔 男孩礼物益智类玩具积木类泡沫类机动玩具类 小孩过生日或儿童节,选礼物想破脑袋,做个笔记吧。 如果自家的小孩,还好说些,送亲友就需要动动脑筋。 女孩礼物 毛绒玩具 不错的选择&a…...