当前位置: 首页 > 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;相邻的房屋装有相互连通…...

关于【网格结构】岛屿类问题的通用解法DFS(深度遍历)遍历框架+回溯+剪枝总结

最近在刷力扣时遇见的问题&#xff0c;自己总结加上看了力扣大佬的知识总结写下本篇文章&#xff0c;我们所熟悉的 DFS&#xff08;深度优先搜索&#xff09;问题通常是在树或者图结构上进行的。而我们今天要讨论的 DFS 问题&#xff0c;是在一种「网格」结构中进行的。岛屿问题…...

【LeetCode】982. 按位与为零的三元组

982. 按位与为零的三元组 题目描述 给你一个整数数组 nums &#xff0c;返回其中 按位与三元组 的数目。 按位与三元组 是由下标 (i, j, k) 组成的三元组&#xff0c;并满足下述全部条件&#xff1a; 0 < i < nums.length0 < j < nums.length0 < k < num…...

Linux内核源码进程原理分析

Linux内核源码进程原理分析一、Linux 内核架构图二、进程基础知识三、Linux 进程四要素四、task_struct 数据结构主要成员五、创建新进程分析六、剖析进程状态迁移七、写时复制技术一、Linux 内核架构图 二、进程基础知识 Linux 内核把进程称为任务(task)&#xff0c;进程的虚…...

电子技术——CMOS反相器

电子技术——CMOS反相器 在本节&#xff0c;我们深入学习CMOS反相器。 电路原理 下图是我们要研究的CMOS反相器的原理图&#xff1a; 下图展示了当输入 vIVDDv_I V_{DD}vI​VDD​ 时的 iD−vDSi_D-v_{DS}iD​−vDS​ 曲线&#xff1a; 我们把 QNQ_NQN​ 当做是驱动源&#x…...

gazebo仿真轨迹规划+跟踪(不在move_base框架下)

以Tianbot为例子&#xff0c;开源代码如下&#xff1a; https://github.com/tianbot/tianbot_mini GitHub - tianbot/abc_swarm: Ant Bee Cooperative Swarm, indicating air-ground cooperation. This repository is for Tianbot Mini and RoboMaster TT swarm kit. 1.在…...

C. Good Subarrays(前缀和)

C. Good Subarrays一、问题二、分析三、代码一、问题 二、分析 这道题目的意思就是给我们一个数组&#xff0c;然后我们从数组中选取一个连续的区间&#xff0c;这个区间满足条件&#xff1a;区间内的元素和等于区间的长度。 对于区间和问题我们先想到的是前缀和的算法。 那…...

关于Facebook Messenger CRM,这里有你想要知道的一切

关于Facebook Messenger CRM&#xff0c;这里有你想要知道的一切&#xff01;想把Facebook Messenger与你的CRM整合起来吗&#xff1f;这篇博文是为你准备的! 我们将介绍有关获得Facebook Messenger CRM整合的一切信息。然后&#xff0c;我们将解释为什么你需要像SaleSmartly&a…...

ChIP-seq 分析:数据与Peak 基因注释(10)

动动发财的小手&#xff0c;点个赞吧&#xff01; 1. 数据 今天&#xff0c;我们将继续回顾我们在上一次中研究的 Myc ChIPseq。这包括用于 MEL 和 Ch12 细胞系的 Myc ChIPseq。 可在此处[1]找到 MEL 细胞系中 Myc ChIPseq 的信息和文件可在此处[2]找到 Ch12 细胞系中 Myc ChIP…...

《C++ Primer Plus》第18章:探讨 C++ 新标准(8)

使用大括号括起的初始化列表语法重写下述代码。重写后的代码不应使用数组 ar&#xff1a; class Z200 { private:int j;char ch;double z; public:Z200(int jv, char chv, zv) : j(jv), ch(chv), z(zv) {} ... };double x 8.8; std::string s "What a bracing effect!&q…...

YOLO-V5 系列算法和代码解析(八)—— 模型移植

文章目录工程目标芯片参数查阅官方文档基本流程Python 版工具链安装RKNPU2的编译以及使用方法移植自己训练的模型工程目标 将自己训练的目标检测模型【YOLO-V5s】移植到瑞芯微【3566】芯片平台&#xff0c;使用NPU推理&#xff0c;最终得到正确的结果。整个过程涉及模型量化、…...