【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的部分相关命令前言 本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。 一、资源分享 1、包含源码包、配置文件 链接:https://pan.baidu.com…...

初识Liunx下的进程状态和环境变量以及进程优先级
文章目录前言1.进程状态1.阻塞与挂起2.Linux下的进程状态1.概念知识2.R状态2.休眠状态(S/D)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. 线程的概念 所谓线程,就是指在一个 ‘执行流…...

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

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 服务停机和环境修复
一,前言 上一篇,介绍了 Secret 镜像的使用; 三台服务每天大概 15 块钱的支出,用一个月也是不少钱; 闲时可以停掉,这样每天只有 4 块钱支出,剩下一大笔; 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、分析(背包DP 贪心) 简而言之就是我们需要从左到右开始选数字,选的过程中我们需要保证我们选的数字的和始终是大于等于0的,在满足这个…...

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

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

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

函数栈帧的创建和销毁(详解)
函数栈帧的创建和销毁🦖函数栈帧是什么?🦖函数栈帧的创建和销毁解析🐋栈是什么?🐋认识相关寄存器和汇编指令🐋解析函数栈帧的创建和销毁🐳预备知识🐳函数的调用堆栈&…...

【100个 Unity实用技能】 | 脚本无需挂载到游戏对象上也可执行的方法
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案ÿ…...

条件期望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二级
实现效果描述: 1、点击recyclerview中item,列表下方出现其他样式的item,作为子item,如下所示 所需要的java文件和xml文件有: 1、创建FoldAdapteradapter, 在FoldAdapter中,定义两种不同的类型ÿ…...

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

Flask源码篇:Flask路由规则与请求匹配过程(超详细,易懂)
目录1 启动时路由相关操作(1)分析app.route()(2)分析add_url_rule()(3)分析Rule类(4)分析Map类(5)分析MapAdapter类(6)分析 url_rule_…...

Jmeter接口测试教程之【参数化技巧总结】,总有一个是你不知道的
目录:导读 一、随机值 二、随机字符串 三、时间戳 四、唯一字符串UUID 说起接口测试,相信大家在工作中用的最多的还是Jmeter。 大家看这个目录就知道jmeter的应用有多广泛了:https://www.bilibili.com/video/BV1e44y1X78S/? JMeter是一个…...

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

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

关于【网格结构】岛屿类问题的通用解法DFS(深度遍历)遍历框架+回溯+剪枝总结
最近在刷力扣时遇见的问题,自己总结加上看了力扣大佬的知识总结写下本篇文章,我们所熟悉的 DFS(深度优先搜索)问题通常是在树或者图结构上进行的。而我们今天要讨论的 DFS 问题,是在一种「网格」结构中进行的。岛屿问题…...

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

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

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

gazebo仿真轨迹规划+跟踪(不在move_base框架下)
以Tianbot为例子,开源代码如下: 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一、问题二、分析三、代码一、问题 二、分析 这道题目的意思就是给我们一个数组,然后我们从数组中选取一个连续的区间,这个区间满足条件:区间内的元素和等于区间的长度。 对于区间和问题我们先想到的是前缀和的算法。 那…...

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

ChIP-seq 分析:数据与Peak 基因注释(10)
动动发财的小手,点个赞吧! 1. 数据 今天,我们将继续回顾我们在上一次中研究的 Myc ChIPseq。这包括用于 MEL 和 Ch12 细胞系的 Myc ChIPseq。 可在此处[1]找到 MEL 细胞系中 Myc ChIPseq 的信息和文件可在此处[2]找到 Ch12 细胞系中 Myc ChIP…...

《C++ Primer Plus》第18章:探讨 C++ 新标准(8)
使用大括号括起的初始化列表语法重写下述代码。重写后的代码不应使用数组 ar: 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】芯片平台,使用NPU推理,最终得到正确的结果。整个过程涉及模型量化、…...