SpringBoot整合ES-7.12.1

本文介绍了如何使用Docker安装Elasticsearch 7.12.1,并解决安装过程中可能出现的内存不足问题。接着,详细阐述了SpringBoot应用中整合Elasticsearch的步骤,强调了版本匹配的重要性,特别是ES版本与Spring Data Elasticsearch版本的对应关系,以及可能遇到的文件缺失问题。

docker安装es

1、docker pull elasticsearch:7.12.1
docker

2、启动镜像:docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" --name es -it -p 9200:9200 -p 9300:9300 elasticsearch:7.12.1

3、访问9200端口
es

问题:

1、在启动镜像的时,启动中秒退
可能是内存不够的原因,需要设置参数-e ES_JAVA_OPTS="-Xms256m -Xmx256m"

2 、discovery.seed_providerscluster.initial_master_nodes] must be configured
在这里插入图片描述
需要加参数:-e "discovery.type=single-node";

整合es

1、导入依赖

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-elasticsearch<
在安装 `logstash4sgp-7.12.1` 时,如果遇到 NSSM 服务配置失败并提示 `access denied` 的错误,通常与权限配置或服务安装路径的访问控制有关。以下是一些可能的原因及解决方案: ### 原因分析 1. **用户权限不足** 当前运行 NSSM 的用户账户可能没有足够的权限来创建和管理 Windows 服务,尤其是在非管理员权限下运行时。 2. **服务路径权限限制** Logstash 安装目录或 NSSM 所需的注册表路径可能受到系统权限保护,导致服务无法写入或修改。 3. **防病毒或安全软件拦截** 某些安全软件会阻止服务的安装行为,尤其是在企业环境中。 4. **Logstash 服务脚本配置错误** `logstash4sgp` 是一个针对特定用途的 Logstash 分支或定制版本,其服务启动脚本可能与标准 Logstash 不兼容,导致 NSSM 无法正确识别执行路径。 --- ### 解决方案 #### 1. 以管理员权限运行 NSSM 确保使用管理员权限打开命令提示符或 PowerShell,然后运行 NSSM 安装命令: ```cmd nssm install logstash4sgp ``` 安装完成后,使用以下命令启动服务: ```cmd nssm start logstash4sgp ``` #### 2. 检查 Logstash 可执行文件路径权限 确认 Logstash 安装目录(例如 `D:\logstash4sgp-7.12.1\bin\logstash.bat`)对当前用户具有执行权限。可以右键点击文件夹 → 属性 → 安全标签,确保当前用户具有“读取和执行”权限。 #### 3. 配置 NSSM 服务参数 在 NSSM 管理界面中,配置以下关键参数: - **Path**: 设置为 `D:\logstash4sgp-7.12.1\bin\logstash.bat` 或完整路径。 - **Arguments**: 根据你的配置文件路径填写,例如: ``` -f D:\logstash4sgp-7.12.1\config\logstash.conf --config.test_and_exit --path.settings D:\logstash4sgp-7.12.1\config ``` - **Startup directory**: 设置为 `D:\logstash4sgp-7.12.1\bin`。 #### 4. 修改服务登录账户 在 NSSM 配置中,切换到 **Log On** 标签页,选择一个具有系统管理员权限的账户(如本地管理员账户)来运行服务,避免使用受限账户。 #### 5. 禁用安全软件临时测试 如果在企业环境中,联系管理员临时禁用防病毒或终端防护软件,以排除其对服务安装的干扰。 #### 6. 检查 Windows 事件查看器日志 打开事件查看器(Event Viewer),查看系统日志中与服务安装失败相关的详细信息,有助于定位具体错误。 --- ### 示例:配置 NSSM 服务参数 ```cmd nssm set logstash4sgp Application "D:\logstash4sgp-7.12.1\bin\logstash.bat" nssm set logstash4sgp AppParameters "-f D:\logstash4sgp-7.12.1\config\logstash.conf --config.test_and_exit --path.settings D:\logstash4sgp-7.12.1\config" nssm set logstash4sgp AppDirectory "D:\logstash4sgp-7.12.1\bin" ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值