Docker部署OpenSearch集群
OpenSearch 简介
OpenSearch 是一款开源的搜索与分析引擎,最初由亚马逊 AWS 开发,于 2021 年 9 月将其移交至 Linux 基金会旗下的 OpenSearch 软件基金会,此后实现了社区主导的治理模式。其具有高性能、可扩展性强、兼容性强等优点,广泛应用于日志分析、推荐系统、企业搜索等领域。
目前,OpenSearch 有1.*、2.*、3.*三个大 版本。它们的区别如下:
OpenSearch 1.0
-
功能特点 :提供了基本的搜索和分析功能,支持全文搜索、实时索引、分布式索引和搜索等。
-
技术架构 :基于 Elasticsearch 的早期版本构建,主要依赖 Apache Lucene 来实现其核心的搜索和索引功能。
-
应用场景 :适用于基本的搜索和分析场景,如日志分析、网站搜索等。
OpenSearch 2.0
-
功能特点 :引入了文档级监控告警、OpenSearch 通知插件、OpenSearch Dashboards 中的地理地图瓦片等功能,还支持 Lucene 9。
-
技术架构 :在 1.0 的基础上进行了功能增强和优化,提升了性能和稳定性。
-
应用场景 :适用于对搜索和分析功能有一定要求的场景,如需要更强大的告警和通知功能的企业应用。
OpenSearch 3.0
-
功能特点 :性能显著提升,多项查询操作相比 2.19 版平均提升达 20%,相比 1.3 版提升达 9.5 倍,引入了向量搜索功能,包括正式上线的派生向量机制,可降低存储成本并提升冷启动查询响应效率,查询延迟最多可降低 30 倍,还支持多种向量引擎。
-
技术架构 :底层索引引擎升级至 Apache Lucene 10,在向量字段索引、稀疏数据处理与压缩机制方面进行了优化,还增加了 gRPC 和 protobuf 支持,引入了基于拉取的截取方式,可从 Kafka 与 Kinesis 等流媒体来源主动拉取数据。
-
应用场景 :适用于对搜索性能和数据处理效率要求较高的场景,如人工智能应用中的向量搜索、大数据分析等。
搭建OpenSearch集群
1、安装docker
略
2、安装docker-compose
略
3、下载OpenSearch的docker-compose yaml规格定义文件
docker-compose.yml
从2.*开始支持通过OPENSEARCH_INITIAL_ADMIN_PASSWORD环境变量设置admin用户的密码。不设置使用默认密码:admin
4、启动OpenSearch集群
docker-compose -f docker-compose-1.x.yml up -d
2.*和3.*启动
OPENSEARCH_INITIAL_ADMIN_PASSWORD=你的密码 docker-compose -f docker-compose-default.x.yml up -d
5、查看集群状态
docker-compose -f docker-compose-1.x.yml ps
6、停止OpenSearch集群
docker-compose -f docker-compose-1.x.yml down -v
验证访问
1、使用浏览器访问OpenSearch Dashboard:
http://192.168.XX.XX:5601/
默认用户名密码:admin/admin
curl -X GET "https://localhost:9200" -ku admin:<password>
curl -X GET "https://localhost:9200/_cat/nodes?v" -ku admin:<password>
curl -X GET "https://localhost:9200/_cat/plugins?v" -ku admin:<password>