ElasticSearch7.7.1集群搭建

前言

Elasticsearch(ES)是一个基于Apache Lucene的分布式、高扩展、近实时的搜索引擎,主要用于海量数据快速存储、实时检索、高效分析的场景。通过简单易用的RESTful API,Elasticsearch隐藏了Lucene的复杂性,使得全文搜索变得简单。

以下是Elasticsearch的主要特点:

  1. 分布式:由于其分布式特性,Elasticsearch可以将海量数据分散到多台服务器上存储、检索和分析。
  2. 高扩展性:Elasticsearch可以扩展到上百台服务器,支持大规模数据存储和检索。
  3. 近实时性:Elasticsearch提供了近乎实时的搜索和分析功能,数据写入后几乎可以立即进行搜索和分析。
  4. 全文检索:Elasticsearch支持全文检索,能够快速检索数据并返回匹配的结果。
  5. 分布式分析:通过分布式特性,可以在多台服务器上并行处理数据,提高分析效率。
  6. 数据丰富:无论数据是结构化还是非结构化,Elasticsearch都能高效地存储和索引数据,并提供快速检索和分析。
  7. 易于使用:通过RESTful API,Elasticsearch提供了简单易用的接口,方便开发人员进行数据检索和查询。

由于以上特点,Elasticsearch广泛应用于各种业务场景,如维基百科、Stack Overflow、GitHub等均有使用。此外,Elasticsearch也是Elastic Stack的核心组件之一,与其他组件如Logstash、Kibana等配合使用,可以更方便地进行数据收集、处理、分析和可视化等工作。

下面是操通过服务器 3 台实现集群的安装

一、Elasticsearch 集群安装

1、准备工作创建对应安装目录并下载 elasticsearch rpm包

1.1 创建安装目录并下载资源包

mkdir es-node-1-7.7.1
cd es-node-1-7.7.1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-x86_64.rpm

效果如图:

1.2 部署前配置,修改limits.conf 文件

注:limits.conf 是 PAM (Pluggable Authentication Modules) 的配置文件,用于设置用户和组的资源限制。通过这个文件,你可以限制用户或组可以使用的系统资源,如 CPU、内存、磁盘空间等。

#修改limits.conf 文件,该文件为通过PAM登录的用户设置资源限制,它不影响系统服务的资源限制。
#这里的 * 标识所有用户
#noproc 是代表最大进程数
#nofile 是代表最大文件打开数
#memlock 最大锁定内存地址空间
#hard limit 严格的设定,必定不能超过这个设定的数值
#soft limit 警告的设定,可以超过这个设定值,但是若超过则有警告信息
#unlimited  无限制
[root@localhost es-node-1-7.7.1 ~] vim /etc/security/limits.conf
hard nofile 65536 # es要求文件数最小为65536
soft nproc 2048
hard nproc 4096
soft memlock unlimited
hard memlock unlimited#修改sysctl.conf文件,Sysctl是一个允许您改变正在运行中的Linux系统的接口,用sysctl可以读取设置超过五百个系统变量。
[root@localhost es-node-1-7.7.1 ~] vim /etc/sysctl.conf
vm.max_map_count=655360 # 限制一个进程可以拥有的VMA(虚拟内存区域)的数量
fs.file-max=655360 # 系统级打开最大文件句柄的数量永久生效的修改#使sysctl.conf 修改生效
[root@localhost es-node-1-7.7.1 ~] sysctl -p

2、开始安装

2.1 Root 用户安装

sudo rpm -ivh elasticsearch-7.7.1-x86_64.rpm

2.2 重新加载服务并启动

1、sudo systemctl daemon-reload

注意:sudo systemctl daemon-reload 用于重新加载 systemd 服务的命令。当你修改了 systemd 的服务文件后,需要运行这个命令来使修改生效。这是因为 systemd 服务文件中的配置在修改后并不会自动应用到已运行的服务上,需要通过重新加载来应用新的配置。

如果你在编辑完 systemd 服务文件后直接启动或重启服务,可能会因为配置错误而导致服务无法正常启动。因此,在修改完服务文件后,应该先运行 sudo systemctl daemon-reload 命令,然后再启动或重启服务,以确保配置正确。

请注意,运行 sudo systemctl daemon-reload 命令需要管理员权限,因此需要使用 sudo 命令来执行。

2、sudo systemctl enable elasticsearch.service

用于启用 systemd 服务单元的命令。当你安装了一个服务并将其配置为开机自启时,可以使用这个命令来使其在系统启动时自动启动。

3、sudo systemctl start elasticsearch.service 用于启动 systemd 服务单元的命令

3、创建对应的数据目录和日志目录

创建数据存储目录
mkdir -p /home/app_user/es-node-1-7.7.1/data
mkdir -p /home/app_user/es-node-1-7.7.1/logs/jvmlogs修改ES目录权限
chown -R app_user:app_user  /etc/elasticsearch/
chown -R app_user:app_user  /usr/share/elasticsearch/
chown -R app_user:app_user  /home/app_user/es-node-1-7.7.1/data      
chown app_user:app_user /etc/sysconfig/elasticsearch
chown -R app_user:app_user /home/app_user/es-node-1-7.7.1/logs/jvmlogs
# 以上操作都是为了赋予app_user用户操作权限

4、安装完生成配置文件

安装完毕后会生成很多文件,包括配置文件日志文件等等,下面几个是最主要的配置文件路径 /etc/elasticsearch/elasticsearch.yml # els的配置文件

/etc/elasticsearch/jvm.options # JVM相关的配置,内存大小等等

/etc/elasticsearch/log4j2.properties # 日志系统定义

/usr/share/elasticsearch # elasticsearch 默认安装目录

/var/lib/elasticsearch # 数据的默认存放位置

5、修改集群配置

5.1 修改elasticsearch.yml配置文件

vim /etc/elasticsearch/elasticsearch.yml

cluster.name: es-7.7.1
node.name: node-1
path.data: /home/app_user/es-node-1-7.7.1/data
path.logs: /home/app_user/es-node-1-7.7.1/logs
network.host: 10.10.1.11
http.port: 9200
transport.port: 9300  # tcp的端口号,默认是9300
discovery.seed_hosts: ["10.10.1.11", "10.10.1.12","10.10.1.13"]
cluster.initial_master_nodes: ["node-1", "node-2"]
http.cors.enabled: true     #是否开启跨域访问
http.cors.allow-origin: "*" #开启跨域访问后的地址限制,*表示无限制

配置文件如图:

elasticsearch.yml 文件的配置本次配置是循环主节点

5.2 JVM的参数修改

$ vim /etc/elasticsearch/jvm.options

-XX:ErrorFile=/home/app_user/es-node-1-7.7.1/logs/jvmlogs/hs_err_pid%p.log

8:-Xloggc:/home/app_user/es-node-1-7.7.1/logs/jvmlogs/gc.log

9-:-Xlog:gc*,gc+age=trace,safepoint:file=/home/app_user/es-node-1-7.7.1/logs/jvmlogs/gc.log:utctime,pid,tags:filecount=32,filesize=64m

详细如图:

注意:JVM(Java虚拟机)的配置文件名为jvm.options,通常位于Java项目的根目录下。该文件用于设置JVM的参数,以优化Java应用程序的性能和行为。

在jvm.options文件中,可以设置各种JVM参数,包括堆内存大小、垃圾回收器选项、JIT编译器选项等。这些参数可以影响Java应用程序的启动速度、内存使用、运行性能等。

5.3 修改elasticsearch的默认启动用户

vim /usr/lib/systemd/system/elasticsearch.service User=app_user Group=app_user

6、启动Elasticsearch

Root用户下执行:

systemctl restart elasticsearch.service

6.1 浏览器访问:

直接在浏览器内输入:http://10.10.1.11:9200/

6.2 服务端直接 curl 请求

curl 请求:curl -i "http://10.10.1.12:9200/"

二、ElasticSearch7.7.1 集群安装 IK 和 pinyin 扩展插件

1、下载并安装扩展插件

1.1 下载 elasticsearch-analysis-ik

https://github.com/medcl/elasticsearch-analysis-ik/releases

1.2 下载 elasticsearch-analysis-pinyin

https://github.com/medcl/elasticsearch-analysis-pinyin/releases

详细如图:

cd /usr/local/tools/elasticsearch/elasticsearch-7.7.1
# 直接下载 ik 扩展插件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip
# 直接下载 pinyin 扩展插件
wget https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.7.1/elasticsearch-analysis-pinyin-7.7.1.zip#新建il文件夹
mkdir -P plugins/ik
# 解压到 插件 到ik目录
mv elasticsearch-analysis-ik-7.7.1.zip /ik/
unzip elasticsearch-analysis-ik-7.7.1.zip# 拼音扩展同样的操作#切换目录 cd /usr/share/elasticsearch
#查看是否安装完成
bin/elasticsearch-plugin list

1.3 查看安装扩展插件列表

2、重启es,让分词器生效,操作shell如下

2.1 Root用户下执行重启

systemctl restart elasticsearch.service

2.2 或者 jps 查看 elesticsearch 进程杀掉重启

$ kill -9 8448

#重启启动esbin/elasticsearch -d

确保整个es集群上的每台机器都操作了以上步骤后,就可以在kibana上测试了

三、ElasticSearch7.7.1 集群 kibana 看板

1、下载对应版本的 kibana 包

https://elasticsearch.cn/download/#seg-2 官方下载地址

https://artifacts.elastic.co/downloads/kibana/kibana-7.7.1-linux-x86_64.tar.gz

2、下载完kibana 包,直接解压并修改配置文件

kibana 运行用户 app_user

路径:/home/app_user/kibana-7.7.1-linux-x86_64

2.1 修改配置文件 kibana.yml

操作效果如图:

cd /home/app_user
#直接解压
$ tar -zxvf kibana-7.7.1-linux-x86_64.tar.gz
$ cd kibana-7.7.1-linux-x86_64/config/
$ vi kibana.ymlserver.port: 5601
server.host: "0.0.0.0"
server.name: "Kibana"
elasticsearch.hosts: ["http://10.10.1.11:9200", "http://10.10.1.12:9200","http://10.10.1.13:9200"]
kibana.index: ".kibana"
kibana.defaultAppId: "home"# 后台运行Kibana
$ nohup ./bin/kibana &
#或者
#nohup ./bin/kibana >logs/kibana.log 2>&1 &#浏览器访问
http://10.10.1.11:5601/app/kibana. 
#/home###
# 查看 kibana 
ps -ef|grep kibana
ps -ef|grep 5601
#都找不到
#使用 fuser -n tcp 5601 - 哎呀有了
kill -9  #端口
ps -ef|grep node 或 netstat -anltp|grep 5601
#启动即可 ./kibana
#后台启动:
nohup …/bin/kibana &

2.2 运行并访问

$ nohup /home/app_user/kibana-7.7.1-linux-x86_64/bin/kibana

最终执行是可以配置后台执行

就这样,Kibana安装完成,可以尝试配置一下吧。

参考文献:

https://blog.csdn.net/LXWalaz1s1s/article/details/111697177

https://www.likecs.com/show-306320469.html

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

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

相关文章

数论Leetcode204. 计数质数、Leetcode858. 镜面反射、Leetcode952. 按公因数计算最大组件大小

Leetcode204. 计数质数 题目 给定整数 n &#xff0c;返回 所有小于非负整数 n 的质数的数量 。 代码 class Solution:def countPrimes(self, n: int) -> int:if n < 2:return 0prime_arr [1 for _ in range(n)]prime_arr[0], prime_arr[1] 0, 0ls list()for i in…

Python编程 从入门到实践(项目二:数据可视化)

本篇为实践项目二&#xff1a;数据可视化。 配合文章python编程入门学习&#xff0c;代码附文末。 项目二&#xff1a;数据可视化 1.生成数据1.1 安装Matplotlib1.2 绘制简单的折线图1.2.1 修改标签文字和线条粗细1.2.2 校正图形1.2.3 使用内置样式1.2.4 使用scatter()绘制散点…

点云格式-PCD格式介绍

PCD格式介绍 一、概述二、PCD 版本三、文件格式头信息四、数据存储格式类型五、优于其他文件格式的优点六、例子 一、概述 PCD文件格式是PCL库最常用的一种数据格式、也是其提供的一个独有的数据格式&#xff0c;PCD文件格式并不是要重新发明轮子&#xff0c;而是为了补充现有的…

59.螺旋矩阵II(力扣LeetCode)

59.螺旋矩阵II 题目描述 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a; 输…

【测试】测试用例场景设计

专注 文章目录 用例设计公式登录测试用例测试用例设计思路购物车测试用例水杯设计测试用例发红包测试用例1. 正常情况下的测试用例&#xff1a;2. 边界情况下的测试用例&#xff1a;3. 异常情况下的测试用例&#xff1a;4. 特殊情况下的测试用例&#xff1a; 微信朋友圈1. 正常…

Django模型(一)

一、介绍 模型,就是python中的类对应数据库中的表 1.1、ORM ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写 ORM 把数据库映射成对象 1.2、示例 1.2.1、模型 from django.db import models…

字节跳动员工:5年攒了8400股,价值940W,财富自由的味道

字节跳动员工&#xff1a;5年攒了8400股&#xff0c;价值940W&#xff0c;财富自由的味道 最近&#xff0c;一位字节跳动员工在网络上爆料了他的财富增长故事&#xff0c;引起了广泛关注。这位员工在贴文中自豪地宣布&#xff0c;他加入字节跳动的五年间从未卖出手中的股票&am…

Ultraleap 3Di新建项目之给所有的Joint挂载物体

工程文件 Ultraleap 3Di给所有的Joint挂载物体 前期准备 参考上一期文章&#xff0c;进行正确配置 Ultraleap 3Di配置以及在 Unity 中使用 Ultraleap 3Di手部跟踪 新建项目 初始项目如下&#xff1a; 新建Create Empty 将新建的Create Empty&#xff0c;重命名为LeapPro…

查询redis路径,清除redis缓存

查询redis路径 1、执行ps -ef | grep redis 命令&#xff0c;结果如下&#xff08;记住PID&#xff09; 2、执行ps -u 系统用户名&#xff0c;进一步确定进程id, 我这里的系统用户名是root&#xff0c;执行ps -u root&#xff0c;结果如下&#xff1a; 结合1的操作结果图可知…

qtcreator使用qwt库

先配置好.pro文件&#xff0c;再去ui界面拖拽控件 ui界面会更改配置&#xff0c;故顺序错一个&#xff0c;就凉了&#xff0c;重来吧 准备&#xff1a;库&#xff0c;库头文件 库文件&#xff1a;路径如下 头文件&#xff1a;路径如下 鼠标->右键 &#xff08;有些不用勾…

『OpenCV-Python|鼠标作画笔』

Opencv-Python教程链接&#xff1a;https://opencv-python-tutorials.readthedocs.io/ 本文主要介绍OpenCV-Python如何将鼠标作画笔绘制圆或者矩形。 示例一&#xff1a;图片上双击的位置绘制一个圆圈 首先创建一个鼠标事件回调函数&#xff0c;鼠标事件发生时就会被执行。鼠标…

uni-app 微信小程序之红包雨活动

文章目录 1. 页面效果2. 页面样式代码 1. 页面效果 GIF录屏有点卡&#xff0c;实际比较丝滑 每0.5s掉落一个红包控制4s后自动移除红包点击红包消除红包&#xff08;或者自行1&#xff0c;或者弹窗需求&#xff09; 2. 页面样式代码 <!-- 红包雨活动 --> <template>…

C++中map和set的使用

&#xff08;图片来源于网络&#xff09; &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;强烈推荐优质专栏: &#x1f354;&#x1f35f;&#x1f32f;C的世界(持续更新中) &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶…

力扣算法-Day20

541. 反转字符串II 给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起&#xff0c;每计数至 2k 个字符&#xff0c;就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个&#xff0c;则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个&#xff0c…

【yaml 文件使用】pytest+request 框架中 yaml 配置文件使用

又来进步一点点~~ 背景&#xff1a;最近在学习pytestrequest框架写接口测试自动化&#xff0c;使用yaml文件配置更方便管理用例中的数据&#xff0c;这样更方便 yaml 介绍&#xff1a; 什么是 yaml 文件&#xff1a;YAML 是 “YAML Ain’t a Markup Language”&#xff08;Y…

一、对人工智能大模型了解与认知

黑8说 月黑风高&#xff0c;乌云密布&#xff0c;树木低垂&#xff0c;黯淡沉闷。这黎明前的风暴&#xff0c;预示着新时代的变革即将到来。 在一个8线小城市的办公室中 黑8对主任说&#xff1a; 世界上有男人、女人、人妖&#xff0c;米国有1/3男&#xff0c;2/3女…&#xff…

黑马程序员JavaWeb开发|Maven高级

一、分模块设计与开发 分模块设计&#xff1a; 将项目按照功能拆分成若干个子模块&#xff0c;方便项目的管理维护、扩展&#xff0c;也方便模块间的相互调用&#xff0c;资源共享。 注意&#xff1a;分模块开发需要先对模块功能进行设计&#xff0c;再进行编码。不会先将工…

比较两组相同构造结构的迭代次数

( A, B )---9*50*2---( 1, 0 )( 0, 1 ) 做一个网络分类A和B&#xff0c;让B全是0&#xff0c;让训练集A中只有9张图片&#xff0c;共有4个点。共有16种情况 迭代次数 迭代次数 1 - - - - - - - 1 9252.186 1 1 1 - - - - - - - 49334.66 9 1 - - - …

十款数据可视化工具横评:优缺点大揭秘

作为一位热衷于数据可视化的爱好者&#xff0c;我深知选择一款得心应手的数据可视化工具对于呈现数据的魅力至关重要。在市面上众多的数据可视化工具中&#xff0c;我精选了十款备受瞩目的产品&#xff0c;下面就为大家简单介绍一下它们的优缺点&#xff0c;以帮助大家进行选择…

区块空间----流动性铭文

铭文正在改变加密世界&#xff0c;越来越多的人开始关注铭文&#xff0c;并参与进来&#xff01;铭文赛道的未来是非常具有潜力和想象力的&#xff0c;甚至能够达到加密货币的普及水平。当然&#xff0c;这需要更多的基础设施更多的用例支持&#xff0c;但是一切都才刚刚开始。…