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

【elastic】elastic高可用集群部署

文章目录

  • 前言
  • 一、资源分享
    • 1、包含源码包、配置文件
  • 二、部署过程
  • 三、报错锦集
  • 四、es的部分相关命令


前言

本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。


一、资源分享

1、包含源码包、配置文件

链接:https://pan.baidu.com/s/1NognuX7vhWaf6r5yLPMP0A?pwd=hcx7
提取码:hcx7


二、部署过程

#准备工作:关闭防火墙、selinux、创建服务目录、上传源码包到服务器
systemctl disable --now firewalld
setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=disable/" /etc/selinux/config
mkdir -p /data/elastic/{logs,data}#安装jdk环境,注环境变量这种东西配置到profile的子目录,防止出问题,且jdk1.5后不需要配置CLASSPATH
tar -zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
cat >/etc/profile.d/jdk.sh<<EOF
JAVA_HOME=/usr/local/jdk1.8.0_91
PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile.d/jdk.sh
#验证Java环境,若是显示为对应Java版本则安装成功
java -version#添加es普通用户并设置密码作为es服务器启动者(-G补充组,-g所属组
useradd es && echo abc123 | passwd --stdin es#修改Linux系统内核参数:最大打开文件数、文件描述符数、一个进程可用线程数
vim /etc/sysctl.conffs.file-max = 655350			#最大打开文件描述符数量,建议修改为655350vm.max_map_count = 655350		#一个进程可用最大VM数量(虚拟内存大小)
sysctl -p 							#配置立即生效vim /etc/security/limits.conf		#注:root的权限只会被root覆盖,不会被*覆盖* soft nproc 65535				#* 			代表任何用户* hard nproc 65535				#soft 		软限制(警告:超出数量警告)* soft nofile 65535				#hard 		硬限制(阈值:最多使用多少)* hard nofile 65535				#nproc		最大打开的进程数* soft memlock unlimited		#nofile		最大打开的文件数* hard memlock unlimited		#memlock	最大锁定物理内存
vim  /etc/security/limits.d/20-nproc.conf*          soft    nproc     65535root       soft    nproc     unlimited
#配置完成后和切换es用户查看
su es
ulimit -a
exit#配置es配置文件
tar -zxvf elasticsearch-6.7.1.tar.gz -C /usr/local/
vim /usr/local/elasticsearch-6.7.1/config/jvm.options#配置JVM参数,对es服务进行调优,建议设置服务器物理内存的半数(若开启物理内存锁定,有可能锁定失败)-Xms1g-Xmx1g
vim /usr/local/elasticsearch-6.7.1/config/elasticsearch.ymlcluster.name: pms30-cluster				#设置elastic集群名称node.name: master-1						#当前节点在es集群中的名称node.master: true						#true为备选主节点、拥有选取leader投票权node.data: true							#true数据存储节点path.data: /data/elastic/data/			#数据存储目录path.logs: /data/elastic/logs/			#日志存储目录bootstrap.memory_lock: true				#true锁定物理内存(若报错锁定内存失败,false关闭即可)network.host: 192.168.13.10				#当前节点的IP通讯地址,也可以设置为0.0.0.0http.port: 19200						#集群对外暴露端口号transport.tcp.port: 19300				#集群内部通讯端口号#集群IP地址及内部通讯端口号discovery.zen.ping.unicast.hosts: ["192.168.13.10:19300","192.168.13.20:19300","192.168.13.30:19300"]discovery.zen.minimum_master_nodes: 2	#leader选票机制,一般设置为集群投票的半数以上,防止脑裂http.cors.enabled: true					#开启跨域访问支持,默认为falsehttp.cors.allow-origin: "*"				#允许跨域访问的IP地址,*代表任意地址#将所有相关文件的属主/组改会es,否则权限不够无法运行
chown -R es:es /usr/local/elasticsearch-6.7.1/ /data/elastic/#配置完成,切换es用户和后台运行,如果用root运行会失败,且会把文件属主/组改会root,此时需再修改一次属主/组
su es
/usr/local/elasticsearch-6.7.1/bin/elasticsearch -d
#可通过本文下方命令验证es集群是否部署完成

三、报错锦集

#报错锦集

  • 1、not enough master nodes discovered during pinging
    节点启动较少,没有选举出来leader导致,依次启动节点即可解决
  • 2、连接不上XXX节点
    检查防火墙是否没有关闭,大概率是这个问题,生产环境更有可能(不止是firewalld这个墙)
  • 3、warning: Falling back to java on path. This behavior is deprecated. Specify JAVA_HOME
    基本上Java1.5版本之后就不会再配置CLASSPATH环境变量了,这个错误不影响服务运行
  • 4、could not find java; set JAVA_HOME
    Java环境没有安装好,服务没有找到jdk的命令,安装jdk即可
  • 5、INFO: os::commit_memory(0x00000005d4cc0000, 8241020928, 0) failed;error=‘Cannot allocate memory’ (errno=12)
    物理内存锁定失败,首先free -h查看自己有多少内存,是否是之前部署失败的es还在运行(kill -9 PID)
    然后尝试还是不行,尝试缩小要锁定的物理内存,或者关闭锁定物理内存选项即可
  • 6、max file descriptors [4096] for elasticsearch process is too low
    最大打开文件数、文件描述符数、一个进程可用线程数开小了,去配置大一些即可

四、es的部分相关命令

  • 地址可以是负载均衡地址(必须所有节点都在线,否则可能失败),也可以是节点IP地址
#查看es集群状态
curl http://192.168.13.10:19200/_cat/health?v
#好看es节点信息
curl http://192.168.13.10:19200/_cat/nodes?v
#查看es分片信息
curl http://192.168.13.10:19200/_cat/shards?v
#查看es所有命令
curl http://192.168.13.10:19200/_cat

相关文章:

【elastic】elastic高可用集群部署

文章目录前言一、资源分享1、包含源码包、配置文件二、部署过程三、报错锦集四、es的部分相关命令前言 本博客内容仅为记录博主思路&#xff0c;仅供参考&#xff0c;一切以自己实践结果为准。 一、资源分享 1、包含源码包、配置文件 链接&#xff1a;https://pan.baidu.com…...

初识Liunx下的进程状态和环境变量以及进程优先级

文章目录前言1.进程状态1.阻塞与挂起2.Linux下的进程状态1.概念知识2.R状态2.休眠状态(S/D&#xff09;3.T状态4.Z状态(僵尸进程)和X状态5.孤儿进程3.环境变量1.概念2.获取环境变量1.环境变量表2.函数获取环境变量3.关于环境变量的理解和main函数中的两个参数1.环境变量的理解2…...

JavaEE——何为线程及创建线程

文章目录一、认识线程1. 线程的概念2. 出现多线程的原因3. 进程与线程4. 对多线程的详细解释二、初次实现多线程代码1. 初步了解2. 使用 Java 中的工具查看当前的所有线程3. Java 中创建线程的多种方式一、认识线程 1. 线程的概念 所谓线程&#xff0c;就是指在一个 ‘执行流…...

linux配置核查MySQL 配置规范 (Linux)_S3A3G3

linux的配置核查问题&#xff1a; 解决&#xff1a; 1.检查是否禁止mysql对本地文件存取 方法一&#xff1a;在my.cnf的mysql字段下加local-infile0 方法二&#xff1a;启动mysql时加参数local-infile0 /etc/init.d/mysql start --local-infile0 假如需要获取本地文件&#xf…...

Protobuf简介

Protobuf简介 1. Protocol Buffers1.1. 什么是Protocol Buffers?1.2. 选择你最喜欢的语言1.3. 如何开始2. Protocol Buffer Basics: C++2.1. 问题领域2.2. 在哪里找到示例代码2.3. 定义协议格式(Defining Your Protocol Format)1. Protocol Buffers Protocol Buffers(协议缓冲…...

【Kubernetes】第十七篇 - ECS 服务停机和环境修复

一&#xff0c;前言 上一篇&#xff0c;介绍了 Secret 镜像的使用&#xff1b; 三台服务每天大概 15 块钱的支出&#xff0c;用一个月也是不少钱&#xff1b; 闲时可以停掉&#xff0c;这样每天只有 4 块钱支出&#xff0c;剩下一大笔&#xff1b; ECS 服务停机后公网 IP 会…...

Vue2的生命周期(详解)

Vue的生命周期一、生命周期的概念二、钩子函数三、Vue2的生命周期3.1 初始化阶段3.2 挂载阶段3.3 更新阶段3.4 销毁阶段一、生命周期的概念 Vue实例的生命周期: 从创建到销毁的整个过程 二、钩子函数 Vue框架内置函数,随着组件的生命周期阶段,自动执行 作用:特定的时间点,执行特…...

Potions (Hard Version) and (Easy Version)(背包DP + 反悔贪心)

[TOC](Potions (Hard Version) and (Easy Version)) 一、Potions(Easy Version) 1、问题 2、分析&#xff08;背包DP 贪心&#xff09; 简而言之就是我们需要从左到右开始选数字&#xff0c;选的过程中我们需要保证我们选的数字的和始终是大于等于0的&#xff0c;在满足这个…...

剑指 Offer II 017. 含有所有字符的最短字符串

题目链接 剑指 Offer II 017. 含有所有字符的最短字符串 hard 题目描述 给定两个字符串 s和 t。返回 s中包含 t的所有字符的最短子字符串。如果 s中不存在符合条件的子字符串&#xff0c;则返回空字符串 ""。 如果 s中存在多个符合条件的子字符串&#xff0c;返回任…...

Modbus协议初探(C#实现)

由于作者水平有限&#xff0c;如有写得不对得地方请指正 趁着今天休息&#xff0c;就折腾一下Modbus协议&#xff0c;之前零零散散的看过几篇博客&#xff0c;听说搞上位机开发的要会这个协议&#xff0c;虽然我不是搞上位机开发的&#xff0c;但个人对这个比较感兴趣。按照我个…...

【华为OD机试2023】静态扫描 C++ Java Python

【华为OD机试2023】静态扫描 C++ Java Python 前言 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能最优),不能保证通过率。 Tips1:机试为ACM 模式 你的代码需要处理输入输出,input/cin接收输入、…...

函数栈帧的创建和销毁(详解)

函数栈帧的创建和销毁&#x1f996;函数栈帧是什么&#xff1f;&#x1f996;函数栈帧的创建和销毁解析&#x1f40b;栈是什么&#xff1f;&#x1f40b;认识相关寄存器和汇编指令&#x1f40b;解析函数栈帧的创建和销毁&#x1f433;预备知识&#x1f433;函数的调用堆栈&…...

【100个 Unity实用技能】 | 脚本无需挂载到游戏对象上也可执行的方法

Unity 小科普 老规矩&#xff0c;先介绍一下 Unity 的科普小知识&#xff1a; Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者&#xff0c;借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案&#xff…...

条件期望5

条件期望例题 随机图 从节点1开始, N为一个随机变量, 表示整个过程第一次出现"贪吃蛇"情形时, 所进行的步数.即Nk⇒Xk(1)∈{1,X(1),X2(1),...Xk−1(1)}其中1,X(1),X2(1),...Xk−1(1)各不相同N k \Rightarrow X^k(1) \in \{1,X(1), X^2(1),...X^{k-1}(1)\} \\ 其中1…...

RecyclerView ViewType二级

实现效果描述&#xff1a; 1、点击recyclerview中item&#xff0c;列表下方出现其他样式的item&#xff0c;作为子item&#xff0c;如下所示 所需要的java文件和xml文件有&#xff1a; 1、创建FoldAdapteradapter, 在FoldAdapter中&#xff0c;定义两种不同的类型&#xff…...

将对象或数组存在 dom元素的属性上,最后取不到完整数据,只取到 [{

目录 一、问题 二、问题及解决方法 三、总结 一、问题 1.我需要在dom元素里面添加了一个属性test存一个对象数组temp&#xff0c;以便我下一次找到这个dom元素时可以直接拿到属性里面的数据来渲染页面。 2.dom 属性上存 对象和数组&#xff0c;必须先JSON.stringify(arr),转…...

Flask源码篇:Flask路由规则与请求匹配过程(超详细,易懂)

目录1 启动时路由相关操作&#xff08;1&#xff09;分析app.route()&#xff08;2&#xff09;分析add_url_rule()&#xff08;3&#xff09;分析Rule类&#xff08;4&#xff09;分析Map类&#xff08;5&#xff09;分析MapAdapter类&#xff08;6&#xff09;分析 url_rule_…...

Jmeter接口测试教程之【参数化技巧总结】,总有一个是你不知道的

目录&#xff1a;导读 一、随机值 二、随机字符串 三、时间戳 四、唯一字符串UUID 说起接口测试&#xff0c;相信大家在工作中用的最多的还是Jmeter。 大家看这个目录就知道jmeter的应用有多广泛了&#xff1a;https://www.bilibili.com/video/BV1e44y1X78S/? JMeter是一个…...

缓存与数据库的双写一致性

背景 在高并发的业务场景下&#xff0c;系统的性能瓶颈往往是出现在数据库上&#xff0c;用户并发访问过大&#xff0c;压力都打到数据库上。所以一般都会用redis做缓存层&#xff0c;起到一个缓冲作用&#xff0c;让请求先访问到缓存层&#xff0c;而不是直接去访问数据库&am…...

力扣-213打家劫舍II(dp)

力扣-213打家劫舍II 1、题目 213. 打家劫舍 II 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 &#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#xff0c;相邻的房屋装有相互连通…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...