设置参数 `node.name` 可以自定义 Elasticsearch 节点的名字。 此条 Tips 由 medcl 贡献。
gateway

gateway

INFINI Labs 产品更新 | Easysearch 1.7.1发布,改进跨集群复制的数据加载等

Easysearchliaosy 发表了文章 • 0 个评论 • 1612 次浏览 • 2024-03-04 15:25 • 来自相关话题

release

INFINI Labs 产品又更新啦~,包括 Console,Gateway,Agent 1.23.0 和 Easysearch 1.7.1。本次各产品更新了很多亮点功能,如 Console 优化实例管理中增加磁盘空闲空间显示,Easysearch 改进 HierarchyCircuitBreakerService 并添加断路器、改进跨集群复制的数据加载,增加对 source_reuse 索引的支持等。欢迎大家下载体验。

以下是本次更新的详细说明。

INFINI Easysearch v1.7.1

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Bug fix

  • 修复 source_reuse 与字段别名冲突
  • 改进 HierarchyCircuitBreakerService 并添加断路器
  • 修复 _meta 不为空且 启用 source_reuse 时的映射解析错误
  • 修复 source_reuse 下对多值还原不正确的问题

Improvements

  • 改进 HierarchyCircuitBreakerService 并添加断路器
  • 改进跨集群复制的数据加载,增加对 source_reuse 索引的支持

INFINI Console v1.23.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Bug fix

  • 修复数据迁移中数据分片范围因精度导致数据溢出显示为负数
  • 修复删除实例队列后消费的 Offset 未重置问题
  • 修复网友提出的各种问题,如集群设置默认打开节点、索引采集等

Improvements

  • 优化初始化配置向导,分步骤执行
  • 优化实例管理中增加磁盘空闲空间显示
  • 优化实例队列名称显示

INFINI Gateway v1.23.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Bug fix

  • 修复删除实例队列后消费的 Offset 未重置问题

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

如何防止 Elasticsearch 服务 OOM?

Easysearchyangmf2040 发表了文章 • 0 个评论 • 1930 次浏览 • 2024-02-26 10:12 • 来自相关话题

Elasticsearch(简称:ES) 和传统关系型数据库有很多区别, 比如传统数据中普遍都有一个叫“最大连接数”的设置。目的是使数据库系统工作在可控的负载下,避免出现负载过高,资源耗尽,谁也无法登录的局面。

那 ES 在这方面有类似参数吗?答案是没有,这也是为何 ES 会被流量打爆的原因之一。

针对大并发访问 ES 服务,造成 ES 节点 OOM,服务中断的情况,极限科技旗下的 INFINI Gateway 产品(以下简称 “极限网关”)可从两个方面入手,保障 ES 服务的可用性。

  1. 限制最大并发访问连接数。
  2. 限制非重要索引的请求速度,保障重要业务索引的访问速度。

下面我们来详细聊聊。

架构图

所有访问 ES 的请求都发给网关,可部署多个网关。

限制最大连接数

在网关配置文件中,默认有最大并发连接数限制,默认最大 10000。

entry:
  - name: my_es_entry
    enabled: true
    router: my_router
    max_concurrency: 10000
    network:
      binding: $[[env.GW_BINDING]]
      # See `gateway.disable_reuse_port_by_default` for more information.
      reuse_port: true

使用压测程序测试,看看到达10000个连接后,能否限制新的连接。 超过的连接请求,被丢弃。更多信息参考官方文档

限制索引写入速度

我们先看看不做限制的时候,测试环境的写入速度,在 9w - 15w docs/s 之间波动。虽然峰值很高,但不稳定。 接下来,我们通过网关把写入速度控制在最大 1w docs/s 。 对网关的配置文件 gateway.yml ,做以下修改。

env: # env 下添加
    THROTTLE_BULK_INDEXING_MAX_BYTES: 40485760 #40MB/s
    THROTTLE_BULK_INDEXING_MAX_REQUESTS: 10000 #10k docs/s
    THROTTLE_BULK_INDEXING_ACTION: retry #retry,drop
    THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES: 10 #1000
    THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS: 100 #10

router: # route 部分修改 flow
  - name: my_router
    default_flow: default_flow
    tracing_flow: logging_flow
    rules:
      - method:
          - "*"
        pattern:
          - "/_bulk"
          - "/{any_index}/_bulk"
        flow:
          - write_flow

flow: #flow 部分增加下面两段    
  - name: write_flow
    filter:
      - flow:
          flows:
            - bulking_indexing_limit
      - elasticsearch:
          elasticsearch: prod
          max_connection_per_node: 1000
  - name: bulking_indexing_limit
    filter:
      - bulk_request_throttle:
          indices:
            "test-index":
              max_bytes: $[[env.THROTTLE_BULK_INDEXING_MAX_BYTES]]
              max_requests: $[[env.THROTTLE_BULK_INDEXING_MAX_REQUESTS]]
              action: $[[env.THROTTLE_BULK_INDEXING_ACTION]]
              retry_delay_in_ms: $[[env.THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS]]
              max_retry_times: $[[env.THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES]]
              message: "bulk writing too fast" #触发限流告警message自定义
              log_warn_message: true

再次压测,test-index 索引写入速度被限制在了 1w docs/s 。

限制多个索引写入速度

上面的配置是针对 test-index 索引的写入速度控制。如果想添加其他的索引,新增一段配置即可。 比如,我允许 abc 索引写入达到 2w docs/s,test-index 索引最多不超过 1w docs/s ,可配置如下。

  - name: bulking_indexing_limit
    filter:
      - bulk_request_throttle:
          indices:
            "abc":
              max_requests: 20000
              action: drop
              message: "abc doc写入超阈值" #触发限流告警message自定义
              log_warn_message: true
            "test-index":
              max_bytes: $[[env.THROTTLE_BULK_INDEXING_MAX_BYTES]]
              max_requests: $[[env.THROTTLE_BULK_INDEXING_MAX_REQUESTS]]
              action: $[[env.THROTTLE_BULK_INDEXING_ACTION]]
              retry_delay_in_ms: $[[env.THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS]]
              max_retry_times: $[[env.THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES]]
              message: "bulk writing too fast" #触发限流告警message自定义
              log_warn_message: true

限速效果如下

限制读请求速度

我们先看看不做限制的时候,测试环境的读取速度,7w qps 。 接下来我们通过网关把读取速度控制在最大 1w qps 。 继续对网关的配置文件 gateway.yml 做以下修改。

  - name: default_flow
    filter:
      - request_path_limiter:
          message: "Hey, You just reached our request limit!"                                      rules:      
            - pattern: "/(?P<index_name>abc)/_search"                          
              max_qps: 10000
              group: index_name                                    
      - elasticsearch: 
          elasticsearch: prod                            
          max_connection_per_node: 1000

再次进行测试,读取速度被限制在了 1w qps 。

限制多个索引读取速度

上面的配置是针对 abc 索引的写入速度控制。如果想添加其他的索引,新增一段配置即可。 比如,我允许 abc 索引读取达到 1w qps,test-index 索引最多不超过 2w qps ,可配置如下。

  - name: default_flow
    filter:
      - request_path_limiter:
          message: "Hey, You just reached our request limit!"
          rules:
            - pattern: "/(?P<index_name>abc)/_search"
              max_qps: 10000
              group: index_name
            - pattern: "/(?P<index_name>test-index)/_search"
              max_qps: 20000
              group: index_name
      - elasticsearch:
          elasticsearch: prod
          max_connection_per_node: 1000

多个网关限速

限速是每个网关自身的控制,如果有多个网关,那么后端 ES 集群收到的请求数等于多个网关限速的总和。 本次介绍就到这里了。相信大家在使用 ES 的过程中也遇到过各种各样的问题。欢迎大家来我们这个平台分享自己的问题、解决方案等。如有任何问题,请随时联系我,期待与您交流!

INFINI Labs 产品更新 | Console 数据迁移支持 Percentiles 均匀分区

资讯动态liaosy 发表了文章 • 0 个评论 • 2657 次浏览 • 2023-12-30 16:25 • 来自相关话题

release

INFINI Labs 产品又更新啦~,包括 Console v1.14.0,Gateway 1.21.0。其中 Console 数据迁移支持 Percentiles 均匀分区,修复已知 Bug 等。以下是本次更新的详细说明。

INFINI Console v1.14.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 数据迁移支持 decimal 类型分区设置
  • 数据迁移支持 number 类型均匀分区

Bug fix

  • 修复告警恢复后,新周期内没有发送告警通知消息的问题

INFINI Gateway v1.21.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Bug fix

  • fix log error when temp file was missing

INFINI Framework

INFINI Framework 是 INFINI Labs 各产品依赖的内部核心公共代码库。

Framework 本次更新如下:

  • feat: support even partition
  • feat: support nested object
  • fix log error when temp file was missing

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题,Gateway 内存异常增长等问题

Easysearchliaosy 发表了文章 • 0 个评论 • 2143 次浏览 • 2023-12-01 18:45 • 来自相关话题

release

INFINI Labs 产品又更新啦~,本次更新主要对 Easysearch、Gateway、Console、Agent 等产品功能进行优化和相关 Bug 修复,解决了内存异常增长等问题,以下是详细说明。

INFINI Easysearch v1.6.2

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Bug fix

  • 修复跨集群复制(CCR)不能对自动滚动生成的索引进行同步的问题

Improvements

  • 优化初始化脚本,增加-s/-slient 参数,自动安装。
  • 新增含 jdk/plugins 的 bundle 安装包

INFINI Gateway v1.20.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Bug fix

  • 修复由 Framework Bug 造成连接数不释放、内存异常增长的问题

Improvements

  • 增加配置,允许设置 fasthttp client 相关参数

INFINI Console v1.12.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Bug fix

  • 修复数据探索 multi fields 字段计算 top values 报错的问题
  • 修复由 Framework Bug 造成连接数不释放、内存异常增长的问题
  • 修复内网模式下静态资源远程加载的问题
  • 修复数据看板数据源配置校验异常的问题

Improvements

  • 优化数据探索计算 top values,使用先采样后,后取 top values
  • 可通过配置参数 http_client.read_buffer_size 设置读取缓存大小,解决开发工具执行命令时,默认缓存太小的问题

INFINI Agent v0.7.1

INFINI Agent 是 INFINI Console 的一个可选探针组件,负责采集和上传集群指标和日志等信息,并可通过 Console 管理。Agent 支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。

Agent 本次更新如下:

Features

  • 添加 http processor

Bug fix

  • 修复由 Framework Bug 造成连接数不释放、内存异常增长的问题

Improvements

  • 进一步优化内存占用,降到 50M 以下

INFINI Framework

INFINI Framework 是 INFINI Labs 各产品依赖的内部核心公共代码库。

Framework 本次更新如下:

  • fix: fix the issue of disk queue was blocked
  • chore: checkout specify branch before pull

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | 发布 Easysearch Java 客户端,Console 支持 SQL 查询等功能

Easysearchliaosy 发表了文章 • 0 个评论 • 2718 次浏览 • 2023-11-17 18:56 • 来自相关话题

release

INFINI Labs 产品又更新啦~,本次更新概要如下:发布 Easysearch-client Java 客户端,开发者通过 client 与 Easysearch 集群的交互变得更加简洁和直观;Console 开发工具新增 SQL 特性,支持 SELECT 查询等语法高亮和自动提示等;Gateway 的系统 API 添加了基于基本身份验证的安全功能。

以下是本次更新的详细说明。

INFINI Easysearch-client v1.0.1

正式发布 Easysearch Java 客户端。

这一里程碑式的更新为开发人员带来了前所未有的便利性,使得与 Easysearch 集群的交互变得更加简洁和直观。现在,通过 Easysearch-client 客户端,开发者可以直接使用 Java 方法和数据结构来进行交互,而不再需要依赖于传统的 HTTP 方法和 JSON。这一变化大大简化了操作流程,使得数据管理和索引更加高效。高级客户端的功能范围包括处理数据操作,管理集群,包括查看和维护集群的健康状态,并对 Security 模块全面兼容。它提供了一系列 API,用于管理角色、用户、权限、角色映射和账户。这意味着安全性和访问控制现在可以更加细粒度地管理,确保了数据的安全性和合规性。

使用说明参见:快速开始

INFINI Console v1.11.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 开发工具 SQL 查询支持
    • 支持 SELECT 查询及语法高亮
    • 支持索引和字段自动提示
    • 支持 FROM 前置语法

Bug fix

  • 修复平台概览集群指标为空的问题

Improvements

  • LDAP 支持从 DN 中解析 OU 属性
  • 集群动态优化显示,新增节点名称和索引名称的聚合统计过滤

INFINI Gateway v1.19.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Features

  • 添加 http 处理器
  • 在 API 模块中添加基于基本身份验证的安全性
  • 允许将自身注册到配置管理器
  • 允许在配置错误时触发 panic

Bug fix

  • 修复 rewrite_to_bulk 在较新版本中缺少 _type 的问题
  • 修复 rewrite_to_bulk,支持无索引文档操作

Improvements

  • 更新测试,断言解析结果

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | Gateway 支持基于 Kafka 的复制能力,发布 Helm Charts 部署方式

资讯动态liaosy 发表了文章 • 0 个评论 • 1653 次浏览 • 2023-09-22 16:16 • 来自相关话题

release

INFINI Labs 产品又更新啦~。本次更新概要如下:Easysearch 新增了索引字段相关统计 API,优化了 source_reuse 提升压缩效率;Gateway 新增诸多新特性,如:支持基于 Kafka 的复制能力,添加可插拔的分布式锁实现,新增 CPU 资源限制等功能;Console 本次主要优化了数据迁移功能,迁移任务详情页新增了若干指标图和日志查看等功能。

欢迎大家下载使用和反馈。

INFINI Helm Charts v0.1.0

INFINI Helm Charts 是一组 Kubernetes 部署包管理工具。基于 Helm Charts,我们将 INFINI Labs 旗下相关产品预先配置好程序资源包,大大简化了部署流程。Github 仓库地址:https://github.com/infinilabs/helm-charts

Helm Charts 本次更新如下:

Features

  • 添加 Console Chart
  • 添加 Easysearch Chart,支持单节点以及多节点(节点角色可配置)部署

部署视频演示:

博客文章:

INFINI Easysearch v1.6.0

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Features

  • 新增 _field_usage_stats API,统计索引每个字段的访问次数
  • 新增 _disk_usage API,可以分析指定索引每个字段的磁盘占用大小
  • 增加 flattened 类型,将 JSON 对象作为字符串处理,可以减少嵌套 JSON 型的文档的大小

Improvements

  • source_reuse 增加对 _source 中数字类型的值进行复用压缩,可进一步降低 _source 磁盘占用
  • 改进 source_reuse 筛选字段的逻辑

INFINI Gateway v1.18.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Breaking changes

  • 彻底移除了 request_body_truncate 和 response_body_truncate 过滤器

Features

  • 支持基于 Kafka 的复制能力
  • 在请求上下文中添加 _util.generate_uuid
  • 在请求上下文中添加 _util.increment_id.BUCKET_NAME
  • 在 Pipeline 配置中添加 singleton,防止多个 Pipeline 同时运行
  • 添加可插拔的分布式锁实现
  • 添加通用应用程序的 preference 配置
  • 泛化队列抽象,重构磁盘队列,完善 Kafka 实现
  • 添加 merge_to_bulk 处理器, 废弃 indexing_merge 处理器
  • 添加 flow_replay 处理器,废弃 flow_runner 处理器
  • 为复制场景添加 replication_correlation
  • 添加 hash_mod 过滤器
  • 在 bulk_response_process 过滤器中添加新参数
  • 添加 request_reshuffle 过滤器
  • 添加资源限制,允许设置最大 CPU 数或绑定亲和性
  • 支持模板中的嵌套变量
  • 添加 rewrite_to_bulk 过滤器

Bug fix

  • 修复了 Pipeline 中重试延迟未生效的问题
  • 修复了模板中不支持数字的问题
  • 修复了队列选择器通过标签的问题,如果指定了多个标签,它们都应该一起匹配

Improvements

  • 将所有模块名称转换为小写
  • 在启动期间预取 Elasticsearch 元数据
  • 添加应用程序范围的关闭信号
  • 重构队列 API,支持 Kafka 管理
  • 在 Badger 模块中添加 enabled
  • 允许使用优先级注册模块/插件
  • 统一队列的使用和初始化
  • 优化 bulk_reshuffle 过滤器的性能,添加响应头 X-Bulk-Reshuffled
  • 支持在 queue 过滤器中使用变量,允许输出最后生成的消息偏移量

INFINI Console v1.8.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 数据迁移任务支持自定义名称和添加标签
  • 数据迁移任务详情页新增若干指标
  • 数据迁移任务详情页新增查看日志

Improvements

  • 数据迁移 UI 优化
  • 优化监控报表、数据看板、数据探索的时间控件 UI

数据迁移列表页

数据迁移详情页

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.com/invite/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | Easysearch 新增分词插件、Gateway 支持邮件发送等功能

资讯动态liaosy 发表了文章 • 0 个评论 • 1472 次浏览 • 2023-07-21 17:28 • 来自相关话题

INFINI Labs 产品又更新啦~,本次更新概要如下:Easysearch 新增了分词插件、优化了生命周期管理功能等;Gateway 新增 smtp 过滤器来支持邮件的发送,支持自动跳过因为异常关闭而损坏的磁盘队列文件等;Console 新增熔断器监控指标、新增矩形树图(Treemap)、优化了探针 Agent 指标采集和集群自动关联操作等。欢迎大家下载体验。

INFINI Easysearch v1.4.0

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10 版本。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Features

  • 索引生命周期管理增加 wait_for_snapshot 操作,在删除索引之前,等待执行指定的快照管理策略,这样可以确保已删除索引的快照可用
  • 增加 analysis-hanlp 分词插件
  • 增加 jieba 分词插件

Bug fix

  • 修复启用 index.source_reuse 时,对复杂多层 json 的 source 字段 解析不正确的 Bug

Improvements

  • 更新索引生命周期管理 api 文档,增加策略应用和更新说明,增加 wait_for_snapshot 说明
  • 执行 initialize.sh 命令时增加初始化确认提示,是否将 admin 密码记录日志

INFINI Gateway v1.17.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Features

  • 新增 consumer Processor 来标准化订阅消息队列
  • 新增 smtp 过滤器来支持邮件的发送

Bug fix

  • 支持自动跳过因为异常关闭而损坏的磁盘队列文件

INFINI Console v1.4.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 新增熔断器监控指标
  • 网关队列管理支持多选删除消费者
  • 数据看板新增组件矩形树图

Bug fix

  • 修复开发工具智能提示兼容性问题
  • 修复探针列表状态显示异常的问题
  • 修复探针列表分页不生效的问题
  • 修复数据看板 统计函数显示不对的问题
  • 修复探针下发采集指标配置重复的问题
  • 修复数据看板设置过滤条件不生效的问题
  • 修复主机列表探针状态不对的问题
  • 修复网关管理删除队列不成功的问题
  • 修复数据探索当前集群没索引时跳转的问题
  • 修复数据看板编辑状态下点击事件的问题

Improvements

  • 探针进程关联支持通过选择集群自动关联,简化操作
  • 探针列表支持排序
  • 探针支持向上滚动查看节点日志
  • 采集监控指标添加 cluster_uuid 信息
  • 数据看板支持配置指标排序

INFINI Agent v0.6.0

INFINI Agent 是 INFINI Console 的一个可选探针组件,负责采集和上传集群指标和日志等信息,并可通过 Console 管理。Agent 支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。

Agent 本次更新如下:

Features

  • 采集监控指标添加 cluster_uuid 信息

Improvements

  • 修复发现节点进程信息时获取不到最新集群配置的问题

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

或者通过 Discord 渠道加入聊天室:https://discord.com/invite/tnZ8S5vQ

欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

用极限网关实现ES容灾,简单!

Elasticsearchyangmf2040 发表了文章 • 0 个评论 • 2061 次浏览 • 2023-07-20 10:33 • 来自相关话题

身为 IT 人士,大伙身边的各种系统肯定不少吧。系统虽多,但最最最重要的那套、那几套,大伙肯定是捧在手心,关怀备至。如此重要的系统,万一发生故障了且短期无法恢复,该如何保障业务持续运行? 有过这方面思考或经验的同学,肯定脱口而出--切灾备啊。 是的,接下来我来介绍下我们的 ES 灾备方案。当然如果你有更好的,请使用各种可用的渠道联系我们。

总体设计

通过极限网关将应用对主集群的写操作,复制到灾备集群。应用发送的读请求则直接转发到主集群,并将响应结果转发给应用。应用对网关无感知,访问方式与访问 ES 集群一样。

方案优势

  • 轻量级

极限网关使用 Golang 编写,安装包很小,只有 10MB 左右,没有任何外部环境依赖,部署安装都非常简单,只需要下载对应平台的二进制可执行文件,启动网关程序的二进制程序文件执行即可。

  • 跨版本支持

极限网关针对不同的 Elasticsearch 版本做了兼容和针对性处理,能够让业务代码无缝的进行适配,后端 Elasticsearch 集群版本升级能够做到无缝过渡,降低版本升级和数据迁移的复杂度。

  • 高可用

极限网关内置多种高可用解决方案,前端请求入口支持基于虚拟 IP 的双机热备,后端集群支持集群拓扑的自动感知,节点上下线能自动发现,自动处理后端故障,自动进行请求的重试和迁移。

  • 灵活性

主备集群都是可读可写,切换迅速,只需切换网关到另一套配置即可。回切灵活,恢复使用原配置即可。

架构图

网关程序部署

下载

根据操作系统和平台选择下面相应的安装包: 解压到指定目录:

mkdir gateway
tar -zxf xxx.gz -C gateway

修改网关配置

在此 下载 网关配置,默认网关会加载配置文件 gateway.yml ,如果要指定其他配置文件使用 -config 选项指定。 网关配置文件内容较多,下面展示必要部分。

  #primary
  PRIMARY_ENDPOINT: http://192.168.56.3:7171
  PRIMARY_USERNAME: elastic
  PRIMARY_PASSWORD: password
  PRIMARY_MAX_QPS_PER_NODE: 10000
  PRIMARY_MAX_BYTES_PER_NODE: 104857600 #100MB/s
  PRIMARY_MAX_CONNECTION_PER_NODE: 200
  PRIMARY_DISCOVERY_ENABLED: false
  PRIMARY_DISCOVERY_REFRESH_ENABLED: false
  #backup
  BACKUP_ENDPOINT: http://192.168.56.3:9200
  BACKUP_USERNAME: admin
  BACKUP_PASSWORD: admin
  BACKUP_MAX_QPS_PER_NODE: 10000
  BACKUP_MAX_BYTES_PER_NODE: 104857600 #100MB/s
  BACKUP_MAX_CONNECTION_PER_NODE: 200
  BACKUP_DISCOVERY_ENABLED: false
  BACKUP_DISCOVERY_REFRESH_ENABLED: false

PRIMARY_ENDPOINT:配置主集群地址和端口
PRIMARY_USERNAME、PRIMARY_PASSWORD: 访问主集群的用户信息
BACKUP_ENDPOINT:配置备集群地址和端口
BACKUP_USERNAME、BACKUP_PASSWORD: 访问备集群的用户信息

运行网关

前台运行 直接运行网关程序即可启动极限网关了,如下:

./gateway-linux-amd64

后台运行

./gateway-linux-amd64 -service install
Success
./gateway-linux-amd64 -service start
Success

卸载服务

./gateway-linux-amd64 -service stop
Success
./gateway-linux-amd64 -service uninstall
Success

灾备功能测试

在灾备场景下,为保证数据一致性,对集群的访问操作都通过网关进行。注意只有 bulk API 的操作才会被复制到备集群。 在此次测试中,网关灾备配置功能为:

  • 主备集群正常时

读写请求正常执行; 写请求被记录到队列,备集群实时消费队列数据。

  • 当主集群故障时

写入请求报错,主备集群都不写入数据; 查询请求转到备集群执行,并返回结果给客户端。

  • 当备集群故障时

读写请求都正常执行; 写操作记录到磁盘队列,待备集群恢复后,自动消费队列数据直到两个集群一致。

主备集群正常时写入、查询测试

写入数据

# 通过网关写入数据
curl -X POST "localhost:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "create" : { "_index" : "test", "_id" : "2" } }
{ "field2" : "value2" }
'

查询数据

# 查询主集群
curl 192.168.56.3:7171/test/_search?pretty -uelastic:password

# 查询备集群
curl 192.168.56.3:9200/test/_search?pretty -uadmin:admin

# 查询网关,网关转发给主集群执行
curl 192.168.56.3:18000/test/_search?pretty -uelastic:password

主备集群都已写入数据,且数据一致。通过网关查询,也正常返回。

删除和更新文档

# 通过网关删除和更新文档
curl -X POST "192.168.56.3:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "delete" : { "_index" : "test", "_id" : "1" } }
{ "update" : {"_id" : "2", "_index" : "test"} }
{ "doc" : {"field2" : "value2-updated"} }
'

查询数据
# 查询主集群
curl 192.168.56.3:7171/test/_search?pretty -uelastic:password

# 查询备集群
curl 192.168.56.3:9200/test/_search?pretty -uadmin:admin

两个集群都已执行删除和更新操作,数据一致。

主集群故障时写入、查询测试

为模拟主集群故障,直接关闭主集群。

写入数据

# 通过网关写入数据
curl -X POST "192.168.56.3:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "index" : { "_index" : "test", "_id" : "3" } }
{ "field3" : "value3" }
{ "create" : { "_index" : "test", "_id" : "4" } }
{ "field4" : "value4" }
'

写入数据报错

查询数据

# 通过网关查询,因为主集群不可用,网关将查询转发到备集群执行
curl 192.168.56.3:18000/test/_search?pretty -uelastic:password

正常查询到数据,说明请求被转发到了备集群执行。

备集群故障时写入、查询测试

为模拟备集群故障,直接关闭备集群。

写入数据

# 通过网关写入数据
curl -X POST "192.168.56.3:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "index" : { "_index" : "test", "_id" : "5" } }
{ "field5" : "value5" }
{ "create" : { "_index" : "test", "_id" : "6" } }
{ "field6" : "value6" }
'

数据正常写入。

查询数据

# 通过网关查询
curl 192.168.56.3:18000/test/_search?pretty -uelastic:password

查询成功返回。主集群成功写入了两条新数据。同时此数据会被记录到备集群的队列中,待备集群恢复后,会消费此队列追数据。

恢复备集群

启动备集群。

查询数据

等待片刻或通过 INFINI Console 确定网关队列消费完毕后,查询备集群的数据。 (生产和消费 offset 相同,说明消费完毕。)

# 查询备集群的数据
curl 192.168.56.3:9200/test/_search?pretty -uadmin:admin

备集群启动后自动消费队列数据,消费完后备集群数据达到与主集群数据一致。

灾备切换

测试了这么多,终于到切换的时刻了。切换前我们判断下主系统是否短期无法修复。

如果我们判断主用系统无法短时间恢复,要执行切换。非常简单,我们直接将配置文件中定义的主备集群互换,然后重启网关程序就行了。但我们推荐在相同主机上另部署一套网关程序--网关B,先前那套用网关A指代。网关B中的配置文件把原备集群定义为主集群,原主集群定义为备集群。若要执行切换,我们先停止网关A,然后启动网关B,此时应用连接到网关(端口不变),就把原备系统当作主系统使用,把原主系统当作备系统,也就完成了主备系统的切换。

灾备回切

当原主集群修复后,正常启动,就会从消费队列追写修复期间产生数据直到主备数据一致,同样我们可通过 INFINI Console 查看消费的进度。如果大家还是担心数据的一致性,INFINI Console 还能帮大家做[校验数据]()任务,做到数据完全一致后(文档数量及文档内容一致),才进行回切。

回切也非常简单,停止网关B,启动网关A即可。

网关高可用

网关自带浮动 IP 模块,可进行双机热备。客户端通过 VIP 连接网关,网关出现故障时,VIP 漂移到备网关。 视频教程戳这里

这样的优点是简单,不足是只有一个网关在线提供服务。如果想多个网关在线提供服务,则需搭配分布式消息系统一起工作,架构如下。

前端通过负载均衡将流量分散到多个在线网关,网关将消息存入分布式消息系统。此时,网关可看作无状态应用,可根据需要扩缩规模。

以上就是我介绍的ES灾备方案,是不是相当灵活了。有问题还是那句话 Call me 。

关于极限网关

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway,可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

官网文档:https://www.infinilabs.com/docs/latest/gateway

INFINI Labs 产品更新 | Easysearch 新增跨集群复制 (CCR)、支持快照生命周期管理 (SLM) 功能等

资讯动态liaosy 发表了文章 • 0 个评论 • 3057 次浏览 • 2023-06-10 13:13 • 来自相关话题

INFINI Labs 产品重量级更新!!!本次更新了很多亮点功能,如 Easysearch 新增跨集群复制 (CCR)、支持快照生命周期管理 (SLM) 功能等;支持多集群、跨版本的搜索基础设施统一管控平台 Console 新增了免费授权申请功能等。欢迎大家下载使用。

Console 在线体验:http://demo.infini.cloud (用户名/密码:readonly/readonly)。

INFINI Easysearch v1.2.0

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10 版本。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Features

  • 正式发布快照生命周期管理 (SLM) API, 支持定时备份和删除快照,以及保留快照的个数
  • 增加跨集群复制 (Cross-cluster replication) 功能:
    • 支持手动或自动复制索引
    • 支持暂停和恢复复制索引
    • 支持取消指定索引的跨集群复制

Bug Fix

  • security 模块修复缺少某些角色验证属性的问题

Improvements

  • 兼容 ES6.0 版本的索引

INFINI Gateway v1.15.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway,可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Features

  • 增加 auto_generate_doc_id 在线过滤器,支持 index 自动生成 _id

Bug Fix

  • 修复 floating_ip 错误抢占的问题
  • 修复 elasticsearch 对 x-forwarded-for 的错误覆盖问题
  • 修复 queue_consumer 在队列没有消息时高 CPU 占用的问题

INFINI Console v1.3.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 本次更新如下:

Features

  • 数据看板新增新增 Dashboard 导入导出功能

  • 数据看板表格组件 UI 调整,并新增排序功能
  • 数据看板组件支持多指标(折线图、面积图、柱状图、条形图)

  • 数据迁移新增增量迁移、定时运行功能
  • 数据比对新增增量比对、定时运行功能

更多参见:增量数据迁移介绍

  • 监控报表新增索引,节点健康状态指标
  • 新增免费授权申请功能

  • 新增 Agent 管理功能
    • Agent 注册以及基本信息修改
    • 查看 Agent 主机 ES 进程信息,进程关联到已注册集群后,自动采集该 ES 集群指标及日志
    • 通过 Agent 查看 ES 节点日志
    • Agent 支持 Linux 平台脚本一键安装

更多参见 :Agent 管理功能介绍

Bug fix

  • 修复没给菜单权限,左侧菜单依然显示的问题
  • 修复删除数据看板 Dashboard 时 url 中 id 不更新的问题
  • 修复数据看板指标字段搜索无数据的问题
  • 修复数据探索切换索引(视图)时报错的问题
  • 修复数据探索切换时间字段后索引显示不正常的问题
  • 修复数据探索切换表格样式的问题
  • 修复数据看板框选一个坐标点进行时间过滤时无数据的问题
  • 修复数据看板只读用户标签页样式的问题
  • 修复数据看板组件放大后进入编辑界面 UI 不正常的问题

Improvements

  • 节点监控详情分片列表增加索引写入指标
  • 数据看板柱状图和条形图新增配置是否堆叠
  • 告警模版添加函数 get_keystore_secret 支持访问 keystore 变量

INFINI Agent v0.5.0

INFINI Agent 是 INFINI Console 的一个可选探针组件,负责采集和上传集群指标和日志等信息,并可通过 Console 管理。Agent 支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。

探针 Agent 本次更新如下:

Features

  • 支持将 Agent 注册到 Console
  • 添加保存配置到动态加载目录接口

Improvements

  • 优化自动发现 Elasticsearch 实例进程
  • 优化查看 Elasticsearch 实例日志相关 API

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | Console 新增数据比对、新增数据看板表格组件及支持下钻功能等

资讯动态liaosy 发表了文章 • 0 个评论 • 2551 次浏览 • 2023-05-26 16:00 • 来自相关话题

INFINI Labs 产品更新啦~,本次产品版本更新包括 Gateway v1.14.0、Console v1.2.0、Easysearch v1.1.1 等,其中 Console 在上一版基础上做了很多优化改进以及新增了一些特性,如新增数据比对校验功能、数据看板模块新增了表格组件、图表组件支持下钻功能等。欢迎下载体验。

INFINI Gateway v1.14.0

极限网关本次更新如下:

Features

  • 支持自定义服务名称
  • metrics 增加实例 user_in_ms 和 sys_in_ms 采集
  • elasticsearch 增加 dial_timeout 选项

Bug Fix

  • 修复网关开启实时日志推送后命令行日志无法输出的问题
  • logging 修复 min_elapsed_time_in_ms 选项不生效的问题
  • 修复一个消费闲置队列造成 CPU 占用高的问题

更多更新参见【 Gateway 版本历史 】。

INFINI Console v1.2.0

Console 本次更新如下:

数据比对

数据比对目前支持跨集群索引全量数据校验,常用于索引数据迁移之后,校验两端的数据是否一致,保障数据迁移的正确性。通过 UI 界面创建数据校验任务和管理。

进入校验任务详情,能够可视化展示分区子任务的进度,不同的颜色方块表示进度状态,如绿色表示校验成功、红色表示校验失败,如失败了可以查看 log 日志进行错误原因定位。

具体操作参见:教程

数据看板

Console 数据看板模块新增了表格组件,进一步扩展 Dashboard 看板图表多样化,增强数据可视化能力。详情查看 操作演示视频

同时,数据看板模块新增了下钻功能,支持图表组件配置自定义下钻 URL 链接,在图表组件上进行时间范围框选后即可点击下钻按钮进行链接跳转。详情查看 操作演示视频

告警模板支持环境变量

新版 Console 支持解析系统环境变量和配置文件中配置的环境变量。在配置告警规则消息内容时可通过 {{$.env.VARIABLE}} 方式设置环境变量,详情参见:教程

除了以上主要新增功能外,Console 其他更新如下:

Bug fix

  • 修复数据看板组件复制的问题
  • 修复开启实时推送日志后,不写文件日志的问题
  • 修复初始化时,系统集群没有索引,节点元数据的问题
  • 修复网关重启后,数据迁移任务无法结束的问题
  • 修复数据迁移任务统计数据重复的问题
  • 修复数据探索列表时间字段排序问题

Improvements

  • 告警规则表达式显示优化
  • 优化数据迁移任务调度流程,减少 ES 调用次数
  • 数据迁移任务增加跳过 scroll/bulk 文档数检查选项

更多更新参见【 Console 版本历史 】。

INFINI Framework

INFINI Framework 作为 INFINI Search Platform 各产品组件的公共框架模块,其更新如下:

Features

  • 支持自定义服务名称,可用于单机多实例部署
  • 新增统计接口别名:/stats/prometheus

INFINI Easysearch v1.1.1

Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10.2 版本。本次主要更新如下:

Bug fix

  • 修复模板别名在某些场景不生效的 Bug
  • 防止 BigArray 在某些场景发生内存泄漏
  • 修复 SourceValueFetcher 可能遗漏字段的 Bug

Improvements

  • easysearch.yml 增加 elasticsearch.api_compatibility 配置项,兼容 logstash-oss,filebeat-oss,apm-server-oss 等 elasticsearch 的客户端

更多更新参见【 Easysearch 版本历史 】。

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

最后祝大家周末愉快!

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

INFINI Labs 产品更新 | 重磅推出 Easysearch 一个分布式的近实时搜索与分析引擎

资讯动态liaosy 发表了文章 • 0 个评论 • 2662 次浏览 • 2023-05-16 11:57 • 来自相关话题

INFINI Labs 产品更新发布

INFINI Labs 产品又更新啦,包括 Easysearch v1.1.0、Gateway v1.13.0、Console v1.1.0、Agent v0.4.0,其中 Easysearch 经过团队的数月打磨,现正式对外推出。Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10.2 版本。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。欢迎大家下载体验。

INFINI Easysearch v1.1.0

INFINI Easysearch 本次更新最重要的功能是引入了 ZSTD 压缩算法,对索引进行全方位的压缩,尤其针对日志数据压缩效果更加明显,针对 1.1G 的 Nginx 日志进行测试,采用 ZSTD 策略后,膨胀率只有 0.94,甚至比原始数据还要小,而且还能进一步压缩,和 index.source_reuse 结合使用后,膨胀率只有 0.7,索引大小只有 Elasticsearch 原生 best_compression 的 59%,是 Elasticsearch 6.x 的 49%。下面是一张索引大小对比图:

更多介绍查看 详情

其他更新功能如下:

Breaking changes

  • Lucene 版本升级到 8.11.2

Breaking changes

  • 增加 ZSTD codec, 引入 ZSTD 压缩算法,对存储字段,doc_values,词典进行压缩。
  • 增加 index.source_reuse 索引级别配置,对 _source 进一步压缩。
  • 提供索引生命周期管理 ILM 模块的功能,绝大部分 api 兼容 elasticsearch

Breaking changes

  • 减少冗余日志输出。
  • 减少 modules 模块整体大小。

下载地址:https://www.infinilabs.com/download

INFINI Gateway v1.13.0

极限网关本次更新如下:

Features

  • router.rules 增加 enabled 选项,控制是否启用 flow
  • 增加对 loong64 架构的支持
  • 增加对 riscv64 架构的支持
  • elasticsearch filter 增加 dial_timeout 选项

Bug fix

  • 修复 http/elasticsearch 转发后 HTTP 响应头丢失的问题
  • 修复 pipeline 热加载出现重复 pipeline 同时运行的问题
  • 修复 bulk_indexing 退出后泄漏 goroutine 的问题

Improvements

  • 优化 HTTP 头设置方式,避免出现重复的 HTTP 头
  • 优化 pipeline 停止的响应速度
  • pipeline 增加 enabled 选项,控制是否启用 pipeline

更多 Gateway 更新可参考【Gateway 版本历史】。

INFINI Console v1.1.0

本次 INFINI Console 版本发布主要新增了网关实时日志查看功能、完善了数据迁移功能和数据看板的可视化能力、以及修复了已知 Bug。

实时日志

登录 Console,进入 [资源管理][网关管理] 界面,可以看到网关实时日志入口(前提需要注册网关)如下图所示:

进入实时日志展示界面,点击“开始”按钮后,服务端将 Gateway 日志实时推送到 Console 界面展示,在该界面可以动态调整输出不同的日志级别(DEBUG、INFO、WARN、ERROR 等),同时也支持文件名、方法名、消息内容加通配符进行过滤。

详情查看 动手教程操作演示视频

数据迁移

数据迁移模块,基于上个版本做了优化,添加 ILM,Template,Alias 初始化操作。方便用户根据各自的需求迁移索引生命周期、模板、别名等。

数据看板

数据看板图表支持复制、快速切换、时间框选、缩放、标记高亮,进一步增强 Console 可视化能力。

详情查看 操作演示视频

除以上主要功能更新外,Console 其他功能优化如下:

Bug fix

  • 修复数据探索保存查询出现 mapping 错误的问题
  • 修复数据看板组件数据源配置的问题
  • 修复数据探索左侧字段栏样式的问题
  • 修复集群注册向导点击跳转后丢失集群类型的问题

Improvements

  • 数据看板汉化

更多 Console 更新可参考【Console 版本历史】。

INFINI Agent v0.4.0

数据采集工具探针(INFINI Agent)更新如下:

Features

  • 新增 logs_processor ,配置采集本地日志文件

Breaking changes

  • es_logs_processor 调整日志字段
    • created 重命名为 timestamp
    • 自动提取 payload.timestamp payload.@timestmap 字段到 timestamp
  • es_logs_processor 删除 enable 选项

下载地址: https://www.infinilabs.com/download/?product=agent

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

详情参见官网:https://www.infinilabs.com

INFINI 产品更新|Console v1.0 版本正式发布

默认分类liaosy 发表了文章 • 0 个评论 • 2680 次浏览 • 2023-04-23 16:09 • 来自相关话题

INFINI Labs 产品更新发布

本次 INFINI Labs 产品更新主要包括 Gateway v1.12.1、Console v1.0.0,其中 Console v1.0.0 是一个重要里程碑版本,该版本做了很多UI交互优化;集成了Github SSO 单点登录功能;新增了数据迁移功能,支持跨搜索引擎、跨版本的数据迁移;新增了数据看板,支持自定义可视化报表;以及修复已知Bug等。值得一提的是,Console 非常轻量级,安装包只有16MB,架构简洁,除了使用 Elasticsearch 当作数据存储外无任何外部依赖,包含监控、告警、安全、可视化分析等日常管理功能,欢迎下载使用。在线体验DEMO:https://play.infinilabs.com:64443,用户名密码 readonly/readonly。

INFINI Gateway v1.12.1

极限网关本次更新如下:

Bug fix

  • Elasticsearch 修复偶现连接断开的问题。
  • Elasticsearch 修复连接超时未返回错误信息的问题。

更多 Gateway 更新可参考【Gateway 版本历史】。

INFINI Console v1.0.0

Console 本次主要更新如下:

1、集成 Github 单点登录,方便快速登录,减少用户名和密码登录经常忘记带来的烦恼。详情查看教程

1682236995658.jpg

2、新增了工作台界面,作为 Console 登录后的入口页面,可以快速预览整个系统的集群资源概要信息、集群动态、常用功能快捷入口等。

640.png

3、新增了数据迁移功能,支持 Elasticsearch、Opensearch、Easysearch 等搜索引擎的所有版本之间相互迁移。需要搭配 最新版本极限网关(INFINI Gateway) 使用,详情查看教程

640_(1).png

4、新增了数据看板功能,支持多标签页,支持折线图、柱状图、饼图等图表,支持用户自定义可视化数据报表,详情查看教程

640_(2).png

5、数据探索 Discover 添加搜索关键词高亮功能。

640_(3).png

除了以上主要功能外还做了很多优化和Bug fix,如下:

Features

  • 数据迁移添加初始化索引 settings, mappings 可选步骤
  • 数据迁移添加删除功能

Improvements

  • 添加 Opening scroll context 监控指标
  • 数据迁移分区设置优化
  • 优化数据迁移错误日志和异常情况处理
  • 迁移后目标集群和源集群文档数量不匹配,标记迁移任务为失败状态

Bug fix

  • 修复新注册集群状态不同步更新的问题
  • 修复低版本 ES 多 type 分区查询时没有根据 doctype 过滤的问题
  • 修复特殊情况下迁移任务没有被释放的问题
  • 修复迁移任务结束,队列磁盘文件未释放的问题
  • 修复bulk写入失败导致迁移任务卡住的问题

更多 Console 更新可参考【Console 版本历史】。

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

最后祝大家周末愉快!

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

INFINI 产品更新 20230224|Loadrun 首发亮相

资讯动态liaosy 发表了文章 • 0 个评论 • 3494 次浏览 • 2023-02-24 22:58 • 来自相关话题

INFINI Labs 产品更新发布

INFINI Labs 为大家又带来一波产品更新,包括 Gateway v1.10.0、Console v0.8.0、Loadgen v1.5.0、Loadrun v0.1.0,其中 Loadrun 是本次产品更新中首发亮相,它是一个用来批量运行 Loadgen 测试用例的工具。欢迎大家下载体验。

INFINI Gateway v1.10.0

极限网关本次更新如下:

Features

  • 配置文件中支持环境变量
  • 添加 ratio filter 选项操作,允许立即丢弃请求
  • 添加 context_parser filter
  • 添加 context_switch filter
  • 添加 _sys.* 到请求上下文

更多 Gateway 更新可参考【Gateway 版本历史】。

INFINI Console v0.8.0

本次极限 Console 版本更新主要新增了凭据管理功能,凭据敏感信息使用加密存储。凭据管理可以帮助我们将身份验证信息集中管理,需要用的地方直接引用,提高了身份验证信息的存储安全性。

需要注意的是,如果您是初次安装部署,凭据敏感信息加密密钥在 INFINI Console 安装初始化是自动生成或用户自定义设置。该密钥需要用户妥善保存,如果密钥丢失,当升级 INFINI Console 并且重新初始化系统后,先前保存的凭据信息将无法解密。

image111.png

在【系统管理】-【凭据管理】列表中可以查询已创建的凭据信息,支持增删查改等基本操作。

image222.png

更多详情可参考文档(https://www.infinilabs.com/docs/latest/console/reference/system/credential)。

Console 其他功能优化如下:

Improvements

  • KV 内存占用优化

Bug fix

  • 修复了网关实例列表 CPU 数值显示问题
  • 修复了系统服务健康监控错误提示

更多 Console 更新可参考【Console 版本历史】。

INFINI Loadgen v1.5.0

Elasticsearch 性能压测工具 Loadgen 本次更新如下:

Features

  • 新增assert功能,支持对请求返回进行判断
  • 新增register功能,支持测试过程中动态注册全局变量
  • 新增环境变量功能,配置文件可以动态加载环境变量
  • 请求头配置支持访问动态变量

Improvements

  • 优化 -l 参数的准确性
  • 支持可选跳过 warm-up 阶段

下载地址:https://release.infinilabs.com/loadgen

INFINI Loadrun v0.1.0

Loadrun 是一个用来批量运行 Loadgen 测试用例的工具,不需要重复编写测试用例,通过切换套件配置来快速测试不同的环境配置。

Features

  • 支持配置测试套件,批量运行 Loadgen 测试样例并输出测试结果
  • 支持测试套件配置 Loadgen 环境变量,快速切换测试环境
  • 支持自动启动 INFINI Gateway,方便测试不同配置

下载地址:https://release.infinilabs.com/loadrun

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

最后祝大家周末愉快!

关于极限科技(INFINI Labs)

关于我们.png

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

INFINI Gateway和 Console 更新发布啦!

资讯动态liaosy 发表了文章 • 0 个评论 • 4927 次浏览 • 2023-02-10 23:12 • 来自相关话题

INFINI Labs 产品更新发布

Hi,大家好。今天 INFINI Labs 为大家带来 2023 春节后第一波产品更新发布,欢迎大家免费下载体验使用。

INFINI Gateway v1.9.0

极限网关本次迭代带来了大量的更新如下:

Breaking changes

  • Refactoring config for ip access control
  • Disable elasticsearch metadata refresh by default
  • Update default config path from configs to config
  • Remove sample-configs, moved to dedicated integrated-testing project
  • Remove field conntime, update field @timestamp to timestamp in logging filter
  • Rename disorder to fast

Features

  • Support listen on IPv6 address
  • Add general health api
  • Add request_ip to context
  • Add badger filter plugin
  • Allow to split produce and consume messages from s3
  • Add bulk_request_throttle filter
  • Support access request context and more output options in echo filter
  • Add body_json to response context
  • Add cert config to API module, support mTLS
  • Add api to clear scroll context
  • Floating_ip support stick by priority
  • Add keystore util
  • Allow to save success bulk results in bulk_indexing processor
  • Enable watch and reload the major config file
  • Support run background job in one goroutine
  • Allow to handle async_bulk request logging
  • Add config to control cluster health check while cluster not available, set default to false
  • Allow to follow redirects in http filter, set default read and write timeout to 30s
  • Support collect instance metrics to monitoring gateway
  • Add json log format

Bug fix

  • Fix user was removed in logging filter
  • Fix incorrect message size issue, reload when files changed in disk_queue
  • Fix issue that index_diff could not finished automatically
  • Fix hostname was not well updated in filter set_request_header or set_hostname
  • Fix to check consumer’s lag instead of queue’s lag in flow_runner processor
  • Fix file not found error for disk_queue
  • Fix the delete requests was not proper handled in filter bulk_reshuffle, bulk_request_mutate and bulk_indexing processor
  • Fix memory leak caused by misuse of bytes buffer
  • Fix to handle the last request in replay processor
  • Fix url args was not updated after change
  • Fix memory leak when serving high-concurrent requests
  • Fix nil id caused error when using sliced workers in bulk_indexing processor
  • Fix index name with dot
  • Refactoring time fields for orm, skip empty time
  • Refactoring stats, allow to register extended stats
  • Fix to restart gateway entrypoint on flow change
  • Update ratio filter, fix random number, add header to ratio filter
  • Fix query parameter no_cache was not well respected in get_cache filter
  • Fix single delete request was ignored in bulk requests
  • Fix request mutate filter

Improvements

  • Remove newline in indexing_merge and json_indexing processor
  • Improve instance check, add config to disable
  • Add option skip_insecure_verify to s3 module
  • Improve instance check, enable config to disable
  • Update the way to get ctx process info, optimize memory usage
  • Improve indexing performance for bulk_indexing processor
  • Refactoring disk_queue, speedup message consumption
  • Enable segment compress for disk_queue by default
  • Skip download s3 files when s3 was not enabled
  • Add option to log warning messages for throttle filters
  • Optimize hash performance for getting primary shardID and partitionID
  • Add cache for get index routing table
  • Optimize performance for bulk response processing
  • Refactoring bulk_processor, pass meta info to payload func
  • Don’t call payload func for delete action
  • Improve queue consumer’s lag check
  • Enable prepare flat files ahead for read by default, skip unnecessary file
  • Add object pool for xxhash
  • Refactoring disk_queue, handle consumer in-flight segments in memory
  • Add config to remove duplicated newline for bulk_processor
  • Add metric timestamp in stats api
  • Improve error on routing table missing
  • Refactoring bytes buffer and object pool, expose metrics via API
  • Refactoring tasks pooling, support throttle and unified control
  • Optimize badger file size and memory usage
  • Refactoring time fields for orm, skip empty time
  • Refactoring stats, allow to register extended stats
  • Refactoring to handle bulk response results
  • Add client_session_cache_size to tls setting
  • Safety add newline to each bytes when handle bulk requests

INFINI Console v0.7.0

INFINI Console 本次迭代更新如下:

  • 新增初始化安装向导;

    image.png

  • 新增系统服务健康监控;
  • 新增 License 授权;

    image_(1).png

  • 新增索引和节点层面数据字节写入吞吐量指标(indexing bytes);
  • 修复了 Discover 第一次加载未发起搜索请求的问题;
  • 修复了查看节点线程池指标时选择多个节点后指标不显示的问题;

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家添加微信小助手(INFINI-Labs)拉群交流和学习。

640.jpeg

感谢大家的围观,祝大家周末愉快。

INFINI 产品更新啦 20220923

资讯动态liaosy 发表了文章 • 0 个评论 • 1826 次浏览 • 2022-09-23 22:47 • 来自相关话题

INFINI Labs 产品更新发布

今天 INFINI Labs 为大家又带来了一波产品更新,请查阅。

INFINI Gateway v1.8.0

极限网关本次迭代更新如下:

  • 修复上下文条件 consumer_has_lag参数和 配置、文档不一致的 Bug。
  • 修改备集群故障,主集群不能正常写数据的 Bug。
  • 修复 Bulk 请求处理异常造成数据复制不一致的问题。
  • 修复请求日志里面关于 Bulk 统计数据丢失的问题。
  • 修复大并发情况下,请求体为空的异常。

INFINI Console v0.6.0

口碑爆棚的 Elasticsearch 多集群管控平台 INFINI Console 更新如下:

  • 新增主机概览。

1-640.png

  • 新增主机监控。

2-640.png

  • 节点概览新增日志查看功能(需安装 Agent)。

3-640.png

  • Insight 配置框新增 Search 配置。
  • 优化 Discover 时间范围 Auto Fit,设为15分钟。
  • 优化 Discover 保存搜索,会保存当前的字段过滤和 Insight 图表配置。
  • 优化本地列表搜索查找,支持通配符过滤。
  • 优化告警规则必填字段标记显示。
  • 修复了 Discover 字段过滤白屏问题。
  • 修复了 Discover 表格添加字段后排序失效问题。(感谢@卢宝贤反馈)
  • 修复了 Elasticsearch 8.x 删除文档报错不兼容的问题。(感谢@卢宝贤反馈)
  • 修复了创建新索引不成功时,异常处理的问题。
  • 修复了低版本浏览器js不兼容导致集群注册不成功的问题。
  • 修复了开发工具中使用加载命令失败报错的问题。

INFINI Agent v0.2.0

数据采集工具探针(INFINI Agent)更新如下:

  • 新增按节点读日志文件列表的API
  • 新增读具体日志文件内容的API
  • 新增 Elasticsearch 节点掉线后的基础信息保存
  • 新增主机在线状态的采集
  • 新增基于 Centos 的 Docker 镜像
  • 新增主机配置信息采集: 操作系统信息、磁盘大小、内存大小、CPU配置等
  • 新增主机指标的采集: CPU使用率、磁盘使用率、磁盘IO、内存使用率、swap 使用率、网络IO等
  • 新增 Elasticsearch 进程信息采集
  • 修复发现 Elasticsearch 进程时频繁提示端口访问错误的Bug
  • 修复 Elasticsearch 节点地址为 0.0.0.0 时无法获取节点信息的Bug
  • 修复 CPU 指标数据显示异常的Bug
  • 修复 stats API 在 Windows 平台的兼容性

INFINI Framework 2000923

INFINI Framework 也带来了很多改进:

  • 重构了磁盘队列压缩相关配置,支持段文件的压缩。
  • 当集群不可用的情况下,跳过集群节点元数据的获取。
  • 完善节点可用性检测,避免频繁的不可用状态切换。
  • 修复 Elasticsearch 主机地址为空的异常。
  • 完善本地磁盘队列文件的清理,避免删除正在使用的文件。

期待反馈

如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs)中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手,加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。 联系我们

感谢大家的围观,祝大家周末愉快。

INFINI Gateway和 Console 更新发布啦!

资讯动态liaosy 发表了文章 • 0 个评论 • 4927 次浏览 • 2023-02-10 23:12 • 来自相关话题

INFINI Labs 产品更新发布

Hi,大家好。今天 INFINI Labs 为大家带来 2023 春节后第一波产品更新发布,欢迎大家免费下载体验使用。

INFINI Gateway v1.9.0

极限网关本次迭代带来了大量的更新如下:

Breaking changes

  • Refactoring config for ip access control
  • Disable elasticsearch metadata refresh by default
  • Update default config path from configs to config
  • Remove sample-configs, moved to dedicated integrated-testing project
  • Remove field conntime, update field @timestamp to timestamp in logging filter
  • Rename disorder to fast

Features

  • Support listen on IPv6 address
  • Add general health api
  • Add request_ip to context
  • Add badger filter plugin
  • Allow to split produce and consume messages from s3
  • Add bulk_request_throttle filter
  • Support access request context and more output options in echo filter
  • Add body_json to response context
  • Add cert config to API module, support mTLS
  • Add api to clear scroll context
  • Floating_ip support stick by priority
  • Add keystore util
  • Allow to save success bulk results in bulk_indexing processor
  • Enable watch and reload the major config file
  • Support run background job in one goroutine
  • Allow to handle async_bulk request logging
  • Add config to control cluster health check while cluster not available, set default to false
  • Allow to follow redirects in http filter, set default read and write timeout to 30s
  • Support collect instance metrics to monitoring gateway
  • Add json log format

Bug fix

  • Fix user was removed in logging filter
  • Fix incorrect message size issue, reload when files changed in disk_queue
  • Fix issue that index_diff could not finished automatically
  • Fix hostname was not well updated in filter set_request_header or set_hostname
  • Fix to check consumer’s lag instead of queue’s lag in flow_runner processor
  • Fix file not found error for disk_queue
  • Fix the delete requests was not proper handled in filter bulk_reshuffle, bulk_request_mutate and bulk_indexing processor
  • Fix memory leak caused by misuse of bytes buffer
  • Fix to handle the last request in replay processor
  • Fix url args was not updated after change
  • Fix memory leak when serving high-concurrent requests
  • Fix nil id caused error when using sliced workers in bulk_indexing processor
  • Fix index name with dot
  • Refactoring time fields for orm, skip empty time
  • Refactoring stats, allow to register extended stats
  • Fix to restart gateway entrypoint on flow change
  • Update ratio filter, fix random number, add header to ratio filter
  • Fix query parameter no_cache was not well respected in get_cache filter
  • Fix single delete request was ignored in bulk requests
  • Fix request mutate filter

Improvements

  • Remove newline in indexing_merge and json_indexing processor
  • Improve instance check, add config to disable
  • Add option skip_insecure_verify to s3 module
  • Improve instance check, enable config to disable
  • Update the way to get ctx process info, optimize memory usage
  • Improve indexing performance for bulk_indexing processor
  • Refactoring disk_queue, speedup message consumption
  • Enable segment compress for disk_queue by default
  • Skip download s3 files when s3 was not enabled
  • Add option to log warning messages for throttle filters
  • Optimize hash performance for getting primary shardID and partitionID
  • Add cache for get index routing table
  • Optimize performance for bulk response processing
  • Refactoring bulk_processor, pass meta info to payload func
  • Don’t call payload func for delete action
  • Improve queue consumer’s lag check
  • Enable prepare flat files ahead for read by default, skip unnecessary file
  • Add object pool for xxhash
  • Refactoring disk_queue, handle consumer in-flight segments in memory
  • Add config to remove duplicated newline for bulk_processor
  • Add metric timestamp in stats api
  • Improve error on routing table missing
  • Refactoring bytes buffer and object pool, expose metrics via API
  • Refactoring tasks pooling, support throttle and unified control
  • Optimize badger file size and memory usage
  • Refactoring time fields for orm, skip empty time
  • Refactoring stats, allow to register extended stats
  • Refactoring to handle bulk response results
  • Add client_session_cache_size to tls setting
  • Safety add newline to each bytes when handle bulk requests

INFINI Console v0.7.0

INFINI Console 本次迭代更新如下:

  • 新增初始化安装向导;

    image.png

  • 新增系统服务健康监控;
  • 新增 License 授权;

    image_(1).png

  • 新增索引和节点层面数据字节写入吞吐量指标(indexing bytes);
  • 修复了 Discover 第一次加载未发起搜索请求的问题;
  • 修复了查看节点线程池指标时选择多个节点后指标不显示的问题;

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家添加微信小助手(INFINI-Labs)拉群交流和学习。

640.jpeg

感谢大家的围观,祝大家周末愉快。

使用极限网关来进行 Elasticsearch 跨集群跨版本查询及所有其它请求

Elasticsearchmedcl 发表了文章 • 7 个评论 • 3791 次浏览 • 2021-10-16 11:31 • 来自相关话题

使用场景

如果你的业务需要用到有多个集群,并且版本还不一样,是不是管理起来很麻烦,如果能够通过一个 API 来进行查询就方便了,聪明的你相信已经想到了 CCS,没错用 CCS 可以实现跨集群的查询,不过 Elasticsearch 提供的 CCS 对版本有一点的限制,并且需要提前做好 mTLS,也就是需要提前配置好两个集群之间的证书互信,这个免不了要重启维护,好像有点麻烦,那么问题来咯,有没有更好的方案呢?

😁 有办法,今天我就给大家介绍一个基于极限网关的方案,极限网关的网址:http://极限网关.com/

假设现在有两个集群,一个集群是 v2.4.6,有不少业务数据,舍不得删,里面有很多好东西 :)还有一个集群是 v7.14.0,版本还算比较新,业务正在做的一个新的试点,没什么好东西,但是也得用 :(,现在老板们的的需求是希望通过在一个统一的接口就能访问这些数据,程序员懒得很,懂得都懂。

集群信息

  • v2.4.6 集群的访问入口地址:192.168.3.188:9202
  • v7.14.0 集群的访问入口地址:192.168.3.188:9206

这两个集群都是 http 协议的。

实现步骤

今天用到的是极限网关的 switch 过滤器:https://极限网关.com/docs/references/filters/switch/

网关下载下来就两个文件,一个主程序,一个配置文件,记得下载对应操作系统的包。

定义两个集群资源

elasticsearch:
  - name: v2
    enabled: true
    endpoint: http://192.168.3.188:9202
  - name: v7
    enabled: true
    endpoint: http://192.168.3.188:9206

上面定义了两个集群,分别命名为 v2v7,待会会用到这些资源。

定义一个服务入口

entry:
  - name: my_es_entry
    enabled: true
    router: my_router
    max_concurrency: 1000
    network:
      binding: 0.0.0.0:8000
    tls:
      enabled: true

这里定义了一个名为 my_es_entry 的资源入口,并引用了一个名为 my_router 的请求转发路由,同时绑定了网卡的 0.0.0.0:8000 也就是所有本地网卡监听 IP 的 8000 端口,访问任意 IP 的 8000 端口就能访问到这个网关了。

另外老板也说了,Elasticsearch 用 HTTP 协议简直就是裸奔,通过这里开启 tls,可以让网关对外提供的是 HTTPS 协议,这样用户连接的 Elasticsearch 服务就自带 buffer 了,后端的 es 集群和网关直接可以做好网络流量隔离,集群不用动,简直完美。

为什么定义 TLS 不用指定证书,好用的软件不需要这么麻烦,就这样,不解释。

最后,通过设置 max_concurrency 为 1000,限制下并发数,避免野猴子把我们的后端的 Elasticsearch 给压挂了。

定义一个请求路由

router:
  - name: my_router
    default_flow: cross-cluster-search

这里的名称 my_router 就是表示上面的服务入口的router 参数指定的值。

另外设置一个 default_flow 来将所有的请求都转发给一个名为 cross-cluster-search 的请求处理流程,还没定义,别急,马上。

定义请求处理流程

来啦,来啦,先定义两个 flow,如下,分别名为 v2-flowv7-flow,每节配置的 filter 定义了一系列过滤器,用来对请求进行处理,这里就用了一个 elasticsearch 过滤器,也就是转发请求给指定的 Elasticsearch 后端服务器,了否?

flow:
  - name: v2-flow
    filter:
      - elasticsearch:
          elasticsearch: v2
  - name: v7-flow
    filter:
      - elasticsearch:
          elasticsearch: v7

然后,在定义额外一个名为 cross-cluster-search 的 flow,如下:

  - name: cross-cluster-search
    filter:
      - switch:
          path_rules:
            - prefix: "v2:"
              flow: v2-flow
            - prefix: "v7:"
              flow: v7-flow

这个 flow 就是通过请求的路径的前缀来进行路由的过滤器,如果是 v2:开头的请求,则转发给 v2-flow 继续处理,如果是 v7: 开头的请求,则转发给 v7-flow 来处理,使用的用法和 CCS 是一样的。so easy!

对了,那是不是每个请求都需要加前缀啊,费事啊,没事,在这个 cross-cluster-search 的 filter 最后再加上一个 elasticsearch filter,前面前缀匹配不上的都会走它,假设默认都走 v7,最后完整的 flow 配置如下:

flow:
  - name: v2-flow
    filter:
      - elasticsearch:
          elasticsearch: v2
  - name: v7-flow
    filter:
      - elasticsearch:
          elasticsearch: v7
  - name: cross-cluster-search
    filter:
      - switch:
          path_rules:
            - prefix: "v2:"
              flow: v2-flow
            - prefix: "v7:"
              flow: v7-flow
      - elasticsearch:
          elasticsearch: v7              

然后就没有然后了,因为就配置这些就行了。

启动网关

假设配置文件的路径为 sample-configs/cross-cluster-search.yml,运行如下命令:

➜  gateway git:(master) ✗ ./bin/gateway -config sample-configs/cross-cluster-search.yml
   ___   _   _____  __  __    __  _       
  / _ \ /_\ /__   \/__\/ / /\ \ \/_\ /\_/\
 / /_\///_\\  / /\/_\  \ \/  \/ //_\\\_ _/
/ /_\\/  _  \/ / //__   \  /\  /  _  \/ \ 
\____/\_/ \_/\/  \__/    \/  \/\_/ \_/\_/ 

[GATEWAY] A light-weight, powerful and high-performance elasticsearch gateway.
[GATEWAY] 1.0.0_SNAPSHOT, 2021-10-15 16:25:56, 3d0a1cd
[10-16 11:00:52] [INF] [app.go:228] initializing gateway.
[10-16 11:00:52] [INF] [instance.go:24] workspace: data/gateway/nodes/0
[10-16 11:00:52] [INF] [api.go:260] api listen at: http://0.0.0.0:2900
[10-16 11:00:52] [INF] [reverseproxy.go:257] elasticsearch [v7] hosts: [] => [192.168.3.188:9206]
[10-16 11:00:52] [INF] [entry.go:225] auto generating cert files
[10-16 11:00:52] [INF] [actions.go:223] elasticsearch [v2] is available
[10-16 11:00:52] [INF] [actions.go:223] elasticsearch [v7] is available
[10-16 11:00:53] [INF] [entry.go:296] entry [my_es_entry] listen at: https://0.0.0.0:8000
[10-16 11:00:53] [INF] [app.go:309] gateway is running now.

可以看到网关输出了启动成功的日志,网关服务监听在 https://0.0.0.0:8000

试试访问网关

直接访问网关的 8000 端口,因为是网关自签的证书,加上 -k 来跳过证书的校验,如下:

➜  loadgen git:(master) ✗ curl -k   https://localhost:8000  
{
  "name" : "LENOVO",
  "cluster_name" : "es-v7140",
  "cluster_uuid" : "npWjpIZmS8iP_p3GK01-xg",
  "version" : {
    "number" : "7.14.0",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
    "build_date" : "2021-07-29T20:49:32.864135063Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

正如前面配置所配置的一样,默认请求访问的就是 v7 集群。

访问 v2 集群

➜  loadgen git:(master) ✗ curl -k   https://localhost:8000/v2:/    
{
  "name" : "Solomon O'Sullivan",
  "cluster_name" : "es-v246",
  "cluster_uuid" : "cqlpjByvQVWDAv6VvRwPAw",
  "version" : {
    "number" : "2.4.6",
    "build_hash" : "5376dca9f70f3abef96a77f4bb22720ace8240fd",
    "build_timestamp" : "2017-07-18T12:17:44Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.4"
  },
  "tagline" : "You Know, for Search"
}

查看集群信息:

➜  loadgen git:(master) ✗ curl -k   https://localhost:8000/v2:_cluster/health\?pretty
{
  "cluster_name" : "es-v246",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 5,
  "active_shards" : 5,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 5,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 50.0
}

插入一条文档:

➜  loadgen git:(master) ✗ curl-json -k   https://localhost:8000/v2:medcl/doc/1 -d '{"name":"hello world"}'
{"_index":"medcl","_type":"doc","_id":"1","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}%  

执行一个查询

➜  loadgen git:(master) ✗ curl -k   https://localhost:8000/v2:medcl/_search\?q\=name:hello                
{"took":78,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"max_score":0.19178301,"hits":[{"_index":"medcl","_type":"doc","_id":"1","_score":0.19178301,"_source":{"name":"hello world"}}]}}% 

可以看到,所有的请求,不管是集群的操作,还是索引的增删改查都可以,而 Elasticsearch 自带的 CCS 是只读的,只能进行查询。

访问 v7 集群

➜  loadgen git:(master) ✗ curl -k   https://localhost:8000/v7:/
{
  "name" : "LENOVO",
  "cluster_name" : "es-v7140",
  "cluster_uuid" : "npWjpIZmS8iP_p3GK01-xg",
  "version" : {
    "number" : "7.14.0",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
    "build_date" : "2021-07-29T20:49:32.864135063Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Kibana 里面访问

完全没问题,有图有真相:

Jietu20211016-114041.jpg

其他操作也类似,就不重复了。

完整的配置

path.data: data
path.logs: log

entry:
  - name: my_es_entry
    enabled: true
    router: my_router
    max_concurrency: 10000
    network:
      binding: 0.0.0.0:8000
    tls:
      enabled: true

flow:
  - name: v2-flow
    filter:
      - elasticsearch:
          elasticsearch: v2
  - name: v7-flow
    filter:
      - elasticsearch:
          elasticsearch: v7
  - name: cross-cluster-search
    filter:
      - switch:
          path_rules:
            - prefix: "v2:"
              flow: v2-flow
            - prefix: "v7:"
              flow: v7-flow
      - elasticsearch:
          elasticsearch: v7

router:
  - name: my_router
    default_flow: cross-cluster-search

elasticsearch:
  - name: v2
    enabled: true
    endpoint: http://192.168.3.188:9202
  - name: v7
    enabled: true
    endpoint: http://192.168.3.188:9206

小结

好了,今天给大家分享的如何使用极限网关来进行 Elasticsearch 跨集群跨版本的操作就到这里了,希望大家周末玩的开心。😁

集群中gateway.*参数有不同值会导致什么结果?

回复

Elasticsearchmedcl 回复了问题 • 2 人关注 • 1 个回复 • 3153 次浏览 • 2017-07-24 10:59 • 来自相关话题

INFINI Labs 产品更新 | Easysearch 1.7.1发布,改进跨集群复制的数据加载等

Easysearchliaosy 发表了文章 • 0 个评论 • 1612 次浏览 • 2024-03-04 15:25 • 来自相关话题

release

INFINI Labs 产品又更新啦~,包括 Console,Gateway,Agent 1.23.0 和 Easysearch 1.7.1。本次各产品更新了很多亮点功能,如 Console 优化实例管理中增加磁盘空闲空间显示,Easysearch 改进 HierarchyCircuitBreakerService 并添加断路器、改进跨集群复制的数据加载,增加对 source_reuse 索引的支持等。欢迎大家下载体验。

以下是本次更新的详细说明。

INFINI Easysearch v1.7.1

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Bug fix

  • 修复 source_reuse 与字段别名冲突
  • 改进 HierarchyCircuitBreakerService 并添加断路器
  • 修复 _meta 不为空且 启用 source_reuse 时的映射解析错误
  • 修复 source_reuse 下对多值还原不正确的问题

Improvements

  • 改进 HierarchyCircuitBreakerService 并添加断路器
  • 改进跨集群复制的数据加载,增加对 source_reuse 索引的支持

INFINI Console v1.23.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Bug fix

  • 修复数据迁移中数据分片范围因精度导致数据溢出显示为负数
  • 修复删除实例队列后消费的 Offset 未重置问题
  • 修复网友提出的各种问题,如集群设置默认打开节点、索引采集等

Improvements

  • 优化初始化配置向导,分步骤执行
  • 优化实例管理中增加磁盘空闲空间显示
  • 优化实例队列名称显示

INFINI Gateway v1.23.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Bug fix

  • 修复删除实例队列后消费的 Offset 未重置问题

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

如何防止 Elasticsearch 服务 OOM?

Easysearchyangmf2040 发表了文章 • 0 个评论 • 1930 次浏览 • 2024-02-26 10:12 • 来自相关话题

Elasticsearch(简称:ES) 和传统关系型数据库有很多区别, 比如传统数据中普遍都有一个叫“最大连接数”的设置。目的是使数据库系统工作在可控的负载下,避免出现负载过高,资源耗尽,谁也无法登录的局面。

那 ES 在这方面有类似参数吗?答案是没有,这也是为何 ES 会被流量打爆的原因之一。

针对大并发访问 ES 服务,造成 ES 节点 OOM,服务中断的情况,极限科技旗下的 INFINI Gateway 产品(以下简称 “极限网关”)可从两个方面入手,保障 ES 服务的可用性。

  1. 限制最大并发访问连接数。
  2. 限制非重要索引的请求速度,保障重要业务索引的访问速度。

下面我们来详细聊聊。

架构图

所有访问 ES 的请求都发给网关,可部署多个网关。

限制最大连接数

在网关配置文件中,默认有最大并发连接数限制,默认最大 10000。

entry:
  - name: my_es_entry
    enabled: true
    router: my_router
    max_concurrency: 10000
    network:
      binding: $[[env.GW_BINDING]]
      # See `gateway.disable_reuse_port_by_default` for more information.
      reuse_port: true

使用压测程序测试,看看到达10000个连接后,能否限制新的连接。 超过的连接请求,被丢弃。更多信息参考官方文档

限制索引写入速度

我们先看看不做限制的时候,测试环境的写入速度,在 9w - 15w docs/s 之间波动。虽然峰值很高,但不稳定。 接下来,我们通过网关把写入速度控制在最大 1w docs/s 。 对网关的配置文件 gateway.yml ,做以下修改。

env: # env 下添加
    THROTTLE_BULK_INDEXING_MAX_BYTES: 40485760 #40MB/s
    THROTTLE_BULK_INDEXING_MAX_REQUESTS: 10000 #10k docs/s
    THROTTLE_BULK_INDEXING_ACTION: retry #retry,drop
    THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES: 10 #1000
    THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS: 100 #10

router: # route 部分修改 flow
  - name: my_router
    default_flow: default_flow
    tracing_flow: logging_flow
    rules:
      - method:
          - "*"
        pattern:
          - "/_bulk"
          - "/{any_index}/_bulk"
        flow:
          - write_flow

flow: #flow 部分增加下面两段    
  - name: write_flow
    filter:
      - flow:
          flows:
            - bulking_indexing_limit
      - elasticsearch:
          elasticsearch: prod
          max_connection_per_node: 1000
  - name: bulking_indexing_limit
    filter:
      - bulk_request_throttle:
          indices:
            "test-index":
              max_bytes: $[[env.THROTTLE_BULK_INDEXING_MAX_BYTES]]
              max_requests: $[[env.THROTTLE_BULK_INDEXING_MAX_REQUESTS]]
              action: $[[env.THROTTLE_BULK_INDEXING_ACTION]]
              retry_delay_in_ms: $[[env.THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS]]
              max_retry_times: $[[env.THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES]]
              message: "bulk writing too fast" #触发限流告警message自定义
              log_warn_message: true

再次压测,test-index 索引写入速度被限制在了 1w docs/s 。

限制多个索引写入速度

上面的配置是针对 test-index 索引的写入速度控制。如果想添加其他的索引,新增一段配置即可。 比如,我允许 abc 索引写入达到 2w docs/s,test-index 索引最多不超过 1w docs/s ,可配置如下。

  - name: bulking_indexing_limit
    filter:
      - bulk_request_throttle:
          indices:
            "abc":
              max_requests: 20000
              action: drop
              message: "abc doc写入超阈值" #触发限流告警message自定义
              log_warn_message: true
            "test-index":
              max_bytes: $[[env.THROTTLE_BULK_INDEXING_MAX_BYTES]]
              max_requests: $[[env.THROTTLE_BULK_INDEXING_MAX_REQUESTS]]
              action: $[[env.THROTTLE_BULK_INDEXING_ACTION]]
              retry_delay_in_ms: $[[env.THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS]]
              max_retry_times: $[[env.THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES]]
              message: "bulk writing too fast" #触发限流告警message自定义
              log_warn_message: true

限速效果如下

限制读请求速度

我们先看看不做限制的时候,测试环境的读取速度,7w qps 。 接下来我们通过网关把读取速度控制在最大 1w qps 。 继续对网关的配置文件 gateway.yml 做以下修改。

  - name: default_flow
    filter:
      - request_path_limiter:
          message: "Hey, You just reached our request limit!"                                      rules:      
            - pattern: "/(?P<index_name>abc)/_search"                          
              max_qps: 10000
              group: index_name                                    
      - elasticsearch: 
          elasticsearch: prod                            
          max_connection_per_node: 1000

再次进行测试,读取速度被限制在了 1w qps 。

限制多个索引读取速度

上面的配置是针对 abc 索引的写入速度控制。如果想添加其他的索引,新增一段配置即可。 比如,我允许 abc 索引读取达到 1w qps,test-index 索引最多不超过 2w qps ,可配置如下。

  - name: default_flow
    filter:
      - request_path_limiter:
          message: "Hey, You just reached our request limit!"
          rules:
            - pattern: "/(?P<index_name>abc)/_search"
              max_qps: 10000
              group: index_name
            - pattern: "/(?P<index_name>test-index)/_search"
              max_qps: 20000
              group: index_name
      - elasticsearch:
          elasticsearch: prod
          max_connection_per_node: 1000

多个网关限速

限速是每个网关自身的控制,如果有多个网关,那么后端 ES 集群收到的请求数等于多个网关限速的总和。 本次介绍就到这里了。相信大家在使用 ES 的过程中也遇到过各种各样的问题。欢迎大家来我们这个平台分享自己的问题、解决方案等。如有任何问题,请随时联系我,期待与您交流!

INFINI Labs 产品更新 | Console 数据迁移支持 Percentiles 均匀分区

资讯动态liaosy 发表了文章 • 0 个评论 • 2657 次浏览 • 2023-12-30 16:25 • 来自相关话题

release

INFINI Labs 产品又更新啦~,包括 Console v1.14.0,Gateway 1.21.0。其中 Console 数据迁移支持 Percentiles 均匀分区,修复已知 Bug 等。以下是本次更新的详细说明。

INFINI Console v1.14.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 数据迁移支持 decimal 类型分区设置
  • 数据迁移支持 number 类型均匀分区

Bug fix

  • 修复告警恢复后,新周期内没有发送告警通知消息的问题

INFINI Gateway v1.21.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Bug fix

  • fix log error when temp file was missing

INFINI Framework

INFINI Framework 是 INFINI Labs 各产品依赖的内部核心公共代码库。

Framework 本次更新如下:

  • feat: support even partition
  • feat: support nested object
  • fix log error when temp file was missing

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题,Gateway 内存异常增长等问题

Easysearchliaosy 发表了文章 • 0 个评论 • 2143 次浏览 • 2023-12-01 18:45 • 来自相关话题

release

INFINI Labs 产品又更新啦~,本次更新主要对 Easysearch、Gateway、Console、Agent 等产品功能进行优化和相关 Bug 修复,解决了内存异常增长等问题,以下是详细说明。

INFINI Easysearch v1.6.2

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Bug fix

  • 修复跨集群复制(CCR)不能对自动滚动生成的索引进行同步的问题

Improvements

  • 优化初始化脚本,增加-s/-slient 参数,自动安装。
  • 新增含 jdk/plugins 的 bundle 安装包

INFINI Gateway v1.20.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Bug fix

  • 修复由 Framework Bug 造成连接数不释放、内存异常增长的问题

Improvements

  • 增加配置,允许设置 fasthttp client 相关参数

INFINI Console v1.12.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Bug fix

  • 修复数据探索 multi fields 字段计算 top values 报错的问题
  • 修复由 Framework Bug 造成连接数不释放、内存异常增长的问题
  • 修复内网模式下静态资源远程加载的问题
  • 修复数据看板数据源配置校验异常的问题

Improvements

  • 优化数据探索计算 top values,使用先采样后,后取 top values
  • 可通过配置参数 http_client.read_buffer_size 设置读取缓存大小,解决开发工具执行命令时,默认缓存太小的问题

INFINI Agent v0.7.1

INFINI Agent 是 INFINI Console 的一个可选探针组件,负责采集和上传集群指标和日志等信息,并可通过 Console 管理。Agent 支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。

Agent 本次更新如下:

Features

  • 添加 http processor

Bug fix

  • 修复由 Framework Bug 造成连接数不释放、内存异常增长的问题

Improvements

  • 进一步优化内存占用,降到 50M 以下

INFINI Framework

INFINI Framework 是 INFINI Labs 各产品依赖的内部核心公共代码库。

Framework 本次更新如下:

  • fix: fix the issue of disk queue was blocked
  • chore: checkout specify branch before pull

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | 发布 Easysearch Java 客户端,Console 支持 SQL 查询等功能

Easysearchliaosy 发表了文章 • 0 个评论 • 2718 次浏览 • 2023-11-17 18:56 • 来自相关话题

release

INFINI Labs 产品又更新啦~,本次更新概要如下:发布 Easysearch-client Java 客户端,开发者通过 client 与 Easysearch 集群的交互变得更加简洁和直观;Console 开发工具新增 SQL 特性,支持 SELECT 查询等语法高亮和自动提示等;Gateway 的系统 API 添加了基于基本身份验证的安全功能。

以下是本次更新的详细说明。

INFINI Easysearch-client v1.0.1

正式发布 Easysearch Java 客户端。

这一里程碑式的更新为开发人员带来了前所未有的便利性,使得与 Easysearch 集群的交互变得更加简洁和直观。现在,通过 Easysearch-client 客户端,开发者可以直接使用 Java 方法和数据结构来进行交互,而不再需要依赖于传统的 HTTP 方法和 JSON。这一变化大大简化了操作流程,使得数据管理和索引更加高效。高级客户端的功能范围包括处理数据操作,管理集群,包括查看和维护集群的健康状态,并对 Security 模块全面兼容。它提供了一系列 API,用于管理角色、用户、权限、角色映射和账户。这意味着安全性和访问控制现在可以更加细粒度地管理,确保了数据的安全性和合规性。

使用说明参见:快速开始

INFINI Console v1.11.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 开发工具 SQL 查询支持
    • 支持 SELECT 查询及语法高亮
    • 支持索引和字段自动提示
    • 支持 FROM 前置语法

Bug fix

  • 修复平台概览集群指标为空的问题

Improvements

  • LDAP 支持从 DN 中解析 OU 属性
  • 集群动态优化显示,新增节点名称和索引名称的聚合统计过滤

INFINI Gateway v1.19.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Features

  • 添加 http 处理器
  • 在 API 模块中添加基于基本身份验证的安全性
  • 允许将自身注册到配置管理器
  • 允许在配置错误时触发 panic

Bug fix

  • 修复 rewrite_to_bulk 在较新版本中缺少 _type 的问题
  • 修复 rewrite_to_bulk,支持无索引文档操作

Improvements

  • 更新测试,断言解析结果

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.gg/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | Gateway 支持基于 Kafka 的复制能力,发布 Helm Charts 部署方式

资讯动态liaosy 发表了文章 • 0 个评论 • 1653 次浏览 • 2023-09-22 16:16 • 来自相关话题

release

INFINI Labs 产品又更新啦~。本次更新概要如下:Easysearch 新增了索引字段相关统计 API,优化了 source_reuse 提升压缩效率;Gateway 新增诸多新特性,如:支持基于 Kafka 的复制能力,添加可插拔的分布式锁实现,新增 CPU 资源限制等功能;Console 本次主要优化了数据迁移功能,迁移任务详情页新增了若干指标图和日志查看等功能。

欢迎大家下载使用和反馈。

INFINI Helm Charts v0.1.0

INFINI Helm Charts 是一组 Kubernetes 部署包管理工具。基于 Helm Charts,我们将 INFINI Labs 旗下相关产品预先配置好程序资源包,大大简化了部署流程。Github 仓库地址:https://github.com/infinilabs/helm-charts

Helm Charts 本次更新如下:

Features

  • 添加 Console Chart
  • 添加 Easysearch Chart,支持单节点以及多节点(节点角色可配置)部署

部署视频演示:

博客文章:

INFINI Easysearch v1.6.0

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Features

  • 新增 _field_usage_stats API,统计索引每个字段的访问次数
  • 新增 _disk_usage API,可以分析指定索引每个字段的磁盘占用大小
  • 增加 flattened 类型,将 JSON 对象作为字符串处理,可以减少嵌套 JSON 型的文档的大小

Improvements

  • source_reuse 增加对 _source 中数字类型的值进行复用压缩,可进一步降低 _source 磁盘占用
  • 改进 source_reuse 筛选字段的逻辑

INFINI Gateway v1.18.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Breaking changes

  • 彻底移除了 request_body_truncate 和 response_body_truncate 过滤器

Features

  • 支持基于 Kafka 的复制能力
  • 在请求上下文中添加 _util.generate_uuid
  • 在请求上下文中添加 _util.increment_id.BUCKET_NAME
  • 在 Pipeline 配置中添加 singleton,防止多个 Pipeline 同时运行
  • 添加可插拔的分布式锁实现
  • 添加通用应用程序的 preference 配置
  • 泛化队列抽象,重构磁盘队列,完善 Kafka 实现
  • 添加 merge_to_bulk 处理器, 废弃 indexing_merge 处理器
  • 添加 flow_replay 处理器,废弃 flow_runner 处理器
  • 为复制场景添加 replication_correlation
  • 添加 hash_mod 过滤器
  • 在 bulk_response_process 过滤器中添加新参数
  • 添加 request_reshuffle 过滤器
  • 添加资源限制,允许设置最大 CPU 数或绑定亲和性
  • 支持模板中的嵌套变量
  • 添加 rewrite_to_bulk 过滤器

Bug fix

  • 修复了 Pipeline 中重试延迟未生效的问题
  • 修复了模板中不支持数字的问题
  • 修复了队列选择器通过标签的问题,如果指定了多个标签,它们都应该一起匹配

Improvements

  • 将所有模块名称转换为小写
  • 在启动期间预取 Elasticsearch 元数据
  • 添加应用程序范围的关闭信号
  • 重构队列 API,支持 Kafka 管理
  • 在 Badger 模块中添加 enabled
  • 允许使用优先级注册模块/插件
  • 统一队列的使用和初始化
  • 优化 bulk_reshuffle 过滤器的性能,添加响应头 X-Bulk-Reshuffled
  • 支持在 queue 过滤器中使用变量,允许输出最后生成的消息偏移量

INFINI Console v1.8.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 数据迁移任务支持自定义名称和添加标签
  • 数据迁移任务详情页新增若干指标
  • 数据迁移任务详情页新增查看日志

Improvements

  • 数据迁移 UI 优化
  • 优化监控报表、数据看板、数据探索的时间控件 UI

数据迁移列表页

数据迁移详情页

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

欢迎加入 Discord 聊天室:https://discord.com/invite/4tKTMkkvVX

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

联系我们

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | Easysearch 新增分词插件、Gateway 支持邮件发送等功能

资讯动态liaosy 发表了文章 • 0 个评论 • 1472 次浏览 • 2023-07-21 17:28 • 来自相关话题

INFINI Labs 产品又更新啦~,本次更新概要如下:Easysearch 新增了分词插件、优化了生命周期管理功能等;Gateway 新增 smtp 过滤器来支持邮件的发送,支持自动跳过因为异常关闭而损坏的磁盘队列文件等;Console 新增熔断器监控指标、新增矩形树图(Treemap)、优化了探针 Agent 指标采集和集群自动关联操作等。欢迎大家下载体验。

INFINI Easysearch v1.4.0

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10 版本。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Features

  • 索引生命周期管理增加 wait_for_snapshot 操作,在删除索引之前,等待执行指定的快照管理策略,这样可以确保已删除索引的快照可用
  • 增加 analysis-hanlp 分词插件
  • 增加 jieba 分词插件

Bug fix

  • 修复启用 index.source_reuse 时,对复杂多层 json 的 source 字段 解析不正确的 Bug

Improvements

  • 更新索引生命周期管理 api 文档,增加策略应用和更新说明,增加 wait_for_snapshot 说明
  • 执行 initialize.sh 命令时增加初始化确认提示,是否将 admin 密码记录日志

INFINI Gateway v1.17.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Features

  • 新增 consumer Processor 来标准化订阅消息队列
  • 新增 smtp 过滤器来支持邮件的发送

Bug fix

  • 支持自动跳过因为异常关闭而损坏的磁盘队列文件

INFINI Console v1.4.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

Features

  • 新增熔断器监控指标
  • 网关队列管理支持多选删除消费者
  • 数据看板新增组件矩形树图

Bug fix

  • 修复开发工具智能提示兼容性问题
  • 修复探针列表状态显示异常的问题
  • 修复探针列表分页不生效的问题
  • 修复数据看板 统计函数显示不对的问题
  • 修复探针下发采集指标配置重复的问题
  • 修复数据看板设置过滤条件不生效的问题
  • 修复主机列表探针状态不对的问题
  • 修复网关管理删除队列不成功的问题
  • 修复数据探索当前集群没索引时跳转的问题
  • 修复数据看板编辑状态下点击事件的问题

Improvements

  • 探针进程关联支持通过选择集群自动关联,简化操作
  • 探针列表支持排序
  • 探针支持向上滚动查看节点日志
  • 采集监控指标添加 cluster_uuid 信息
  • 数据看板支持配置指标排序

INFINI Agent v0.6.0

INFINI Agent 是 INFINI Console 的一个可选探针组件,负责采集和上传集群指标和日志等信息,并可通过 Console 管理。Agent 支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。

Agent 本次更新如下:

Features

  • 采集监控指标添加 cluster_uuid 信息

Improvements

  • 修复发现节点进程信息时获取不到最新集群配置的问题

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

或者通过 Discord 渠道加入聊天室:https://discord.com/invite/tnZ8S5vQ

欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

用极限网关实现ES容灾,简单!

Elasticsearchyangmf2040 发表了文章 • 0 个评论 • 2061 次浏览 • 2023-07-20 10:33 • 来自相关话题

身为 IT 人士,大伙身边的各种系统肯定不少吧。系统虽多,但最最最重要的那套、那几套,大伙肯定是捧在手心,关怀备至。如此重要的系统,万一发生故障了且短期无法恢复,该如何保障业务持续运行? 有过这方面思考或经验的同学,肯定脱口而出--切灾备啊。 是的,接下来我来介绍下我们的 ES 灾备方案。当然如果你有更好的,请使用各种可用的渠道联系我们。

总体设计

通过极限网关将应用对主集群的写操作,复制到灾备集群。应用发送的读请求则直接转发到主集群,并将响应结果转发给应用。应用对网关无感知,访问方式与访问 ES 集群一样。

方案优势

  • 轻量级

极限网关使用 Golang 编写,安装包很小,只有 10MB 左右,没有任何外部环境依赖,部署安装都非常简单,只需要下载对应平台的二进制可执行文件,启动网关程序的二进制程序文件执行即可。

  • 跨版本支持

极限网关针对不同的 Elasticsearch 版本做了兼容和针对性处理,能够让业务代码无缝的进行适配,后端 Elasticsearch 集群版本升级能够做到无缝过渡,降低版本升级和数据迁移的复杂度。

  • 高可用

极限网关内置多种高可用解决方案,前端请求入口支持基于虚拟 IP 的双机热备,后端集群支持集群拓扑的自动感知,节点上下线能自动发现,自动处理后端故障,自动进行请求的重试和迁移。

  • 灵活性

主备集群都是可读可写,切换迅速,只需切换网关到另一套配置即可。回切灵活,恢复使用原配置即可。

架构图

网关程序部署

下载

根据操作系统和平台选择下面相应的安装包: 解压到指定目录:

mkdir gateway
tar -zxf xxx.gz -C gateway

修改网关配置

在此 下载 网关配置,默认网关会加载配置文件 gateway.yml ,如果要指定其他配置文件使用 -config 选项指定。 网关配置文件内容较多,下面展示必要部分。

  #primary
  PRIMARY_ENDPOINT: http://192.168.56.3:7171
  PRIMARY_USERNAME: elastic
  PRIMARY_PASSWORD: password
  PRIMARY_MAX_QPS_PER_NODE: 10000
  PRIMARY_MAX_BYTES_PER_NODE: 104857600 #100MB/s
  PRIMARY_MAX_CONNECTION_PER_NODE: 200
  PRIMARY_DISCOVERY_ENABLED: false
  PRIMARY_DISCOVERY_REFRESH_ENABLED: false
  #backup
  BACKUP_ENDPOINT: http://192.168.56.3:9200
  BACKUP_USERNAME: admin
  BACKUP_PASSWORD: admin
  BACKUP_MAX_QPS_PER_NODE: 10000
  BACKUP_MAX_BYTES_PER_NODE: 104857600 #100MB/s
  BACKUP_MAX_CONNECTION_PER_NODE: 200
  BACKUP_DISCOVERY_ENABLED: false
  BACKUP_DISCOVERY_REFRESH_ENABLED: false

PRIMARY_ENDPOINT:配置主集群地址和端口
PRIMARY_USERNAME、PRIMARY_PASSWORD: 访问主集群的用户信息
BACKUP_ENDPOINT:配置备集群地址和端口
BACKUP_USERNAME、BACKUP_PASSWORD: 访问备集群的用户信息

运行网关

前台运行 直接运行网关程序即可启动极限网关了,如下:

./gateway-linux-amd64

后台运行

./gateway-linux-amd64 -service install
Success
./gateway-linux-amd64 -service start
Success

卸载服务

./gateway-linux-amd64 -service stop
Success
./gateway-linux-amd64 -service uninstall
Success

灾备功能测试

在灾备场景下,为保证数据一致性,对集群的访问操作都通过网关进行。注意只有 bulk API 的操作才会被复制到备集群。 在此次测试中,网关灾备配置功能为:

  • 主备集群正常时

读写请求正常执行; 写请求被记录到队列,备集群实时消费队列数据。

  • 当主集群故障时

写入请求报错,主备集群都不写入数据; 查询请求转到备集群执行,并返回结果给客户端。

  • 当备集群故障时

读写请求都正常执行; 写操作记录到磁盘队列,待备集群恢复后,自动消费队列数据直到两个集群一致。

主备集群正常时写入、查询测试

写入数据

# 通过网关写入数据
curl -X POST "localhost:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "create" : { "_index" : "test", "_id" : "2" } }
{ "field2" : "value2" }
'

查询数据

# 查询主集群
curl 192.168.56.3:7171/test/_search?pretty -uelastic:password

# 查询备集群
curl 192.168.56.3:9200/test/_search?pretty -uadmin:admin

# 查询网关,网关转发给主集群执行
curl 192.168.56.3:18000/test/_search?pretty -uelastic:password

主备集群都已写入数据,且数据一致。通过网关查询,也正常返回。

删除和更新文档

# 通过网关删除和更新文档
curl -X POST "192.168.56.3:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "delete" : { "_index" : "test", "_id" : "1" } }
{ "update" : {"_id" : "2", "_index" : "test"} }
{ "doc" : {"field2" : "value2-updated"} }
'

查询数据
# 查询主集群
curl 192.168.56.3:7171/test/_search?pretty -uelastic:password

# 查询备集群
curl 192.168.56.3:9200/test/_search?pretty -uadmin:admin

两个集群都已执行删除和更新操作,数据一致。

主集群故障时写入、查询测试

为模拟主集群故障,直接关闭主集群。

写入数据

# 通过网关写入数据
curl -X POST "192.168.56.3:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "index" : { "_index" : "test", "_id" : "3" } }
{ "field3" : "value3" }
{ "create" : { "_index" : "test", "_id" : "4" } }
{ "field4" : "value4" }
'

写入数据报错

查询数据

# 通过网关查询,因为主集群不可用,网关将查询转发到备集群执行
curl 192.168.56.3:18000/test/_search?pretty -uelastic:password

正常查询到数据,说明请求被转发到了备集群执行。

备集群故障时写入、查询测试

为模拟备集群故障,直接关闭备集群。

写入数据

# 通过网关写入数据
curl -X POST "192.168.56.3:18000/_bulk?pretty" -H 'Content-Type: application/json' -uelastic:password -d'
{ "index" : { "_index" : "test", "_id" : "5" } }
{ "field5" : "value5" }
{ "create" : { "_index" : "test", "_id" : "6" } }
{ "field6" : "value6" }
'

数据正常写入。

查询数据

# 通过网关查询
curl 192.168.56.3:18000/test/_search?pretty -uelastic:password

查询成功返回。主集群成功写入了两条新数据。同时此数据会被记录到备集群的队列中,待备集群恢复后,会消费此队列追数据。

恢复备集群

启动备集群。

查询数据

等待片刻或通过 INFINI Console 确定网关队列消费完毕后,查询备集群的数据。 (生产和消费 offset 相同,说明消费完毕。)

# 查询备集群的数据
curl 192.168.56.3:9200/test/_search?pretty -uadmin:admin

备集群启动后自动消费队列数据,消费完后备集群数据达到与主集群数据一致。

灾备切换

测试了这么多,终于到切换的时刻了。切换前我们判断下主系统是否短期无法修复。

如果我们判断主用系统无法短时间恢复,要执行切换。非常简单,我们直接将配置文件中定义的主备集群互换,然后重启网关程序就行了。但我们推荐在相同主机上另部署一套网关程序--网关B,先前那套用网关A指代。网关B中的配置文件把原备集群定义为主集群,原主集群定义为备集群。若要执行切换,我们先停止网关A,然后启动网关B,此时应用连接到网关(端口不变),就把原备系统当作主系统使用,把原主系统当作备系统,也就完成了主备系统的切换。

灾备回切

当原主集群修复后,正常启动,就会从消费队列追写修复期间产生数据直到主备数据一致,同样我们可通过 INFINI Console 查看消费的进度。如果大家还是担心数据的一致性,INFINI Console 还能帮大家做[校验数据]()任务,做到数据完全一致后(文档数量及文档内容一致),才进行回切。

回切也非常简单,停止网关B,启动网关A即可。

网关高可用

网关自带浮动 IP 模块,可进行双机热备。客户端通过 VIP 连接网关,网关出现故障时,VIP 漂移到备网关。 视频教程戳这里

这样的优点是简单,不足是只有一个网关在线提供服务。如果想多个网关在线提供服务,则需搭配分布式消息系统一起工作,架构如下。

前端通过负载均衡将流量分散到多个在线网关,网关将消息存入分布式消息系统。此时,网关可看作无状态应用,可根据需要扩缩规模。

以上就是我介绍的ES灾备方案,是不是相当灵活了。有问题还是那句话 Call me 。

关于极限网关

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway,可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

官网文档:https://www.infinilabs.com/docs/latest/gateway

INFINI Labs 产品更新 | Easysearch 新增跨集群复制 (CCR)、支持快照生命周期管理 (SLM) 功能等

资讯动态liaosy 发表了文章 • 0 个评论 • 3057 次浏览 • 2023-06-10 13:13 • 来自相关话题

INFINI Labs 产品重量级更新!!!本次更新了很多亮点功能,如 Easysearch 新增跨集群复制 (CCR)、支持快照生命周期管理 (SLM) 功能等;支持多集群、跨版本的搜索基础设施统一管控平台 Console 新增了免费授权申请功能等。欢迎大家下载使用。

Console 在线体验:http://demo.infini.cloud (用户名/密码:readonly/readonly)。

INFINI Easysearch v1.2.0

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10 版本。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。

Easysearch 本次更新如下:

Features

  • 正式发布快照生命周期管理 (SLM) API, 支持定时备份和删除快照,以及保留快照的个数
  • 增加跨集群复制 (Cross-cluster replication) 功能:
    • 支持手动或自动复制索引
    • 支持暂停和恢复复制索引
    • 支持取消指定索引的跨集群复制

Bug Fix

  • security 模块修复缺少某些角色验证属性的问题

Improvements

  • 兼容 ES6.0 版本的索引

INFINI Gateway v1.15.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway,可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Gateway 本次更新如下:

Features

  • 增加 auto_generate_doc_id 在线过滤器,支持 index 自动生成 _id

Bug Fix

  • 修复 floating_ip 错误抢占的问题
  • 修复 elasticsearch 对 x-forwarded-for 的错误覆盖问题
  • 修复 queue_consumer 在队列没有消息时高 CPU 占用的问题

INFINI Console v1.3.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

Console 本次更新如下:

Features

  • 数据看板新增新增 Dashboard 导入导出功能

  • 数据看板表格组件 UI 调整,并新增排序功能
  • 数据看板组件支持多指标(折线图、面积图、柱状图、条形图)

  • 数据迁移新增增量迁移、定时运行功能
  • 数据比对新增增量比对、定时运行功能

更多参见:增量数据迁移介绍

  • 监控报表新增索引,节点健康状态指标
  • 新增免费授权申请功能

  • 新增 Agent 管理功能
    • Agent 注册以及基本信息修改
    • 查看 Agent 主机 ES 进程信息,进程关联到已注册集群后,自动采集该 ES 集群指标及日志
    • 通过 Agent 查看 ES 节点日志
    • Agent 支持 Linux 平台脚本一键安装

更多参见 :Agent 管理功能介绍

Bug fix

  • 修复没给菜单权限,左侧菜单依然显示的问题
  • 修复删除数据看板 Dashboard 时 url 中 id 不更新的问题
  • 修复数据看板指标字段搜索无数据的问题
  • 修复数据探索切换索引(视图)时报错的问题
  • 修复数据探索切换时间字段后索引显示不正常的问题
  • 修复数据探索切换表格样式的问题
  • 修复数据看板框选一个坐标点进行时间过滤时无数据的问题
  • 修复数据看板只读用户标签页样式的问题
  • 修复数据看板组件放大后进入编辑界面 UI 不正常的问题

Improvements

  • 节点监控详情分片列表增加索引写入指标
  • 数据看板柱状图和条形图新增配置是否堆叠
  • 告警模版添加函数 get_keystore_secret 支持访问 keystore 变量

INFINI Agent v0.5.0

INFINI Agent 是 INFINI Console 的一个可选探针组件,负责采集和上传集群指标和日志等信息,并可通过 Console 管理。Agent 支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。

探针 Agent 本次更新如下:

Features

  • 支持将 Agent 注册到 Console
  • 添加保存配置到动态加载目录接口

Improvements

  • 优化自动发现 Elasticsearch 实例进程
  • 优化查看 Elasticsearch 实例日志相关 API

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://www.infinilabs.com

INFINI Labs 产品更新 | Console 新增数据比对、新增数据看板表格组件及支持下钻功能等

资讯动态liaosy 发表了文章 • 0 个评论 • 2551 次浏览 • 2023-05-26 16:00 • 来自相关话题

INFINI Labs 产品更新啦~,本次产品版本更新包括 Gateway v1.14.0、Console v1.2.0、Easysearch v1.1.1 等,其中 Console 在上一版基础上做了很多优化改进以及新增了一些特性,如新增数据比对校验功能、数据看板模块新增了表格组件、图表组件支持下钻功能等。欢迎下载体验。

INFINI Gateway v1.14.0

极限网关本次更新如下:

Features

  • 支持自定义服务名称
  • metrics 增加实例 user_in_ms 和 sys_in_ms 采集
  • elasticsearch 增加 dial_timeout 选项

Bug Fix

  • 修复网关开启实时日志推送后命令行日志无法输出的问题
  • logging 修复 min_elapsed_time_in_ms 选项不生效的问题
  • 修复一个消费闲置队列造成 CPU 占用高的问题

更多更新参见【 Gateway 版本历史 】。

INFINI Console v1.2.0

Console 本次更新如下:

数据比对

数据比对目前支持跨集群索引全量数据校验,常用于索引数据迁移之后,校验两端的数据是否一致,保障数据迁移的正确性。通过 UI 界面创建数据校验任务和管理。

进入校验任务详情,能够可视化展示分区子任务的进度,不同的颜色方块表示进度状态,如绿色表示校验成功、红色表示校验失败,如失败了可以查看 log 日志进行错误原因定位。

具体操作参见:教程

数据看板

Console 数据看板模块新增了表格组件,进一步扩展 Dashboard 看板图表多样化,增强数据可视化能力。详情查看 操作演示视频

同时,数据看板模块新增了下钻功能,支持图表组件配置自定义下钻 URL 链接,在图表组件上进行时间范围框选后即可点击下钻按钮进行链接跳转。详情查看 操作演示视频

告警模板支持环境变量

新版 Console 支持解析系统环境变量和配置文件中配置的环境变量。在配置告警规则消息内容时可通过 {{$.env.VARIABLE}} 方式设置环境变量,详情参见:教程

除了以上主要新增功能外,Console 其他更新如下:

Bug fix

  • 修复数据看板组件复制的问题
  • 修复开启实时推送日志后,不写文件日志的问题
  • 修复初始化时,系统集群没有索引,节点元数据的问题
  • 修复网关重启后,数据迁移任务无法结束的问题
  • 修复数据迁移任务统计数据重复的问题
  • 修复数据探索列表时间字段排序问题

Improvements

  • 告警规则表达式显示优化
  • 优化数据迁移任务调度流程,减少 ES 调用次数
  • 数据迁移任务增加跳过 scroll/bulk 文档数检查选项

更多更新参见【 Console 版本历史 】。

INFINI Framework

INFINI Framework 作为 INFINI Search Platform 各产品组件的公共框架模块,其更新如下:

Features

  • 支持自定义服务名称,可用于单机多实例部署
  • 新增统计接口别名:/stats/prometheus

INFINI Easysearch v1.1.1

Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10.2 版本。本次主要更新如下:

Bug fix

  • 修复模板别名在某些场景不生效的 Bug
  • 防止 BigArray 在某些场景发生内存泄漏
  • 修复 SourceValueFetcher 可能遗漏字段的 Bug

Improvements

  • easysearch.yml 增加 elasticsearch.api_compatibility 配置项,兼容 logstash-oss,filebeat-oss,apm-server-oss 等 elasticsearch 的客户端

更多更新参见【 Easysearch 版本历史 】。

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

最后祝大家周末愉快!

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

INFINI Labs 产品更新 | 重磅推出 Easysearch 一个分布式的近实时搜索与分析引擎

资讯动态liaosy 发表了文章 • 0 个评论 • 2662 次浏览 • 2023-05-16 11:57 • 来自相关话题

INFINI Labs 产品更新发布

INFINI Labs 产品又更新啦,包括 Easysearch v1.1.0、Gateway v1.13.0、Console v1.1.0、Agent v0.4.0,其中 Easysearch 经过团队的数月打磨,现正式对外推出。Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10.2 版本。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。欢迎大家下载体验。

INFINI Easysearch v1.1.0

INFINI Easysearch 本次更新最重要的功能是引入了 ZSTD 压缩算法,对索引进行全方位的压缩,尤其针对日志数据压缩效果更加明显,针对 1.1G 的 Nginx 日志进行测试,采用 ZSTD 策略后,膨胀率只有 0.94,甚至比原始数据还要小,而且还能进一步压缩,和 index.source_reuse 结合使用后,膨胀率只有 0.7,索引大小只有 Elasticsearch 原生 best_compression 的 59%,是 Elasticsearch 6.x 的 49%。下面是一张索引大小对比图:

更多介绍查看 详情

其他更新功能如下:

Breaking changes

  • Lucene 版本升级到 8.11.2

Breaking changes

  • 增加 ZSTD codec, 引入 ZSTD 压缩算法,对存储字段,doc_values,词典进行压缩。
  • 增加 index.source_reuse 索引级别配置,对 _source 进一步压缩。
  • 提供索引生命周期管理 ILM 模块的功能,绝大部分 api 兼容 elasticsearch

Breaking changes

  • 减少冗余日志输出。
  • 减少 modules 模块整体大小。

下载地址:https://www.infinilabs.com/download

INFINI Gateway v1.13.0

极限网关本次更新如下:

Features

  • router.rules 增加 enabled 选项,控制是否启用 flow
  • 增加对 loong64 架构的支持
  • 增加对 riscv64 架构的支持
  • elasticsearch filter 增加 dial_timeout 选项

Bug fix

  • 修复 http/elasticsearch 转发后 HTTP 响应头丢失的问题
  • 修复 pipeline 热加载出现重复 pipeline 同时运行的问题
  • 修复 bulk_indexing 退出后泄漏 goroutine 的问题

Improvements

  • 优化 HTTP 头设置方式,避免出现重复的 HTTP 头
  • 优化 pipeline 停止的响应速度
  • pipeline 增加 enabled 选项,控制是否启用 pipeline

更多 Gateway 更新可参考【Gateway 版本历史】。

INFINI Console v1.1.0

本次 INFINI Console 版本发布主要新增了网关实时日志查看功能、完善了数据迁移功能和数据看板的可视化能力、以及修复了已知 Bug。

实时日志

登录 Console,进入 [资源管理][网关管理] 界面,可以看到网关实时日志入口(前提需要注册网关)如下图所示:

进入实时日志展示界面,点击“开始”按钮后,服务端将 Gateway 日志实时推送到 Console 界面展示,在该界面可以动态调整输出不同的日志级别(DEBUG、INFO、WARN、ERROR 等),同时也支持文件名、方法名、消息内容加通配符进行过滤。

详情查看 动手教程操作演示视频

数据迁移

数据迁移模块,基于上个版本做了优化,添加 ILM,Template,Alias 初始化操作。方便用户根据各自的需求迁移索引生命周期、模板、别名等。

数据看板

数据看板图表支持复制、快速切换、时间框选、缩放、标记高亮,进一步增强 Console 可视化能力。

详情查看 操作演示视频

除以上主要功能更新外,Console 其他功能优化如下:

Bug fix

  • 修复数据探索保存查询出现 mapping 错误的问题
  • 修复数据看板组件数据源配置的问题
  • 修复数据探索左侧字段栏样式的问题
  • 修复集群注册向导点击跳转后丢失集群类型的问题

Improvements

  • 数据看板汉化

更多 Console 更新可参考【Console 版本历史】。

INFINI Agent v0.4.0

数据采集工具探针(INFINI Agent)更新如下:

Features

  • 新增 logs_processor ,配置采集本地日志文件

Breaking changes

  • es_logs_processor 调整日志字段
    • created 重命名为 timestamp
    • 自动提取 payload.timestamp payload.@timestmap 字段到 timestamp
  • es_logs_processor 删除 enable 选项

下载地址: https://www.infinilabs.com/download/?product=agent

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

详情参见官网:https://www.infinilabs.com

INFINI 产品更新|Console v1.0 版本正式发布

默认分类liaosy 发表了文章 • 0 个评论 • 2680 次浏览 • 2023-04-23 16:09 • 来自相关话题

INFINI Labs 产品更新发布

本次 INFINI Labs 产品更新主要包括 Gateway v1.12.1、Console v1.0.0,其中 Console v1.0.0 是一个重要里程碑版本,该版本做了很多UI交互优化;集成了Github SSO 单点登录功能;新增了数据迁移功能,支持跨搜索引擎、跨版本的数据迁移;新增了数据看板,支持自定义可视化报表;以及修复已知Bug等。值得一提的是,Console 非常轻量级,安装包只有16MB,架构简洁,除了使用 Elasticsearch 当作数据存储外无任何外部依赖,包含监控、告警、安全、可视化分析等日常管理功能,欢迎下载使用。在线体验DEMO:https://play.infinilabs.com:64443,用户名密码 readonly/readonly。

INFINI Gateway v1.12.1

极限网关本次更新如下:

Bug fix

  • Elasticsearch 修复偶现连接断开的问题。
  • Elasticsearch 修复连接超时未返回错误信息的问题。

更多 Gateway 更新可参考【Gateway 版本历史】。

INFINI Console v1.0.0

Console 本次主要更新如下:

1、集成 Github 单点登录,方便快速登录,减少用户名和密码登录经常忘记带来的烦恼。详情查看教程

1682236995658.jpg

2、新增了工作台界面,作为 Console 登录后的入口页面,可以快速预览整个系统的集群资源概要信息、集群动态、常用功能快捷入口等。

640.png

3、新增了数据迁移功能,支持 Elasticsearch、Opensearch、Easysearch 等搜索引擎的所有版本之间相互迁移。需要搭配 最新版本极限网关(INFINI Gateway) 使用,详情查看教程

640_(1).png

4、新增了数据看板功能,支持多标签页,支持折线图、柱状图、饼图等图表,支持用户自定义可视化数据报表,详情查看教程

640_(2).png

5、数据探索 Discover 添加搜索关键词高亮功能。

640_(3).png

除了以上主要功能外还做了很多优化和Bug fix,如下:

Features

  • 数据迁移添加初始化索引 settings, mappings 可选步骤
  • 数据迁移添加删除功能

Improvements

  • 添加 Opening scroll context 监控指标
  • 数据迁移分区设置优化
  • 优化数据迁移错误日志和异常情况处理
  • 迁移后目标集群和源集群文档数量不匹配,标记迁移任务为失败状态

Bug fix

  • 修复新注册集群状态不同步更新的问题
  • 修复低版本 ES 多 type 分区查询时没有根据 doctype 过滤的问题
  • 修复特殊情况下迁移任务没有被释放的问题
  • 修复迁移任务结束,队列磁盘文件未释放的问题
  • 修复bulk写入失败导致迁移任务卡住的问题

更多 Console 更新可参考【Console 版本历史】。

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

最后祝大家周末愉快!

关于极限科技(INFINI Labs)

关于极限科技

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

INFINI 产品更新 20230224|Loadrun 首发亮相

资讯动态liaosy 发表了文章 • 0 个评论 • 3494 次浏览 • 2023-02-24 22:58 • 来自相关话题

INFINI Labs 产品更新发布

INFINI Labs 为大家又带来一波产品更新,包括 Gateway v1.10.0、Console v0.8.0、Loadgen v1.5.0、Loadrun v0.1.0,其中 Loadrun 是本次产品更新中首发亮相,它是一个用来批量运行 Loadgen 测试用例的工具。欢迎大家下载体验。

INFINI Gateway v1.10.0

极限网关本次更新如下:

Features

  • 配置文件中支持环境变量
  • 添加 ratio filter 选项操作,允许立即丢弃请求
  • 添加 context_parser filter
  • 添加 context_switch filter
  • 添加 _sys.* 到请求上下文

更多 Gateway 更新可参考【Gateway 版本历史】。

INFINI Console v0.8.0

本次极限 Console 版本更新主要新增了凭据管理功能,凭据敏感信息使用加密存储。凭据管理可以帮助我们将身份验证信息集中管理,需要用的地方直接引用,提高了身份验证信息的存储安全性。

需要注意的是,如果您是初次安装部署,凭据敏感信息加密密钥在 INFINI Console 安装初始化是自动生成或用户自定义设置。该密钥需要用户妥善保存,如果密钥丢失,当升级 INFINI Console 并且重新初始化系统后,先前保存的凭据信息将无法解密。

image111.png

在【系统管理】-【凭据管理】列表中可以查询已创建的凭据信息,支持增删查改等基本操作。

image222.png

更多详情可参考文档(https://www.infinilabs.com/docs/latest/console/reference/system/credential)。

Console 其他功能优化如下:

Improvements

  • KV 内存占用优化

Bug fix

  • 修复了网关实例列表 CPU 数值显示问题
  • 修复了系统服务健康监控错误提示

更多 Console 更新可参考【Console 版本历史】。

INFINI Loadgen v1.5.0

Elasticsearch 性能压测工具 Loadgen 本次更新如下:

Features

  • 新增assert功能,支持对请求返回进行判断
  • 新增register功能,支持测试过程中动态注册全局变量
  • 新增环境变量功能,配置文件可以动态加载环境变量
  • 请求头配置支持访问动态变量

Improvements

  • 优化 -l 参数的准确性
  • 支持可选跳过 warm-up 阶段

下载地址:https://release.infinilabs.com/loadgen

INFINI Loadrun v0.1.0

Loadrun 是一个用来批量运行 Loadgen 测试用例的工具,不需要重复编写测试用例,通过切换套件配置来快速测试不同的环境配置。

Features

  • 支持配置测试套件,批量运行 Loadgen 测试样例并输出测试结果
  • 支持测试套件配置 Loadgen 环境变量,快速切换测试环境
  • 支持自动启动 INFINI Gateway,方便测试不同配置

下载地址:https://release.infinilabs.com/loadrun

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

联系我们

最后祝大家周末愉快!

关于极限科技(INFINI Labs)

关于我们.png

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

INFINI Gateway和 Console 更新发布啦!

资讯动态liaosy 发表了文章 • 0 个评论 • 4927 次浏览 • 2023-02-10 23:12 • 来自相关话题

INFINI Labs 产品更新发布

Hi,大家好。今天 INFINI Labs 为大家带来 2023 春节后第一波产品更新发布,欢迎大家免费下载体验使用。

INFINI Gateway v1.9.0

极限网关本次迭代带来了大量的更新如下:

Breaking changes

  • Refactoring config for ip access control
  • Disable elasticsearch metadata refresh by default
  • Update default config path from configs to config
  • Remove sample-configs, moved to dedicated integrated-testing project
  • Remove field conntime, update field @timestamp to timestamp in logging filter
  • Rename disorder to fast

Features

  • Support listen on IPv6 address
  • Add general health api
  • Add request_ip to context
  • Add badger filter plugin
  • Allow to split produce and consume messages from s3
  • Add bulk_request_throttle filter
  • Support access request context and more output options in echo filter
  • Add body_json to response context
  • Add cert config to API module, support mTLS
  • Add api to clear scroll context
  • Floating_ip support stick by priority
  • Add keystore util
  • Allow to save success bulk results in bulk_indexing processor
  • Enable watch and reload the major config file
  • Support run background job in one goroutine
  • Allow to handle async_bulk request logging
  • Add config to control cluster health check while cluster not available, set default to false
  • Allow to follow redirects in http filter, set default read and write timeout to 30s
  • Support collect instance metrics to monitoring gateway
  • Add json log format

Bug fix

  • Fix user was removed in logging filter
  • Fix incorrect message size issue, reload when files changed in disk_queue
  • Fix issue that index_diff could not finished automatically
  • Fix hostname was not well updated in filter set_request_header or set_hostname
  • Fix to check consumer’s lag instead of queue’s lag in flow_runner processor
  • Fix file not found error for disk_queue
  • Fix the delete requests was not proper handled in filter bulk_reshuffle, bulk_request_mutate and bulk_indexing processor
  • Fix memory leak caused by misuse of bytes buffer
  • Fix to handle the last request in replay processor
  • Fix url args was not updated after change
  • Fix memory leak when serving high-concurrent requests
  • Fix nil id caused error when using sliced workers in bulk_indexing processor
  • Fix index name with dot
  • Refactoring time fields for orm, skip empty time
  • Refactoring stats, allow to register extended stats
  • Fix to restart gateway entrypoint on flow change
  • Update ratio filter, fix random number, add header to ratio filter
  • Fix query parameter no_cache was not well respected in get_cache filter
  • Fix single delete request was ignored in bulk requests
  • Fix request mutate filter

Improvements

  • Remove newline in indexing_merge and json_indexing processor
  • Improve instance check, add config to disable
  • Add option skip_insecure_verify to s3 module
  • Improve instance check, enable config to disable
  • Update the way to get ctx process info, optimize memory usage
  • Improve indexing performance for bulk_indexing processor
  • Refactoring disk_queue, speedup message consumption
  • Enable segment compress for disk_queue by default
  • Skip download s3 files when s3 was not enabled
  • Add option to log warning messages for throttle filters
  • Optimize hash performance for getting primary shardID and partitionID
  • Add cache for get index routing table
  • Optimize performance for bulk response processing
  • Refactoring bulk_processor, pass meta info to payload func
  • Don’t call payload func for delete action
  • Improve queue consumer’s lag check
  • Enable prepare flat files ahead for read by default, skip unnecessary file
  • Add object pool for xxhash
  • Refactoring disk_queue, handle consumer in-flight segments in memory
  • Add config to remove duplicated newline for bulk_processor
  • Add metric timestamp in stats api
  • Improve error on routing table missing
  • Refactoring bytes buffer and object pool, expose metrics via API
  • Refactoring tasks pooling, support throttle and unified control
  • Optimize badger file size and memory usage
  • Refactoring time fields for orm, skip empty time
  • Refactoring stats, allow to register extended stats
  • Refactoring to handle bulk response results
  • Add client_session_cache_size to tls setting
  • Safety add newline to each bytes when handle bulk requests

INFINI Console v0.7.0

INFINI Console 本次迭代更新如下:

  • 新增初始化安装向导;

    image.png

  • 新增系统服务健康监控;
  • 新增 License 授权;

    image_(1).png

  • 新增索引和节点层面数据字节写入吞吐量指标(indexing bytes);
  • 修复了 Discover 第一次加载未发起搜索请求的问题;
  • 修复了查看节点线程池指标时选择多个节点后指标不显示的问题;

期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs) 中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家添加微信小助手(INFINI-Labs)拉群交流和学习。

640.jpeg

感谢大家的围观,祝大家周末愉快。

INFINI 产品更新啦 20220923

资讯动态liaosy 发表了文章 • 0 个评论 • 1826 次浏览 • 2022-09-23 22:47 • 来自相关话题

INFINI Labs 产品更新发布

今天 INFINI Labs 为大家又带来了一波产品更新,请查阅。

INFINI Gateway v1.8.0

极限网关本次迭代更新如下:

  • 修复上下文条件 consumer_has_lag参数和 配置、文档不一致的 Bug。
  • 修改备集群故障,主集群不能正常写数据的 Bug。
  • 修复 Bulk 请求处理异常造成数据复制不一致的问题。
  • 修复请求日志里面关于 Bulk 统计数据丢失的问题。
  • 修复大并发情况下,请求体为空的异常。

INFINI Console v0.6.0

口碑爆棚的 Elasticsearch 多集群管控平台 INFINI Console 更新如下:

  • 新增主机概览。

1-640.png

  • 新增主机监控。

2-640.png

  • 节点概览新增日志查看功能(需安装 Agent)。

3-640.png

  • Insight 配置框新增 Search 配置。
  • 优化 Discover 时间范围 Auto Fit,设为15分钟。
  • 优化 Discover 保存搜索,会保存当前的字段过滤和 Insight 图表配置。
  • 优化本地列表搜索查找,支持通配符过滤。
  • 优化告警规则必填字段标记显示。
  • 修复了 Discover 字段过滤白屏问题。
  • 修复了 Discover 表格添加字段后排序失效问题。(感谢@卢宝贤反馈)
  • 修复了 Elasticsearch 8.x 删除文档报错不兼容的问题。(感谢@卢宝贤反馈)
  • 修复了创建新索引不成功时,异常处理的问题。
  • 修复了低版本浏览器js不兼容导致集群注册不成功的问题。
  • 修复了开发工具中使用加载命令失败报错的问题。

INFINI Agent v0.2.0

数据采集工具探针(INFINI Agent)更新如下:

  • 新增按节点读日志文件列表的API
  • 新增读具体日志文件内容的API
  • 新增 Elasticsearch 节点掉线后的基础信息保存
  • 新增主机在线状态的采集
  • 新增基于 Centos 的 Docker 镜像
  • 新增主机配置信息采集: 操作系统信息、磁盘大小、内存大小、CPU配置等
  • 新增主机指标的采集: CPU使用率、磁盘使用率、磁盘IO、内存使用率、swap 使用率、网络IO等
  • 新增 Elasticsearch 进程信息采集
  • 修复发现 Elasticsearch 进程时频繁提示端口访问错误的Bug
  • 修复 Elasticsearch 节点地址为 0.0.0.0 时无法获取节点信息的Bug
  • 修复 CPU 指标数据显示异常的Bug
  • 修复 stats API 在 Windows 平台的兼容性

INFINI Framework 2000923

INFINI Framework 也带来了很多改进:

  • 重构了磁盘队列压缩相关配置,支持段文件的压缩。
  • 当集群不可用的情况下,跳过集群节点元数据的获取。
  • 完善节点可用性检测,避免频繁的不可用状态切换。
  • 修复 Elasticsearch 主机地址为空的异常。
  • 完善本地磁盘队列文件的清理,避免删除正在使用的文件。

期待反馈

如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(https://github.com/infinilabs)中的对应项目中提交 Feature Request 或提交 Bug。

您还可以通过邮件联系我们:hello@infini.ltd

或者拨打我们的热线电话:(+86) 400-139-9200

也欢迎大家微信扫码添加小助手,加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。 联系我们

感谢大家的围观,祝大家周末愉快。