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

在 CentOS 8 上安装和部署 OpenSearch 2.17 的实战指南20240924

在 CentOS 8 上安装和部署 OpenSearch 2.17 的实战指南

引言

随着数据的快速增长,企业对高效搜索和分析工具的需求也在不断增加。OpenSearch 是由社区主导的搜索和分析引擎,它为大规模数据索引、日志分析、全文检索等场景提供了强大的支持。在这篇博客中,我将分享如何在 CentOS 8 上安装和配置 OpenSearch 2.17,确保您能够快速启动并运行该服务。

本教程涵盖从环境准备、安装 Java、下载与解压 OpenSearch、配置系统参数到将 OpenSearch 配置为系统服务的详细步骤。无论您是开发者还是运维人员,这篇文章将为您提供实用的安装指南和最佳实践。

一、准备工作

在安装 OpenSearch 之前,我们需要确保系统符合以下要求:

  • 操作系统:CentOS 8
  • 内存:至少 4GB(根据具体使用场景,建议更多)
  • Java:需要 Java 11 或更高版本

二、安装 Java

OpenSearch 依赖 Java,因此我们首先安装 OpenJDK 11。

sudo dnf install java-11-openjdk-devel

验证 Java 版本是否安装正确:

java -version

输出应类似于:

openjdk version "11.0.x" ...

三、下载 OpenSearch 2.17

从 OpenSearch 官方网站获取最新的 2.17 版本,或使用以下命令直接下载:

wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.17.0/opensearch-2.17.0-linux-x64.tar.gz

四、解压文件

下载完成后,解压 OpenSearch 文件:

tar -zxvf opensearch-2.17.0-linux-x64.tar.gz

五、配置 OpenSearch

进入 OpenSearch 安装目录,并对配置文件进行修改:

cd opensearch-2.17.0

编辑 config/opensearch.yml 文件,根据您的需求进行以下基本配置:

cluster.name: my-opensearch-cluster
node.name: node-1
network.host: 0.0.0.0

注意:在生产环境中,建议启用安全功能,如 TLS 和用户认证,以保证数据安全。

六、调整 JVM 内存

为确保 OpenSearch 能够高效运行,我们可以调整 JVM 的内存分配。编辑 config/jvm.options 文件,分配适当的内存,如 2GB:

-Xms2g
-Xmx2g

七、创建 OpenSearch 用户(可选)

出于安全考虑,我们建议为 OpenSearch 创建一个独立的用户,并确保该用户拥有相应的权限。

sudo useradd opensearch
sudo chown -R opensearch:opensearch /path/to/opensearch-2.17.0/

八、系统配置调整

8.1 文件描述符限制

编辑 /etc/security/limits.conf,为 OpenSearch 用户添加如下限制:

opensearch soft nofile 65535
opensearch hard nofile 65535
opensearch soft nproc 4096
opensearch hard nproc 4096

8.2 虚拟内存设置

为了提升系统性能,建议修改虚拟内存的设置。编辑 /etc/sysctl.conf,添加以下配置:

vm.max_map_count=262144

应用更改:

sudo sysctl -w vm.max_map_count=262144

九、配置为系统服务

为了更方便地管理 OpenSearch,我们可以将其配置为系统服务。

创建 Systemd 服务文件 /etc/systemd/system/opensearch.service

[Unit]
Description=OpenSearch Service
After=network.target[Service]
Type=simple
User=opensearch
Group=opensearch
ExecStart=/path/to/opensearch-2.17.0/bin/opensearch
Restart=on-failure
LimitNOFILE=65535
LimitNPROC=4096
TimeoutStopSec=0
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=143[Install]
WantedBy=multi-user.target

替换 /path/to/opensearch-2.17.0/ 为实际路径。

接下来加载服务配置并启动 OpenSearch:

sudo systemctl daemon-reload
sudo systemctl start opensearch
sudo systemctl enable opensearch

十、验证 OpenSearch 安装

检查 OpenSearch 是否正常启动:

sudo systemctl status opensearch

查看实时日志以监控启动过程:

sudo journalctl -u opensearch -f

使用 curl 命令验证 OpenSearch 服务是否成功运行:

curl -XGET 'http://localhost:9200'

输出应该类似于:

{"name" : "node-1","cluster_name" : "my-opensearch-cluster","cluster_uuid" : "....","version" : {"number" : "2.17.0",...},"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

十一、配置防火墙(可选)

如果需要远程访问 OpenSearch,您需要开放 9200 端口:

sudo firewall-cmd --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

警告:直接暴露 9200 端口存在安全风险,建议配置 TLS 和身份认证机制。

十二、后续步骤

12.1 安全配置

在生产环境中,建议启用 TLS 来加密传输,并配置用户认证来保护集群。

12.2 插件安装

根据您的业务需求,OpenSearch 提供了多种插件扩展功能,您可以根据需求安装不同插件。

12.3 监控与备份

为了保障 OpenSearch 的稳定性,建议使用监控工具如 Prometheus 或 OpenSearch Dashboard,同时定期备份数据以避免数据丢失。

总结

在本文中,我们详细介绍了如何在 CentOS 8 上安装并配置 OpenSearch 2.17,涵盖了从环境准备、Java 安装、下载与解压 OpenSearch 到配置和验证服务的完整流程。通过这一实战指南,您不仅能够成功部署 OpenSearch,还能够通过一些最佳实践提升系统的安全性和性能。

无论是单节点还是多节点集群,这些步骤都可以帮助您快速搭建适合生产环境的 OpenSearch 系统。希望这篇文章对您的工作有所帮助!

http://www.lryc.cn/news/448385.html

相关文章:

  • 青动CRM-E售后V2.0.4
  • 免杀对抗—C++混淆算法shellcode上线回调编译执行
  • 考研数据结构——C语言实现插入排序
  • 苍穹外卖学习笔记(十三)
  • ​如果没有pos信息,只有一些近景的照片,可以用​编辑重建大师进行建模吗?​
  • 智能感知,主动防御:移动云态势感知为政企安全护航
  • 论文笔记(四十六)RobotGPT: Robot Manipulation Learning From ChatGPT
  • docker - 镜像操作(拉取、查看、删除)
  • 如何选择数据库架构
  • Mysql高级篇(中)——锁机制
  • JavaWeb图书借阅系统
  • 文档矫正算法:DocTr++
  • Vxe UI vue vxe-table vxe-grid 单元格与表尾单元格如何格式化数据
  • 【百日算法计划】:每日一题,见证成长(021)
  • 数据恢复篇:如何恢复几年前删除的照片
  • 前端注释规范
  • uniapp踩坑 tabbar页面数据刷新了但视图没有更新
  • WebAssembly与WebGPU:游戏开发的新时代
  • SAP B1 认证考试习题 - 解析版(二)
  • 《Ubuntu20.04环境下的ROS进阶学习7》
  • 免费视频无损压缩工具+预览视频生成工具
  • OIDC9-OIDC集成登录功能(SpringBoot3.0)
  • 使用Vue.extend( ) 模仿 elementui 创建一个类似 message 消息提示框
  • ansible部署二进制mysql 8
  • 【2023工业3D异常检测文献】基于混合融合的多模态工业异常检测方法Multi-3D-Memory (M3DM)
  • 基于微信小程序的宿舍报修系统的设计与实现(lw+演示+源码+运行)
  • 前端练习总结(1)
  • 计算机网络自顶向下(1)---网络基础
  • Pandas -----------------------基础知识(五)
  • RabbitMQ 高级特性——重试机制