当前位置: 首页 > news >正文

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协议。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 探索 Linux 内核启动过程
  • 二叉树 - 完全二叉树的节点个数
  • springsecurity 在web中如何获取用户信息(后端/前端)
  • 建筑项目管理软件市场新风向,10款热门软件解析
  • Python3.11使用labelimg
  • Android Activity 的启动模式(Launch Mode)
  • echarts倾斜横向堆叠柱状图
  • Spring系列之Spring Cache缓存注解的使用
  • 《第二十八章:性能优化 - 电量优化》
  • Java | Leetcode Java题解之第371题两整数之和
  • 云原生系列 - Nginx(高级篇)
  • 【Linux】分析一段oom及oops报错日志
  • MySQL(面试篇)
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • ‘asyncio‘ with OpenAI API Call Hangs After Extended Run Time
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • C++入门教程(10):for 语句
  • C语言笔记(第一章:C语言编程)
  • Java|序列化异常StreamCorruptedException的解决方法
  • js写一个简单的选项卡
  • Linux后台研发超实用命令总结
  • Magento 1.x 中文订单打印乱码
  • maya建模与骨骼动画快速实现人工鱼
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Nodejs和JavaWeb协助开发
  • rc-form之最单纯情况
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • spark本地环境的搭建到运行第一个spark程序
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 给第三方使用接口的 URL 签名实现
  • 构建工具 - 收藏集 - 掘金
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 模型微调
  • 物联网链路协议
  • 详解NodeJs流之一
  • 一个SAP顾问在美国的这些年
  • 用简单代码看卷积组块发展
  • 与 ConTeXt MkIV 官方文档的接驳
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​插件化DPI在商用WIFI中的价值
  • #laravel 通过手动安装依赖PHPExcel#
  • (007)XHTML文档之标题——h1~h6
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (力扣)循环队列的实现与详解(C语言)
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原創) 未来三学期想要修的课 (日記)
  • .chm格式文件如何阅读
  • .NET 2.0中新增的一些TryGet,TryParse等方法