ElasticSearch 的单点部署环境搭建

一、摘要

        ElasticSearch 是一个开源的 分布式RESTful搜索和分析引擎 ,可以用来解决使用数据库进行模糊搜索时存在的性能问题,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据

        ElasticSearch 使用 Java 语言开发,基于 Lucence 。ES 早期版本需要 JDK,在 7.X 版本后已经集成了 JDK,已无需第三方依赖。

  • Lucene 是什么?
  • Lucene 是一个 Java 语言编写的高性能、全功能的文本搜索引擎库,提供强大的索引和搜索功能,以及拼写检查、高亮显示和高级分析功能。

二、集群环境准备

地址主机名称CPU内存磁盘角色说明
10.0.0.151elk151.edu.com2C4G50G+ES node
10.0.0.152elk152.edu.com2C4G50G+ES node
10.0.0.153elk153.edu.com2C4G50G+ES node

1. 下载elasticsearch

Elasticsearch 7.17.5 | Elastic

三、单点部署

(一)下载rpm文件

curl -o elasticsearch-7.17.5-x86_64.rpm  
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-17-5

(二)安装ES

rpm -ivh elasticsearch-7.17.5-x86_64.rpm#zip包安装
1.解压安装包 tar -xf  elasticsearch-7.17.5-linux-x86_64.tar.gz -C /对应的目录
[root@elk151 ~]# ll
总用量 300968
-rw-------. 1 root root      1403 8月  23 10:59 anaconda-ks.cfg
drwxr-xr-x  9 root root       155 6月  24 2022 elasticsearch-7.17.5
-rw-r--r--  1 root root 308183534 8月  23 11:14 elasticsearch-7.17.5-linux-x86_64.tar.gz
[root@elk151 ~]# cd elasticsearch-7.17.5/2.安装elasticsearch
[root@elk151 elasticsearch-7.17.5]# ./bin/elasticsearch

(三)修改es的配置文件

1.设置系统别名
#[root@elk151 ~]# vim /root/.bashrc[root@elk151 ~]# cat /root/.bashrc
# .bashrc# User specific aliases and functionsalias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias yy='egrep -v "^#|^$"'  #设置alias yy='egrep -v "^#|^$"'  筛选排除#和$开头的内容#重新source一下.bashrc
[root@elk151 ~]# source /root/.bashrc
2.修改es的配置文件
修改es的配置文件vim /etc/elasticsearch/elasticsearch.yml 
...ES服务监听对外暴露服务的地址network.host: 0.0.0.0指定ES集群的节点IPdiscovery.seed_hosts: ["10.0.0.101"]指定参与master选举的节点cluster.initial_master_nodes: ["10.0.0.101"]

如果不修改配置会出现一下错误:

[root@elk151 ~]# systemctl status elasticsearch.service -l
● elasticsearch.service - ElasticsearchLoaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)Active: failed (Result: exit-code) since 一 2024-08-26 09:38:48 CST; 2min 47s agoDocs: https://www.elastic.coProcess: 2043 ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=1/FAILURE)Main PID: 2043 (code=exited, status=1/FAILURE)8月 26 09:38:45 elk151.oldboyedu.com systemd-entrypoint[2043]: at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158)
8月 26 09:38:45 elk151.oldboyedu.com systemd-entrypoint[2043]: at org.yaml.snakeyaml.parser.ParserImpl.getEvent(ParserImpl.java:168)
8月 26 09:38:45 elk151.oldboyedu.com systemd-entrypoint[2043]: at com.fasterxml.jackson.dataformat.yaml.YAMLParser.nextToken(YAMLParser.java:355)
8月 26 09:38:45 elk151.oldboyedu.com systemd-entrypoint[2043]: ... 15 more
8月 26 09:38:48 elk151.oldboyedu.com systemd-entrypoint[2043]: Exception in thread "main" SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: MarkedYAMLException[while parsing a block mapping
8月 26 09:38:48 elk151.oldboyedu.com systemd-entrypoint[2043]: in 'reader', line 33, column 1:
8月 26 09:38:48 elk151.oldboyedu.com systemd[1]: elasticsearch.service: main process exited, code=exited, status=1/FAILURE
8月 26 09:38:48 elk151.oldboyedu.com systemd[1]: Failed to start Elasticsearch.
8月 26 09:38:48 elk151.oldboyedu.com systemd[1]: Unit elasticsearch.service entered failed state.
8月 26 09:38:48 elk151.oldboyedu.com systemd[1]: elasticsearch.service failed.
[root@elk151 ~]# 
3.重启系统 reboot
4.启动ES系统
[root@elk151 ~]# systemctl restart elasticsearch.service

 查看ES服务启动状态

[root@elk151 ~]# systemctl status elasticsearch.service
● elasticsearch.service - ElasticsearchLoaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)Active: active (running) since 一 2024-08-26 10:02:09 CST; 13s agoDocs: https://www.elastic.coMain PID: 1623 (java)CGroup: /system.slice/elasticsearch.service├─1623 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=...└─1822 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller8月 26 10:01:23 elk151.oldboyedu.com systemd[1]: Starting Elasticsearch...
8月 26 10:02:09 elk151.oldboyedu.com systemd[1]: Started Elasticsearch.
[root@elk151 ~]# 

(四)验证ES服务是否启动成功

1.查看ES服务端口号
#查看ES服务端口号
[root@elk151 ~]# ss -ntl
State      Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN     0      128                                          *:22                                                       *:*                  
LISTEN     0      100                                  127.0.0.1:25                                                       *:*                  
LISTEN     0      128                                       [::]:9200                                                  [::]:*                  
LISTEN     0      128                                       [::]:9300                                                  [::]:*                  
LISTEN     0      128                                       [::]:22                                                    [::]:*                  
LISTEN     0      100                                      [::1]:25                                                    [::]:*                  
[root@elk151 ~]# 
2.主机10.0.0.151 和 10.0.0.152 都访问一下10.0.0.151:9200地址:端口号
#10.0.0.151 访问服务
[root@elk151 ~]# curl 10.0.0.151:9200
{"name" : "elk151.edu.com","cluster_name" : "elasticsearch","cluster_uuid" : "_na_","version" : {"number" : "7.17.5","build_flavor" : "default","build_type" : "rpm","build_hash" : "8d61b4f7ddf931f219e3745f295ed2bbc50c8e84","build_date" : "2022-06-23T21:57:28.736740635Z","build_snapshot" : false,"lucene_version" : "8.11.1","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}#主机10.0.0.152 访问服务
[root@elk151 ~]# curl 10.0.0.151:9200
{"name" : "elk151.edu.com","cluster_name" : "elasticsearch","cluster_uuid" : "_na_","version" : {"number" : "7.17.5","build_flavor" : "default","build_type" : "rpm","build_hash" : "8d61b4f7ddf931f219e3745f295ed2bbc50c8e84","build_date" : "2022-06-23T21:57:28.736740635Z","build_snapshot" : false,"lucene_version" : "8.11.1","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}
3.如果遇到集群的uuid为"_na_"情况时,可以执行如下操作:
如果遇到集群的uuid为"_na_"情况时,可以执行如下操作:systemctl stop elasticsearch.servicerm -rf /var/lib/elasticsearch/* /var/log/elasticsearch/* /tmp/*systemctl start elasticsearch.servicecurl 10.0.0.101:9200

(五)考题思路

1.请问9200和9300验证的端口是哪一个?其作用。

答案:

验证端口是9200,端口作用:对ES集群外部提供http/https服务,可以理解为对客户端提供服务。

9300端口作用:对ES集群内部进行数据通信传输端口,走的时候tcp协议。

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

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

相关文章

删除Vue2残留配置文件解决异常:Cannot find module ‘@vue/babel-plugin-transform-vue-jsx‘

背景 完成Vue2代码升级为Vue3后,将新代码上传至代码库。在修改源代码库代码后,启动项目,提示:Cannot find module ‘vue/babel-plugin-transform-vue-jsx‘,尝试安装该第三方库后仍然无效。 解决方案: 删…

带你快速了解WEB应用服务器TOMCAT

目录 一、WEB技术 1.1 HTTP协议和B/S 结构 1.2 前端三大核心技术 1.2.1 HTML 1.2.2 CSS(Cascading Style Sheets)层叠样式表 1.2.3 JavaScript 二 WEB框架 2.1 web资源和访问 2.2 后台应用架构 2.2.1 单体架构 2.2.2 微服务 2.2.3 单体架构和…

C++调用python文件,python引用的其他依赖库,在c++里如何处理

前面我写过一篇《Visual Studio 2022Python3.11实现C调用python接口》,最近有朋友问C调用python文件,python引用的其他依赖库,需要在c中处理吗? 实践出真知,对于这个问题,我得先验证,然后得出…

QtCreator错误:Qt没有被正确安装,请运行make install(适用Qt4、Qt5、Qt6)

一、问题环境 (1)Windows 10企业版,64位 (2)Visual Studio 2019 (3)Qt5.12.12 x64版本(自己编译) (4)Qt Creator 12.0.1 二、问题描述&#…

leetcode518:零钱兑换II

零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…

使用CORS解决跨域问题

CORS(Cross-Origin Resource Sharing)跨域资源共享 因为浏览器的同源策略才出现了跨域问题。 CORS是一套机制,用于浏览器校验跨域请求。 它的基本理念是: 只要服务器明确表示允许,则校验通过服务器明确拒绝或没有表…

双臂机器人协作/合作阻抗控制

机器人阻抗控制是一种基于力的控制方法,其核心在于通过调整机器人的阻抗特性(如刚度、阻尼等),使机器人在与环境交互时能够表现出特定的力学行为。以下是对机器人阻抗控制的详细解析: 一、定义与内涵 机器人阻抗控制是指通过调整机器人的阻抗特性(如刚度、阻尼等),使…

TCP、HTTP以及RPC的梳理

TCP:一种面向连接的、可靠的、基于字节流的协议 原生 TCP 和粘包问题 TCP 是一种面向连接的、可靠的传输层协议,负责在网络上发送字节流数据。它提供了流量控制、错误检测和重传等机制,但并不对应用层的数据进行分隔或解析。 粘包问题&#…

Java-List工具类

为了扩展 List 工具类,我们可以创建一个新的工具类 ListUtil,它将包含一系列静态方法,用于方 便地创建、操作和查询 List 集合。以下是一些常用的扩展方法示例: 批量添加元素:addAllElements 方法允许向列表中批量添加多个元素。 批量移除元素:removeAllElements 方法…

NAT网关产品手册

产品用途 SG-NAT-410 网关支持 IP 地址跨网段和通讯端口的转换,为不方便修改参数的以太网通讯设备的信息化联网提供便捷的解决方案。网关有 1 个两口以太网交换机接口(LAN 口 ) 和 1 个单口以太网通讯接口 (WAN 口 ) 。不对原系统做任何硬件和软件修改&…

秃姐学AI系列之:批量归一化 + 代码实现

目录 批量归一化 核心想法 批归一化在做什么 总结 代码实现 从零实现 创建一个正确的BatchNorm层 应用BatchNorm于LeNet模型 简单实现 QA 批量归一化 训练深层神经网络是十分困难的,特别是在较短的时间内使他们收敛更加棘手。 因为数据在网络最开始&…

OpenHarmony中的fastjson gson应该这样用

【问题背景】 随着越来越多的开发者开始投入北向应用的开发,无数的人开始问我:鸿蒙三方库是否有fastjson,是否有gson,当前json和对象的转换要怎么搞。 作为程序员,我的每个项目都逃不掉fastjson/gson等三方库&#x…

六西格玛培训真相曝光:识别并避免这些常见陷阱!

在当今企业管理领域,六西格玛作为提升质量与效率的强大工具,其影响力日益增强,但伴随其普及的浪潮,一系列培训陷阱也悄然浮现,成为求学者路上的隐形障碍。作为深耕企业咨询领域的专家,张驰咨询特此为您揭秘…

FPGA在医疗方面的应用

可编程逻辑支持以灵活、低风险的方式成功实施系统设计,同时提供了最佳的成本效率和增值的差异化功能,延长了医疗保健应用的生命周期,包括诊断成像、电子医疗、治疗和生命科学与医院设备。 在医疗方面的应用非常广泛,以下是几个主…

【Prettier】代码格式化工具Prettier的使用和配置介绍

前言 前段时间,因为项目的prettier的配置和eslint格式检查有些冲突,在其prettier官网和百度了一些配置相关的资料,在此做一些总结,以备不时之需。 Prettier官网 Prettier Prettier 是一种前端代码格式化工具,支持ja…

SQL Server数据库 创建表,和表的增删改查

打开SQL Server工具,连接服务器 右击数据库,创建新的数据库 新建表 填写列,我添加了Id,Name,Sex,Age,和class列 右键表刷新一下就有了 我又同时创建了一个Class表 点击新建查询,现在写代码添加数据,也可以操作表来对数据进行添加 …

黑马JavaWeb企业级开发(知识清单DAY2完结)06——Vue(概述、指令、生命周期)

文章目录 前言一、Vue概述1. MVVM前端开发思想2. 框架是什么3. Vue介绍4. Vue快速入门 二、Vue常用指令三、Vue生命周期总结 前言 本篇文章是2023年最新黑马JavaWeb企业级开发(知识清单DAY2完结)06:Vue(概述、指令、生命周期&…

设计模式篇(DesignPattern - 创建型模式)

目录 模式一:单例模式 一、简介 二、种类 1. 饿汉式(静态常量) 1.1. 代码 1.2. 优缺点 2. 饿汉式(静态代码块) 2.1. 代码 2.2. 优缺点 3. 懒汉式(线程不安全) 3.1. 代码 3.2. 优缺点 4. 懒汉式(线程安全,…

GeoStudio2024:地质工程的瑰宝下载安装介绍

引言 青山隐隐,流水潺潺,吾心所向,乃地质之奥秘。GeoStudio2024,如同一卷古籍,蕴藏无尽智慧,助吾等探寻地质之真谛。今以李白之笔,述其妙用,愿与君共赏。 初识GeoStudio2024 初见…

港股震荡中保持乐观,市场信心回来了!

港股上午盘三大指数集体上涨,恒生科技指数一度冲高至1.54%,最终收涨0.98%,恒生指数上涨1.06%。盘面上,大型科技股多数维持上涨行情,百度、腾讯涨超1.5%,快手、美团小幅上涨,阿里巴巴、京东飘绿&…