INFINI Easysearch尝鲜Hands on

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

Easysearch 支持原生 Elasticsearch 的 DSL 查询语法,确保原业务代码无需调整即可无缝迁移。同时,极限科技还支持 SQL 查询,为熟悉 SQL 的开发人员提供更加便捷的数据分析方式。此外,Easysearch 兼容 Elasticsearch 的 SDK 和现有索引存储格式,支持冷热架构和索引生命周期管理,确保用户能够轻松实现数据的无缝衔接。

安装

安装脚本

无论是Linux还是 mac 都是这个一键脚本

curl -sSL http://get.infini.cloud | bash -s -- -p easysearch

同时也提供了二进制的安装包:
在这里插入图片描述

如果不想整理JAVA环境问题,还可以使用这个
https://release.infinilabs.com/easysearch/stable/bundle/

docker 部署

官方提供了Docker Compose 样例,包括三个服务:easysearch-node1easysearch-node2console。以下是详细说明:

  1. 版本控制

    • version: '3' 表示使用 Docker Compose 文件的第 3 版格式。
  2. 服务定义

    • easysearch-node1 和 easysearch-node2

      • 这两个服务使用相同的 Docker 镜像 infinilabs/easysearch:latest来组成双节点的集群。
      • 容器运行时使用用户和组 ID 602:602
      • 设置了 ES_JAVA_OPTS 环境变量以配置 Java 虚拟机的内存。
      • ulimits 选项配置了内存锁定和文件描述符的限制,以提升性能。
      • 容器内的配置、数据和日志目录通过卷映射到主机目录中,以便于数据持久化。
      • 服务暴露特定端口,使外部能够访问容器中的服务。
      • 两个节点均加入名为 esnet 的自定义网络中。
    • console

      • 该服务使用镜像 infinilabs/console:1.26.0-1552(该镜像没有latest,需要手动把latest更改位特定的版本号)。
      • 同样通过卷将数据和日志目录映射到主机。
      • 暴露 9000 端口用于 Web 界面访问。
      • 使用 links 功能链接到 easysearch-node1easysearch-node2,简化容器之间的通信。
      • 设置了时区环境变量 TZAsia/Shanghai
  3. 网络配置

    • esnet 网络使用 bridge 驱动,提供一个隔离的网络环境,配置了特定的子网 172.24.0.0/16,以确保服务之间的网络通信。
version: '3'
services:easysearch-node1:user: "602:602"image: infinilabs/easysearch:latestcontainer_name: easysearch-node1hostname: easysearch-node1environment:- "ES_JAVA_OPTS=-Xms1g -Xmx1g"ulimits:memlock:soft: -1hard: -1nofile:soft: 65536hard: 65536volumes:- $PWD/ezs1/config:/app/easysearch/config- $PWD/ezs1/data:/app/easysearch/data- $PWD/ezs1/logs:/app/easysearch/logsports:- 9201:9200- 9301:9300networks:- esneteasysearch-node2:user: "602:602"image: infinilabs/easysearch:latestcontainer_name: easysearch-node2hostname: easysearch-node2environment:- "ES_JAVA_OPTS=-Xms1g -Xmx1g"ulimits:memlock:soft: -1hard: -1nofile:soft: 65536hard: 65536volumes:- $PWD/ezs2/config:/app/easysearch/config- $PWD/ezs2/data:/app/easysearch/data- $PWD/ezs2/logs:/app/easysearch/logsports:- 9202:9200- 9302:9300networks:- esnetconsole:image: infinilabs/console:1.26.0-1552container_name: consolehostname: consolevolumes:- $PWD/console/data:/data- $PWD/console/log:/lognetworks:- esnetports:- 9000:9000links:- easysearch-node1:es1- easysearch-node2:es2environment:- TZ=Asia/Shanghainetworks:esnet:driver: bridgeipam:config:- subnet: 172.24.0.0/16

尽管在这里官方提供了详细的命令,完全可以使用这个docker-compose up来进行替代。其他的脚本解释如下:

init.sh

#!/bin/bash# 获取当前脚本所在目录的绝对路径
CUR_DIR=$(cd $(dirname $0); pwd)# 创建必要的目录结构
mkdir -p $CUR_DIR/console/{data,log}
mkdir -p $CUR_DIR/{ezs1,ezs2}/{data,logs}# 设置目录的拥有者和权限
chown -R 1000:1000 $CUR_DIR/console
chown -R 602:602 $CUR_DIR/{ezs1,ezs2}
chmod -R 0600 $CUR_DIR/{ezs1,ezs2}/config
# 设置 config 目录的子目录权限
find $CUR_DIR/{ezs1,ezs2}/config -type d -print0 | xargs -0 chmod 750

reset.sh

#!/bin/bash# 获取当前脚本所在目录的绝对路径
CUR_DIR=$(cd $(dirname $0); pwd)# 定义确认函数
function confirm() {display_str=$1default_ans=$2if [[ $default_ans == 'y/N' ]]; thenmust_match='[yY]'elsemust_match='[nN]'firead -p"${display_str} [${default_ans}]:" ans[[ $ans == $must_match ]]
}# 提示用户确认删除所有数据
confirm "RISK WARN: Delete all data!!!" 'y/N' && echo || exit# 删除 console、ezs1 和 ezs2 的数据和日志文件
rm -rvf $CUR_DIR/console/{data,log}/*
rm -rvf $CUR_DIR/{ezs1,ezs2}/{data,logs}/*

start.sh

#!/bin/bash# 使用 Docker Compose 启动 ezs2 项目中的服务
docker-compose -p ezs2 up

stop.sh

#!/bin/bash# 使用 Docker Compose 关闭并移除 ezs2 项目中的所有服务
docker-compose -p ezs2 down

在我的电脑中,可以看到成功启动的容器。
在这里插入图片描述

https://infinilabs.cn/docs/latest/easysearch/getting-started/install/docker-compose/

Console连接

设置集群连接参数,比如域名端口,用户名密码。
在这里插入图片描述

初始化,这里会新建索引,写一些sample数据。
在这里插入图片描述

设置后台管理的密码,后期使用这个登录控制台。

在这里插入图片描述

检查配置,完成集群关联。
在这里插入图片描述
这个是后台管理界面,除了用户名密码之外,也支持单点登录:
在这里插入图片描述

跨引擎、跨版本、跨集群 独一份!在这里插入图片描述

使用自带的面板进行查看节点数量:

在这里插入图片描述

同时也支持REST 风格的API来进行查询。
在这里插入图片描述

接下来来使用Console连接Amazon的OpenSearch:

同样是输入集群的URL,用户名和密码。
在这里插入图片描述

然后可以拿到集群的信息,比如地址,版本号,集群状态,节点数量。
在这里插入图片描述

最后看到连接成功的信息。
在这里插入图片描述

我们可以在集群管理中看到EasySearch的集群和我们刚刚添加的OpenSearch集群。

在这里插入图片描述

是否开源?目前还没有开放源代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

熊猫烧香是什么?

熊猫烧香(Worm.WhBoy.cw)是一种由李俊制作的电脑病毒,于2006年底至2007年初在互联网上大规模爆发。这个病毒因其感染后的系统可执行文件图标会变成熊猫举着三根香的模样而得名。熊猫烧香病毒具有自动传播、自动感染硬盘的能力,以及…

上海市计算机学会竞赛平台2023年5月月赛丙组最大子阵和

题目描述 给定 𝑛𝑛nn 个整数组成一个方阵 𝑎𝑖,𝑗ai,j​,请找一个 𝑘𝑘kk 的子方阵,使得子方阵内的数字之和达到最大,输出这个最大值。 输入格式 第一行&…

vue 组件下 img 标签动态传入不展示

效果 解决办法&#xff1a; require() <titleComponent:title"业务工作概览":src"require(/assets/imgs/evaluation/overviewStatistics.png)"></titleComponent> 效果&#xff1a;

Github 上 Star 数最多的大模型应用基础服务 Dify 深度解读(一)

背景介绍 接触过大模型应用开发的研发同学应该都或多或少地听过 Dify 这个大模型应用基础服务&#xff0c;这个项目自从 2023 年上线以来&#xff0c;截止目前&#xff08;2024-6&#xff09;已经获得了 35k 多的 star&#xff0c;是目前大模型应用基础服务中最热门的项目之一…

ss命令详细使用讲解文章

ss 命令作为 iproute2 软件包的一部分&#xff0c;是Socket Statistics的缩写&#xff0c;也称为IPC&#xff08;Inter-process Communication&#xff09;套接字统计 ss命令用于显示sockets&#xff08;套接字&#xff09;的状态。与netstat类似&#xff0c;但它通常提供更详…

WebKit 简介及工作流程探秘

在探索现代互联网世界的奥秘时&#xff0c;浏览器引擎是不可或缺的一环&#xff0c;而 WebKit 正是其中的佼佼者。WebKit&#xff0c;这个开源的浏览器渲染引擎&#xff0c;以其卓越的性能和广泛的支持度&#xff0c;成为了 Safari、早期的 Chrome 以及其他众多浏览器的核心。本…

【笔试记录】华为 | 20230823 | cpp

获取连通的相邻节点列表 题目描述 在网元内&#xff0c;存在了 N 个转发节点&#xff0c;每个转发节点有自己唯一的标识 TB 且每个节点有 M 个端口&#xff0c;节点间通过端口进行报文通讯。出于业务隔离的需求&#xff0c;服务器内的端口被划分为多个通讯平面(用 VLAN 隔离&…

取消lfs, 使用原始文件上传的办法

查询当前仓库使用lfs的文件&#xff0c;然后删除 git lfs ls-files 删除lfs文件后&#xff0c;提交commit git add . git commit -m"remove lfs file" 查询本地lfs配置 git config --local --list 重置本地lfs配置 git config --unset filter.lfs.smudgegit co…

从0到1搭建微服务框架

目录 1.技术栈&#xff1a; 2.模块介绍: 3.关键代码讲解 3.1基础公共模块(common)依赖&#xff1a; 3.3授权模块(auth)依赖: 3.4授权模块核心配置类(AuthrizatonConfig): 3.4 SecurityConfig.java 3.5 bootstrap的核心配置文件(其他服务配置类似这个)&#xff1a; 3.6n…

防爆巡检终端在石化工厂安全保障中的应用

防爆巡检终端在石化工厂安全保障中的应用是广泛而关键的&#xff0c;其设计旨在确保在易燃易爆环境中进行安全、有效的巡检工作。以下是防爆巡检终端在石化工厂安全保障中的详细应用描述&#xff1a; 1. 环境监测与预警 防爆巡检终端配备了各种传感器&#xff0c;能够实时监测…

网银U盾多又乱?后悔没早点用USB Server远程连接管理!

一、引言 网银服务已成为企业日常运营中不可或缺的一部分。但随着企业规模的扩大和业务的增多&#xff0c;网银U盾的数量也随之激增&#xff0c;又多又乱&#xff0c;只能频繁插拔、分散管理&#xff0c;不仅效率低下&#xff0c;而且存在严重的安全隐患。 事实上&#xff0…

ADS131A04硬件设计与软件调试

一、IC基本信息 ADS131A0x 双通道或四通道 24 位 128kSPS 同步采样 Δ-Σ ADC •双通道或四通道同步采样差分输入 • 数据速率&#xff1a;高达 128kSPS • 高性能&#xff1a; – 单通道精度&#xff1a;在 10,000:1 动态范围内优于 0.1% – 有效分辨率&#xff1a;20.6位…

SpringCloud-服务网关-Gateway

1.服务网关在微服务中的应用 (1)对外提供服务的难题分析&#xff1a; 微服务架构下的应用系统体系很庞大&#xff0c;光是需要独立部署的基础组件就有注册中心、配置中心和服务总线、Turbine异常聚合和监控大盘、调用链追踪器和链路聚合&#xff0c;还有Kaka和MQ之类的中间件&…

海思NNIE部署yolov5-shufflenet

1.简要说明 由于NNIE上transpose支持的顺序是固定的,shufflenet那种x=torch.transpose(x,1,2).contiguous() 的操作一般是不支持的。需要进行调整。 2.使用工程以及修改 使用的是开源工程:GitHub - Lufei-github/shufflev2-yolov5: shufflev2-yolov5:lighter, faster and ea…

c++应用网络编程之一基本介绍

一、网络编程介绍 c编程的应用场景在前面分析过&#xff0c;一个重要的方向就是网络编程。一般来说&#xff0c;开发者说的服务端编程在c方向上简单的可以认为是网络编程。首先需要说明的&#xff0c;本系列不对网络编程的相关基础知识展开详细的说明&#xff0c;因为这种知识…

玛格家居从深交所转板北交所:营收净利润连年下滑,销售费用大增

《港湾商业观察》施子夫 近日&#xff0c;玛格家居股份有限公司&#xff08;以下简称&#xff0c;玛格家居&#xff09;发布公告&#xff0c;重庆证监局已经受理其北交所上市的备案申请&#xff0c;辅导机构为国泰君安证券。 公开信息显示&#xff0c;2022年1月&#xff0c;玛…

【转】Android静态集成X5内核

项目中的老机器使用webview 无法加载vue3打包的网页&#xff0c;只能用独立的webview内核&#xff0c;采用静态加载x5内核的方式&#xff0c; 以下内容转自简书作者漆先生的博客&#xff0c;仅用作备份记录 之前在项目中在线集成的X5内核&#xff0c;但是效果不好&#xff0c;只…

基于STM32的智能电池管理系统

目录 引言环境准备智能电池管理系统基础代码实现&#xff1a;实现智能电池管理系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景&#xff1a;电池管理与优化问题解决方案与优化收尾与总结 1. 引言 智能电池管理系统&#xff08;Ba…

【昇思25天学习打卡营打卡指南-第十三天】ShuffleNet图像分类

ShuffleNet图像分类 ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端&#xff0c;所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操…

GPT-5 一年半后发布,打开人工智能新世纪

关于GPT-5一年半后发布的消息&#xff0c;这一预测主要基于OpenAI首席技术官Mira Murati的采访和声明。然而&#xff0c;需要明确的是&#xff0c;这个时间点&#xff08;即2025年底或2026年初&#xff09;已经与早期传闻有所不同&#xff0c;显示了OpenAI对产品质量的重视&…