首页 > 系统相关 >ElasticSearch7.17.3简介+centos7详细安装教程+Springboot整合ES

ElasticSearch7.17.3简介+centos7详细安装教程+Springboot整合ES

时间:2024-10-09 16:19:55浏览次数:15  
标签:Springboot 启动 boot kibana centos7 Elasticsearch elasticsearch ElasticSearch7.17 

一、ElasticSearch简介

        官方地址:Elasticsearch:官方分布式搜索和分析引擎 | Elastic

1.1 ElasticSearch简介

        Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,同时是可扩展的数据存储和矢量数据库,能够应对日益增多的各种用例。作为 Elastic Stack 的核心,Elasticsearch 能够集中存储您的数据,实现闪电般的搜索速度、精细的相关性调整以及强大的分析能力,并且能够轻松地进行规模扩展。

1.2 ElasticSearch优势

  • 分布式架构:Elasticsearch 是一个分布式系统,可以轻松地水平扩展,处理大规模的数据集和高并发的查询请求。
  • 全文检索功能:Elasticsearch 提供了强大的全文检索功能,包括分词、词项查询、模糊匹配、多字段搜索等,并支持丰富的查询语法和过滤器。
  • 多语言支持:Elasticsearch 支持多种语言的分词器和语言处理器,可以很好地处理不同语言的文本数据。
  • 高性能:Elasticsearch 使用倒排索引和缓存等技术,具有快速的搜索速度和高效的查询性能。
  • 实时性:Elasticsearch 支持实时索引和搜索,可以几乎实时地将文档添加到索引中,并立即可见。
  • 易用性:Elasticsearch 提供了简单易用的 RESTful API,方便进行索引管理、查询操作和数据分析。

1.3 ElasticSearch的使用场景

只要用到搜索的场景,ES几乎都可以是最好的选择。国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。

  • 搜索引擎
  • 站内搜索
  • 日志管理与分析
  • 大数据分析

二、centos7安装ElasricSearch详细步骤

        跟着我的步骤一步步安装,如果你还是装不好,你来打我。

2.1 下载ElasticSearch

        下载地址:Elasticsearch 7.17.3 | Elastic

         通过工具,将安装包上传到服务器上,然后解压,我的上传路径是/usr/local/elaticsearch

#解压命令
tar -zxvf elasticsearch-7.17.3-linux-x86_64.tar.gz

 

2.2 配置环境变量

        ElasticSearch从7.x以后内置了jdk,只需要配置一下环境变量就可以了

        vim /etc/profile 在最下面加入配置

    执行 source /etc/profile  让环境变量生效

2.3 配置ElasticSearch.yml

        进入/usr/local/elaticsearch/elasticsearch-7.17.3/config目录,修改elasticsearch.yml

        找到文件中下面的内容,修改下面的参数:

vim elasticsearch.yml 

# 监听所有的网卡
network.host: 0.0.0.0
#elasticsear的端口,默认就是9200
http.port: 9200
# 指定名称
node.name: node-1
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

2.4修改JVM的参数

     

vim jvm.options

#找到文件中的这个配置,打开注释,记得一定要顶格,前面不要有空格 
-Xms4g
-Xmx4g

2.5 启动ES服务 

直接启动:bin/elasticsearch 

后台启动:bin/elasticsearch -d

   启动时可能出现的报错:

1、ES服务,默认是不能用root用户启动的,如果你直接启动,就会报错

        那么来吧,创建个新的用户,新增个chuyi的用户,然后设置密码,最后把elasticsearch的目录给他赋值上权限

adduser chuyi
passwd chuyi 

chown -R chuyi:chuyi /usr/local/elasticsearch

切换账号,重新启动es,第一次启动的时候,建议不要后台启动,直接启动方便查看日志,第一次安装会遇到各种问题,等直接启动成功后,我们可以加个-d参数,再后台启动。

su chuyi 

bin/elasticsearch 

如果启动顺利的话,可以直接通过浏览器访问http://192.168.1.196:9200/

2、max number of threads [1024] for user [es] is too low, increase to at least [4096]  解决办法:

切换root用户修改

vim /etc/security/limits.d/20-nproc.conf

改为如下配置:

* soft nproc 4096

3、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 解决办法:

#切换到root用户


vim /etc/security/limits.conf

末尾添加如下配置:
  *     soft     nofile    65536
  *     hard     nofile    65536
  *     soft     nproc     4096
  *     hard     nproc     4096

4、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 

切换到root用户

vim /etc/sysctl.conf

追加以下内容:
vm.max_map_count=262144

保存退出之后执行如下命令:
sysctl -p

重新启动es,执行: bin/elasticsearch -d 即可

三、kibana客户端的安装

3.1 下载kibana       

官方下载地址:Kibana 7.17.3 | Elastic

下载完成后,将kibana的包上传到服务器上,解压 

3.2 配置kibana,修改Kibana.yml

kibana也需要非root用户启动

vim config/kibana.yml

#指定Kibana服务器监听的端口号
server.port: 5601   
#指定Kibana服务器绑定的主机地址
server.host: "0.0.0.0"  
#指定Kibana连接到的Elasticsearch实例的访问地址
elasticsearch.hosts: ["http://localhost:9200"]  
#将 Kibana 的界面语言设置为简体中文
i18n.locale: "zh-CN"  

3.3 启动kibana

       nohup bin/kibana & 

       http://ip:5601

选择开发工具,即可访问es

四、ElasticSearch安装分词器

4.1默认分词器

       我是一只小小鸟,默认分词是单个字,显然这不是我们想要的

        

4.2 安装 ik分词器

        ik中文分词插件:https://github.com/medcl/elasticsearch-analysis-ik

       将elasticsearch-analysis-ik-7.17.3.zip插件,解压,然后手动上传到elasticsearch的plugins目录,然后重启ES实例就可以了。

        测试ik分词器:

        

五、springboot整合ElasticSearch

官方文档:Spring Data Elasticsearch :: Spring Data Elasticsearch

版本选择

Elasticsearch 7.17.3 对应依赖 Spring Data Elasticsearch 4.4.x,对应springboot版本2.7.x

maven文件

   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

application.yml

spring:
  elasticsearch:
    uris: 192.168.1.196:9200
server:
  port: 8095

controller测试类

@RestController
@RequestMapping("es/test")
public class ElasticSearchController {

    @Resource
    ElasticsearchRestTemplate elasticsearchRestTemplate;


    @GetMapping("insertEs")
    public void insertEs(){
        IndexCoordinates indexCoordinates = IndexCoordinates.of("user");
        User save = elasticsearchRestTemplate.save(new User("1", "lisi", "上海", 20),indexCoordinates);
        System.out.println(save);
    }
}

本章所用到的安装包的下载地址:

链接:https://pan.baidu.com/s/16BVoUwkVPZiBibepDwDSZw?pwd=8888 
提取码:8888

标签:Springboot,启动,boot,kibana,centos7,Elasticsearch,elasticsearch,ElasticSearch7.17,
From: https://blog.csdn.net/u011317306/article/details/142780864

相关文章

  • Java基于SpringBoot的高校体育运动会比赛项目报名系统 +Vue[毕业设计]
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍在高等教育体系中,体育运动会不仅是增强学生体质、培养团队精神的重要途径,也是校园文化的重要组成部分。然而,传统的高校体育运动会报名方式往往存在诸多不便,如报名流程繁琐、信息更......
  • (2024最新毕设合集)基于SpringBoot的乡村书屋小程序-31881|可做计算机毕业设计JAVA、PHP
    摘要随着信息技术的快速发展和互联网的广泛普及,数字化服务的需求不断增长,乡村书屋作为传统的文化服务机构也需要适应这一变革。本研究将使用Java开发技术,通过springboot作为框架,结合微信小程序,和MySQL作为数据存储的技术,开发一套功能齐备可移动的乡村书屋小程序,旨在提升乡......
  • Springboot电子产品购物商城系统go37b(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,产品分类,产品信息,通知公告开题报告内容一、课题研究背景与意义随着互联网技术的飞速发展,电子商务已成为当今商业活动的重要组成部分。电子产品,特别是智......
  • 【JAVA开源】基于Vue和SpringBoot的医疗病历交互系统
    本文项目编号T072,文末自助获取源码\color{red}{T072,文末自助获取源码}......
  • 基于Java+SpringBoot+Mysql在线年度考核考勤管理系统功能设计与实现九
    一、前言介绍:1.1项目摘要随着计算机和网络技术的迅猛发展,学校教学和管理的信息化发展也得到了长足的进步,学校是否具有一流的信息管理、教育教学的平台已经是衡量一个学校信息化建设的重要标志之一。本文首先介绍了在线考试系统的开发背景,开发工具,结构化开发的具体步骤,然......
  • 基于Java+SpringBoot+Mysql在线年度考核考勤管理系统功能设计与实现十
    一、前言介绍:1.1项目摘要随着计算机和网络技术的迅猛发展,学校教学和管理的信息化发展也得到了长足的进步,学校是否具有一流的信息管理、教育教学的平台已经是衡量一个学校信息化建设的重要标志之一。本文首先介绍了在线考试系统的开发背景,开发工具,结构化开发的具体步骤,然......
  • 服装生产管理的数字化转型:SpringBoot框架
    4系统设计4.1系统结构设计在结构设计过程中,首先对系统进行需求分析,然后进行系统初步设计,将系统功能模块细化,具体分析每一个功能模块具体应该首先哪些功能,最后将各个模块进行整合,实现系统结构的最终设计。本协力服装厂服装生产管理系统结构设计如图4-1所示。图4-1系......
  • springboot+vue基于WEB的在线阅读系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,数字化阅读已成为现代人获取信息、学习知识和休闲娱乐的重要方式。传统的纸质书籍阅读方式虽然具有其独特的魅力,但在便捷性、即时性和资源共享性方面已难以满足现代人的需求。因此,开发一个基于WEB的在线阅读......