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

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...