Es集群部署

news2024/12/30 2:13:07

目录

组件全家套

版本说明

主机准备

1.解压安装

2.运行环境配置

2.1修改每个节点linux系统限制

2.2 修改每个节点  linux 系统配置 

2.3 调整vm.max_map_count的大小

2.4 重启验证配置

3. 配置ES

3.1 每个节点创建ES用户,ES不能使用root启动

3.2 每个节点创建数据目录,日志目录

3.3 配置es文件目录,跨域请求,修改每个节点特殊的内容

3.4修改JVM启动参数

3.5 配置开机启动,启动服务


组件全家套

  • LogStash数据同步组件相关
    Lostash同步Mysql数据到Elasticsearch(一)服务介绍及环境配置
    Lostash同步Mysql数据到ElasticSearch(二)logstash脚本配置和常见坑点
    Lostash同步Mysql数据到Elasticsearch(三)Elasticsearch模板与索引设置
    Lostash同步Mysql数据到Elasticsearch(四)通过kibana辅助查看同步情况
  • kibana开发工具相关
    Kibana开发工具安装

版本说明

组件版本备注
Elasticsearchelasticsearch-7.7.1-linux-x86_64.tar.gz

主机准备

主机名ip
node144172.168.9.144
node145172.168.9.146
node146172.168.9.146

1.解压安装

注意:Elasticsearch需要安装JDK环境,配置前请先行安装JDK环境

tar -zxvf elasticsearch-7.7.1-linux-x86_64.tar.gz -C /usr/local/

2.运行环境配置

2.1修改每个节点linux系统限制

 vim /etc/security/limits.conf 
* hard nproc 4096
* soft nproc 4096
* hard nofile 655300
* soft nofile 655300

* soft memlock unlimited
* hard memlokc unlimited

Es集群部署

2.2 修改每个节点  linux 系统配置 

编辑文件,查找如下参数进行配置
vim /etc/systemd/system.conf

DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity

ulimit -a  #查看重启前系统配置

2.3 调整vm.max_map_count的大小

sysctl -a|grep vm.max_map_count  #查看当前系统配置大小,可以设置为262144 建议设置为262144,最大655360
vim /etc/sysctl.conf 

vm.max_map_count=655360

sysctl -p  #生效配置

2.4 重启验证配置

ulimit -a  #重启后查看配置是否生效
sysctl -a|grep vm.max_map_count #重启后查看配置是否生效

3. 配置ES

3.1 每个节点创建ES用户,ES不能使用root启动

groupadd elasticsearch
useradd elasticsearch -g elasticsearch

3.2 每个节点创建数据目录,日志目录

mkdir -p /mnt/elk/elasticsearch/{data,logs}
chown -R elasticsearch. /mnt/elk/elasticsearch
chown -R elasticsearch. /usr/local/elasticsearch-7.7.1/

3.3 配置es文件目录,跨域请求,修改每个节点特殊的内容

Es集群部署

vi /usr/local/elasticsearch-7.7.1/config/elasticsearch.yml
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
#cluster.name: my-application

cluster.name: es_cluster


#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#node.name: node-1

node.name: es_znyg104
node.master: true
node.data: true

#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#

path.data: /mnt/elk/elasticsearch/data

#
# Path to log files:
#

path.logs: /mnt/elk/elasticsearch/logs

#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true

bootstrap.memory_lock: true

#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1

network.host: 0.0.0.0


#
# Set a custom port for HTTP:
#
#http.port: 9200

http.port: 9200

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true

#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.seed_hosts: ["host1", "host2"]

discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 3s
discovery.seed_hosts: ["172.168.9.104", "172.168.9.105", "172.168.9.203", "172.168.9.204", "172.168.9.205"]


#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
#cluster.initial_master_nodes: ["node-1", "node-2"]

cluster.initial_master_nodes: ["es_znyg104", "es_znyg204"]

#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true

transport.tcp.port: 9300

3.4修改JVM启动参数

vi /usr/local/elasticsearch-7.7.1/config/jvm.options

主要修改的是运行内存,日志文件路径等,按照自己定义的进行处理

-xms2g
-xmx2g
-XX:HeapDumpPath=/mnt/elk/elasticsearch
-XX:ErrorFile=/mnt/elk/elasticsearch/hs_err_pid%p.log
8:-xloggc:/mnt/elk/elasticsearch/logs/gc.log
9-:-xlog:gc*,gc+age=trace,safepoint:file=/mnt/elk/elasticsearch/logs/gc.log:utctime,pid,tags
:filecount=32,filesize=64m

3.5 配置开机启动,启动服务

cd /etc/init.d
vi elasticsearch
#!/bin/bash
#chkconfig: 345 63 37
#description: elasticsearch
#processname: elasticsearch-7.7.1

export ES_HOME=/usr/local/elasticsearch-7.7.1     # elasticsearch所在目录

case $1 in
        start)
                su elasticsearch<<!        # smarthome对应的是启动elasticsearch的账号
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
                ;;
        stop)
                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                ;;
        restart)
                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                sleep 1
                su elasticsearch<<!    # 启动elasticsearch的账户/用户
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
        ;;
    *)
        echo "start|stop|restart"
        ;;
esac
exit 0

保存退出,赋予执行权限

chmod +x elasticsearch 

添加到开机启动任务

chkconfig --add elasticsearch

启动,重启,停止

service elasticsearch start/stop/restart

遇到could not find java in bundled jdk at /usr/local/elasticsearch-7.7.1/jdk/bin/java,查看自己的es安装目录是否是root权限,修改授权为ES

验证服务启动

ps aux|grep elasticsearch
curl 127.0.0.1:9200

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1119986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ELK概述部署和Filebeat 分布式日志管理平台部署

ELK概述部署、Filebeat 分布式日志管理平台部署 一、ELK 简介二、ELK部署2.1、部署准备2.2、优化elasticsearch用户拥有的内存权限2.3、启动elasticsearch是否成功开启2.4、浏览器查看节点信息2.5、安装 Elasticsearch-head 插件2.6、ELK Logstash 部署&#xff08;在 Apache 节…

数据库的基本知识理论

文章目录 一、数据库的演变史1.存取数据的演变史1.把数据存在了文件中2.存数据的文件越来越多&#xff0c;放在db文件夹3.数据库软件就能够解决以上所有问题 2.数据库软件应用史1.单机游戏2.网络游戏3. 集群 二、数据库1.什么是数据库2.数据库的作用1.实现数据共享2.减少数据的…

【Android知识笔记】Webview专题

WebView 核心组件 类名作用常用方法WebView创建对象加载URL生命周期管理状态管理loadUrl():加载网页 goBack():后退WebSettings配置&管理 WebView缓存:setCacheMode() 与JS交互:setJavaScriptEnabled()WebViewClient处理各种通知&请求事件should

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第三部分:缓存

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第三部分&#xff1a;缓存前言缓存数据存储在什么地方图层说明 为什么 Redis 这么快&#xff1f;如何使用 Redis顶级缓存策略弘扬爱国精神 系统设计 - 我们如何通俗的理解那些技术的运行原理…

嵌入式硬件中常见的100种硬件选型方式

1请列举您知道的电阻、电容、电感品牌&#xff08;最好包括国内、国外品牌&#xff09;。 电阻&#xff1a; 美国&#xff1a;AVX、VISHAY 威世 日本&#xff1a;KOA 兴亚、Kyocera 京瓷、muRata 村田、Panasonic 松下、ROHM 罗姆、susumu、TDK 台湾&#xff1a;LIZ 丽智、PHY…

SystemVerilog学习(4)——自定义结构

一、 通过typedef来创建用户自定义类型 typedef语句可以用来创建新的类型。例如,你要求一个算术逻辑单元(ALU)在编译时可配置,以适应8比特、16比特,24比特或32比特等不同位宽的操作数。在Verilog中,你可以为操作数的位宽和类型分别定义一个宏(macro),如例2.32所示。 SV则提供了…

Linux常用命令——clockdiff命令

在线Linux命令查询工具 clockdiff 检测两台linux主机的时间差 补充说明 在ip报文的首部和ICMP报文的首部都可以放入时间戳数据。clockdiff程序正是使用时间戳来测算目的主机和本地主机的系统时间差。 选项 -o&#xff1a;使用IP时间戳选项来测量系统时间差。时间戳只用3个…

超全全国所有城市人力资本测算数据集(1990-2021年)

参考《管理世界》中詹新宇&#xff08;2020&#xff09;的做法&#xff0c;本文对地级市的人力资本水平进行测算&#xff0c;其中人力资本水平用地级市的普通高等学校在校学生数占该地区总人口比重来反映 一、数据介绍 数据名称&#xff1a;地级市-人力资本测算 数据年份&…

基于指数分布优化的BP神经网络(分类应用) - 附代码

基于指数分布优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于指数分布优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.指数分布优化BP神经网络3.1 BP神经网络参数设置3.2 指数分布算法应用 4.测试结果…

计算一个Series序列元素的标准差Series.sem()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算Series序列中各元素的标准差 Series.sem() [太阳]选择题 关于以下代码的说法中正确的是? import pandas as pd a pd.Series([1,2,3]) print("【显示】a:\n",a) print(【执行】…

电路基础元件

文章目录 每周电子w5——电路元件基本电路元件电阻元件电容元件电感元件 每周电子w5——电路元件 基本电路元件 电路元件&#xff1a;是电路中最基本的组成单元 电路元件通过其端子与外部相连接&#xff1b;元件的特性则通过与端子有关的物理量描述每一种元件反映某种确定的电…

v-if和v-else-if、v-else或v-show

一、用于真正的隐藏和显示&#xff0c;显示时才会渲染dom元素 v-if"布尔类型条件"&#xff1a;能出现n次 v-else-if"布尔类型条件":必须与v-if搭配使用&#xff0c;出现n次 v-else&#xff1a;必须和v-if搭配使用&#xff0c;只能出现1次 例子1&#xff1…

LeetCode讲解篇之113. 路径总和 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 深度优先遍历二叉树&#xff0c;遍历的同时记录路径&#xff0c;直到遍历到叶节点&#xff0c;若路径和为targetSum则添加到结果集中 题解代码 func pathSum(root *TreeNode, targetSum int) [][]int {var res make([…

win10下yolov5 tensorrt模型部署

TensorRT系列之 Win10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署…

云原生概述

1. 何谓云原生 云原生是一种构建和运行应用程序的方法&#xff0c;是一套技术体系和方法论。云原生&#xff08;CloudNative&#xff09;是一个组合词&#xff0c;CloudNative。Cloud表示应用程序位于云中&#xff0c;而不是传统的数据中心&#xff1b;Native表示应用程序从设…

算法学习 之 并查集

leecode 中这题就需要并查集 代码如下 typedef struct{int * parents;int * sizes; } UnionFind; // 下面建立一个初始化 UnionFind * NewUnionFind(int n){UnionFind * uf (UnionFind *) malloc(sizeof(UnionFind));uf->parents (int *) malloc (sizeof(int)*n);uf->s…

UGNX二次开发 实时查看 NX 日志文件

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 a18037198459 订阅本专栏,非常感谢。 简介 实时查看 NX 日志文件,有助于分析保存时间等。打开WindowsPowerShell并实时获取日志文件内容的小功能。 效果 代…

使用CMS后台资源,如何在小程序上不开调试模式能正常呈现出内容

配置合法域名 如何配置合法域名&#xff1a; 1.找到自己的合法域名&#xff1a;在微信开发者工具中“不勾选"不校验合法域名&#xff0c;就会看到报错说你的某个链接不是合法域名&#xff0c;那不就说明我们需要将这个链接设置为合法域名嘛。这就找到了我们的需要设置的…

二叉树;二叉树的前序、中序、后序遍历及查找;顺序存储二叉树;线索化二叉树

数组、链表和树存储方式分析 对于树结构&#xff0c;不论是查找修改还是增加删除&#xff0c;效率都比较高&#xff0c;结合了链表和数组的优点&#xff0c;如以下的二叉树&#xff1a; 1、数组的第一个元素作为第一个节点 2、数组的第二个元素3比7小&#xff0c;放在7的左边…

Win10系统2023年10月更新补丁(KB5031356)后 IE11无法打开使用解决办法

原因: 官方更新的最新系统补丁已经永久禁用IE11了 以下是官方说明: 最好的办法是: (已验证可行~) 1, 禁用系统自动更新 (注册表 或者 设置->更新->高级选项 等等 自行禁用掉系统自动更新即可) 2, 卸载禁用IE的更新补丁KB5031356 控制面板>程序>程序和功能>…