【Elasticsearch】从零开始搭建ES8集群并且集成到Springboot,更好的服务电商类等需要全文索引的项目(一)

这篇具有很好参考价值的文章主要介绍了【Elasticsearch】从零开始搭建ES8集群并且集成到Springboot,更好的服务电商类等需要全文索引的项目(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从零开始搭建Elasticsearch8.6集群(一)

简单介绍下Elasticsearch,以及为何使用它

最近公司的电商项目越来越庞大,功能需求点也越来越多,各种C端对查询和检索的要求也越来越高,是时候在项目中引入全文检索了。
ElasticSearch 是一个基于 Lucene 的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,并且是基于Java 开发的,我记得很久之前ES还不流行的时候,我们公司使用的是solr,两者都是基于Lucene的全文搜索服务,其实还都挺好用,使用方式大同小异,现在使用ES的公司越来越多,很多大型门户网站或者电商也使用了ES。既然使用ES那肯定不能使用单机版,单机就是一个demo自己玩玩可以,万万是不能够上生产环境的,所以我们必须学会使用集群搭建。

下载Elasticsearch

ES的官网:https://www.elastic.co/cn/上下载最新稳定版本,我现在使用的版本是8.6.1(elasticsearch-8.6.1-linux-x86_64.tar.gz),下载下来是一个压缩包。因为服务器是linux服务器,所以整个是基于linux进行安装的。

准备服务器

在高可用和高性能方面来说一般要3个以上的服务器,我这开发环境有限,就只安装2台了
192.168.X.111 master
192.168.X.113 slave

解压安装

#下载成功后将压缩包放到到home/elasticsearch目录下面(自己新建一个elasticsearch文件夹),进入目录进行解压
cd /home/elasticsearch/
#解压
tar -zxvf elasticsearch-8.6.1-linux-x86_64.tar.gz

解压之后的目录大概是这样
springboot 集成es集群,中间件,elasticsearch,spring boot,lucene,java,全文检索

配置文件elasticsearch.yml修改

原始的文件中,都是配置的介绍和使用方式,我这里挂出我的配置

确保安全,我们需要密码证书的方式进行访问,先贴出配置,后面会生成证书和密码
master配置:

#集群名称
cluster.name: ESsearch
#结点名称 多个结点名称不同
node.name: es_node_1
#服务器地址
network.host: 192.168.X.111
#端口号
http.port: 9200
transport.profiles.default.port: 9300
#其他结点的路径
discovery.seed_hosts: ["192.168.X.111:9300", "192.168.X.113:9300"]
cluster.initial_master_nodes: ["es_node_1", "es_node_2"]

# 允许通配符删除索引
action.destructive_requires_name: true

bootstrap.memory_lock: true

#设置证书密码访问 下面会说怎么生成证书
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /home/elasticsearch/elasticsearch-8.6.1/config/certificates/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /home/elasticsearch/elasticsearch-8.6.1/config/certificates/elastic-certificates.p12

#日志和索引存储地址
path.data: /home/elasticsearch/elasticsearch-8.6.1/data
path.logs: /home/elasticsearch/elasticsearch-8.6.1/logs

#是否支持跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length

slave配置(如果多个节点,根据需要同样配置多个就行):

#集群名称
cluster.name: ESsearch
#结点名称 多个结点名称不同
node.name: es_node_2
#服务器地址
network.host: 192.168.10.113
#端口号
http.port: 9200
transport.profiles.default.port: 9300
#其他结点的路径
discovery.seed_hosts: ["192.168.10.111:9300", "192.168.10.113:9300"]
cluster.initial_master_nodes: ["es_node_1", "es_node_2"]

# 允许通配符删除索引
action.destructive_requires_name: true

bootstrap.memory_lock: true

#设置证书密码访问
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /home/elasticsearch/elasticsearch-8.6.1/config/certificates/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /home/elasticsearch/elasticsearch-8.6.1/config/certificates/elastic-certificates.p12

#日志和索引存储地址
path.data: /home/elasticsearch/elasticsearch-8.6.1/data
path.logs: /home/elasticsearch/elasticsearch-8.6.1/logs

#是否支持跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length

注意:bootstrap.memory_lock项要设置为true,锁定物理内存地址,防止es内存被交换,从而提高ES性能;但是设置以后因为服务器配置不同可能会启动报错
修改文件/etc/security/limits.conf

执行vim /etc/security/limits.conf
添加以下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
在以下配置文件中添加参数:
vim /etc/sysctl.conf
vm.max_map_count=655360
执行sysctl -p
#重启服务配置
systemctl daemon-reload

调整JVM运行内存

进入config目录下的jvm.options文件,本地服务器内存真的不够。。。。只能调整
增加参数:
-Xms2g
-Xmx2g

设置密码证书认证

1.生成证书

#进入安装bin目录
cd /home/elasticsearch/elasticsearch-8.6.1/
./bin/elasticsearch-certutil ca
#第一个是描述,不填跳过;第二是密码,输入123456(你可以设置你自己的密码)
#会生成elastic-stack-ca.p12的文件

2.生成秘钥

./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
#输入刚刚的密码123456,要输入路径直接回车,生成在当前目录下

3.迁移凭证地址到config目录下

# 先创建目录
mkdir ./config/certificates
# 移动凭证至指定目录下
mv ./elastic-certificates.p12 ./config/certificates/
# 赋值权限777
chmod 777 ./config/certificates/elastic-certificates.p12

4.其他集群都要将这个凭证移动到这个ES安装的config目录下

5.各个集群节点都添加keystore密码

这里也要切换用户生成密码(参考下面一步的切换用户启动)

#输入生成证书时的密码123456
./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

切换用户启动(重要)

为了确保安全性,ES不允许使用root用户进行启动,当然,为了安全考虑我们本身在使用服务器时也不建议使用root用户直接操作,因为我是开发环境,一般直接就root开整了,所以需要切换用户后再进行启动,如果已经有用户了就不用创建了

#创建用户组
groupadd elsearch
#创建用户
useradd elsearch -g elsearch -p 123456
#授予用户权限
chown -R elsearch:elsearch /home/elasticsearch/elasticsearch-8.6.1/
#切换用户
su - elsearch
#然后进入安装bin目录
cd /home/elasticsearch/elasticsearch-8.6.1/
#后台启动
./bin/elasticsearch -d

设置集群访问密码

会设置很多密码 elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,我本地环境全部设置成了123456

./bin/elasticsearch-setup-passwords  interactive

创建完毕进行访问查看

至此,集群启动完毕,可以单独访问每台服务器:
http://192.168.X.111:9200
http://192.168.X.113:9200
会让你输入账号密码:elastic 123456
springboot 集成es集群,中间件,elasticsearch,spring boot,lucene,java,全文检索

springboot 集成es集群,中间件,elasticsearch,spring boot,lucene,java,全文检索

也可以访问http://192.168.X.111:9200/_cat/nodes查看各节点情况:
springboot 集成es集群,中间件,elasticsearch,spring boot,lucene,java,全文检索
下一篇,详细介绍下如何安装IK分词器和kibana可视化界面
传送门:从零开始搭建Elasticsearch集群(二)文章来源地址https://www.toymoban.com/news/detail-553429.html

到了这里,关于【Elasticsearch】从零开始搭建ES8集群并且集成到Springboot,更好的服务电商类等需要全文索引的项目(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • es8.8 集群安装笔记

    本次安装使用centos8 3节点安装: 192.168.182.142 192.168.182.143 192.168.182.144 官网 可以查看详细的安装,安装步骤比较简单 https://www.elastic.co/guide/en/elasticsearch/reference/8.8/rpm.html#rpm-repo 访问需要用https https://127.0.0.1:9200/ 默认用户 elastic 密码就是安装的时候打印到屏幕上的密码 8.8 使用

    2024年02月13日
    浏览(35)
  • elasticSearch集群 springboot集成es 完全解析

    #编写compose.yml配置文件 #每个节点都创建一个elasticsearch.yml文件 用到的命令: systemctl start docker docker-compose up es和kibana版本必须一样 environment:配置容器内的环境变量 networks:创建一个名为elastic的局域网,让各节点以及kibana,es-head相互联系 network.host: 0.0.0.0:意为监听一切地址,可

    2024年02月03日
    浏览(32)
  • 从零开始搭建企业管理系统(三):集成 Spring Data Jpa

    JPA(Java Persistence API)是 Java 标准中的一套 ORM 规范(提供了一些编程的 API 接口,具体实现由 ORM 厂商实现,如Hiernate、TopLink 、Eclipselink等都是 JPA 的具体实现),借助 JPA 技术可以通过注解或者 XML 描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中(即

    2024年02月04日
    浏览(38)
  • Hadoop集群安装和搭建(从零开始超级超级详细的过程)(上)

    本文直接从最最最开始安装Hadoop开始讲解,省略了虚拟机安装的这部分,这里我就默认学过Liunx的各位小伙伴们已经有相关环境了。 下半部分在这里~ Hadoop集群安装和搭建(从零开始超级超级详细的过程)(下) 组件 功能 HDFS 分布式文件系统 MapReduce 分布式并行编程模型 YA

    2024年02月06日
    浏览(38)
  • 五-1、elasticsearch集群搭建(ES集群搭建)

    es下载地址 这里我下载的是 集群搭建方法 上传方式有两种 第一种:使用xftp上传 直接拖动过去就可以了。 第二种:使用lrzsz 先安装 切换到要上传的位置 输入命令 选择你要上传的文件 等待上传完成即可 ①解压到指定目录下 ②修改/config下的elasticsearch.yml 加入如下配置 原来

    2023年04月22日
    浏览(39)
  • ElasticSearch第二章(ES8.X的使用)

    目录 1:ES的使用(DSL创建索引库-相当于表) 1.1:什么是索引库 1.2:索引库的增删改查使用 2:ES的使用(DSL操作文档-相当于数据) 2.1:什么是文档 2.2:文档的增删改查 3:java代码开发 3.1:准备工作 3.2:代码操作索引(也就是表的增删改查) 3.3:代码操作文档(也就是数

    2024年03月23日
    浏览(34)
  • ELKF日志系统搭建部署教程:从零开始构建Elasticsearch + Logstash + Filebeat + Kibana

    学习如何从头开始搭建和部署ELKF日志系统,利用Elasticsearch、Logstash、Filebeat和Kibana来实现高效的数据采集、处理和可视化展示。跟随本教程,轻松构建稳定的日志系统。

    2024年02月05日
    浏览(35)
  • 【ElasticSearch】ES集群搭建、监控、故障转移

    单机的ES做数据存储与搜索,必然面临两个问题: 海量数据存储问题 单点故障问题 因此,考虑使用ES集群: 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点。如此,ES的存储能力就是所有节点存储能力的总和 单点故障问题:将分片数据 在不同

    2024年02月16日
    浏览(43)
  • ES(ElasticSearch)快速入门和集群搭建

    ​ ES作为一个索引及搜索服务,对外提供丰富的REST接口,快速入门部分的实例使用kibana来测试,目的是对ES的使用方法及流程有个初步的认识。 创建index 索引库。包含若干相似结构的 Document 数据,相当于数据库的database。 语法: PUT /index_name 如: number_of_shards - 表示一个索引

    2024年02月07日
    浏览(33)
  • Elasticsearch8系列【2】Windows环境安装ES8

    有道无术,术尚可求,有术无道,止于术。 Elasticsearch 使用 Java 语言开发,在安装之前需要安装 JDK 环境。基本支持所有主流操作系统,安装包在官网下载,目前最新的版本为 8.5.2 。 1. 下载 下载 elasticsearch-8.5.2-windows-x86_64.zip 并解压: 2. 获取密码 点击 bin/elasticsearch.bat 启动:

    2023年04月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包