首页 文章 精选 留言 我的

精选列表

搜索[布隆过滤器],共6707篇文章
优秀的个人博客,低调大师

Free Fs v2.0.1发布

Free FS 2.0.1 已经发布,本次更新主要是重构存储插件模块,让用户更好更快的去实现一个存储插件,更新内容如下: - 新增: 新增 `@StoragePlugin` 注解,支持声明式定义插件元数据 - 新增: 新增存储插件自动注册功能,应用启动时自动同步插件信息到数据库 - 新增: 新增 `StoragePluginMetadata` DTO,统一管理插件元数据 - 新增: `TEXT`文本类型预览,包含`TXT`、`LOG`、`INI`、`PROPERTIES`、`YAML`、`YML`、`CONF` - 重构: 重构 `StoragePluginRegistry`,基于注解验证和加载插件 - 重构: 简化 `IStorageOperationService` 接口,移除 `getPlatformIdentifier()` 和 `getConfigSchema()` 方法 - 废弃: 废弃 `StoragePlatformIdentifierEnum` 枚举类,改用 `@StoragePlugin` 注解 - 优化: 统一使用 `StorageUtils.LOCAL_PLATFORM_IDENTIFIER` 常量管理 Local 标识符 - 优化: Local 存储插件简化配置,仅保留必要的注解属性 详情请查看:https://doc.free-fs.top/zh/docs/changelog

优秀的个人博客,低调大师

OpenNJet KIC V2.0发布!

NGINX 向云原生演进,All inOpenNJet 概述 OpenNJet KIC(Kubernetes Ingress Controller)基于OpenNJet proxy的动态特性、高性能实现。弥补nginx 在云原生场景中应用的不足。提供了丰富的流量管理能力,如动态location、host/path路由、负载均衡、动态upstream、金丝雀发布、TLS Termination/SNI、TCP/UDP、WebSocket等。 本版本主要特性: 支持分片处理Ingress/VS CR 支持与ADC集成 支持HTTP头操作 支持TCP代理 支持跨namespace 支持WebSocket代理 支持UDP代理 支持动态NJet VS/Accesslog 支持TCP主动健康检查 支持动态worker 进程数调整 本文简要介绍了这些新功能。 架构图如下: 新特性概览 分片处理Ingress/VS CR 针对不同的Ingress/VS资源有专门的kic来处理,这就是KIC分片机制。 不同的Ingress/VS资源由ingressClass标识,Ingress资源可以通过注解kubernetes.io/ingress.class或者spec.ingressClassName来标识,而VS资源可以通过spec.ingressClassName来标识。 注意,这种分片机制中的每一片KIC我们称为一类KIC,且与IngressClass一一对应,一个k8s集群中,有多种Njet KIC,那么就需要创建多个IngressClass对象。每一类KIC可以有多个副本(对应k8s架构中的多个pod)。 分片机制,导致每种KIC拥有自己感兴趣的Ingress/VS资源,而不是k8s集群中的全量Ingress/VS资源。其旨在解决单类型KIC无法承受全量配置的压力的问题。 与ADC集成 KIC与ADC集成后,ADC可以作为KIC的前端LB,通过ADC进行管理客户端流量并最终负载均衡到KIC 服务。KIC完成了如下功能: ADC域名注册:KIC向ADC注册了被KIC管理的k8s集群中的服务的域名,比如通过k8s ingress、vs CR管理的服务。此功能可以让客户端直接通过域名进行请求(需配置ADC的DNS服务器为默认DNS服务器)。 ADC SlbPool注册:KIC向ADC注册了KIC服务关联的应用池(nodeIP+nodePort),此功能可以让ADC路由到KIC服务 ADC VS注册:KIC向ADC注册了一个VS,并关联第二步创建的应用池,此功能可以让客户端直接访问VS,实现 ADC可以作为KIC的前端LB ADC VS中的VIP与被KIC管理的服务的域名相对应。ADC VS中的VIP为一个公网IP,外部客户端可以直接访问。 整体架构 场景图: 交互架构图: HTTP头操作 OpenNJet KIC头操作,可以针对客户端请求头进行修改,针对被代理服务的响应头进行操作。包括用户自定义头和HTTP规范中定义的头。 TCP代理 KIC TCP代理可以实现对上游TCP服务进行代理。TCP代理提供负载均衡能力。TCP代理完全动态化实现,不需要OpenNJet进行reload操作。 被代理的TCP服务都会有自己listen的端口,被代理服务越多,需要listen的端口就越多,传统Nginx实现中每新增一个listen都需要reload配置,为了解决reload问题,我们采用端口转发的的方式实现TCP服务的代理。具体设计如下: OpenNJet stream配置中预先listen一个12003端口(被代理的TCP服务监听的端口都会重定向到12003)。 KIC通过客户定义的API,生成iptables规则,通过iptables规则,将要请求的TCP服务端口重定向到12003端口。 OpenNJet stream通过客户端访问的"TCP服务端口"匹配客户预先通过API配置的upstream。此过程通过stream map进行匹配。 OpenNJet stream把客户端请求发往匹配成功的upstream中的server(其中负载均衡由stream lua实现)。 iptables规则,以及map内容的更新使用API动态更新,避免了进行reload操作 OpenNJet 配置实现如下: map $njtmesh_port \$stream_upstream { } server { listen 12003 mesh; set $proxy_upstream_name \$stream_upstream; proxy_pass upstream_balancer; } 客户端请求的端口始终为TransportServer中listener的端口。被代理的服务不能使用的端口,因为KIC内部会使用,说明如下表所述: 端口 说明 80 http代理 443 https代理 12001 OpenNJet控制面 12002 tcp lua upstream 12003 TCP代理端口 12004 UDP代理端口 8080 stub_status与http lua upstream 8081 KIC pod readiness-port 跨namespace K8s内建的Ingress只能处理与其相同ns中的服务的路由,没法进行跨ns操作。跨namespace配置功能解决了此限制。 除了Ingress支持跨namespace配置,VS同样也支持跨ns配置,使用者可根据自身情况进行选择。 Ingress通过不同Ingress类型来实现这一个功能,Ingress本身是没有类型这一概念的,我们通过添加注解"njet.org.cn/mergeable-ingress-type"来表示。注解可以取如下表格中的值: 值 说明 备注 master 主Ingress 一个 minion 从Ingress 可以多个,通过host与master Ingress关联 相同host的master和minion可以在相同ns或者不同ns。 除了跨ns配置可以选择此功能,当一个host有大量的path时,单个Ingress维护起来较复杂时也可选择此功能来进行管理path。 VS CR与Ingress有同样的功能,但实现方式不同,VS CR通过引用一个子路由资源来进行跨ns配置,子路由是一个ns/name格式的字符串,用来表示VSR资源,VSR是一个K8s CR,为了此功能引入的一个新的CR。 WebSocket代理 WebSocket是一个独立的基于TCP的应用层协议,是一个全双工的通信协议。它与HTTP的唯一关系是它的握手被HTTP服务器解释为HTTP升级请求,当握手结束后与HTTP就没有关系了。协议有两个部分:握手和数据传输。握手阶段如下图所示: Ingress通过增加注解来实现这一个功能,我们通过添加注解"njet.org.cn/websocket-services"来表示。 注解名称 值格式 描述 njet.org.cn/websocket-services service,service2(逗号分割的服务名称) Websocket 支持 VS不需要任何配置。 UDP代理 KIC UDP代理可以实现对上游UDP服务进行代理。UDP代理提供负载均衡能力。UDP代理完全动态化实现,不需要OpenNJet 进行reload操作。 UDP服务代理实现与TCP服务代理基本一致,只是OpenNJet stream配置中预先listen一个12004端口(被代理的UDP服务监听的端口都会重定向到12004),而TCP预先listen一个12003端口。详细说明参考TCP代理。 OpenNJet 配置实现如下: map $njtmesh_port \$stream_upstream_udp { } server { listen 12004 udp mesh; set $proxy_upstream_name $stream_upstream_udp; proxy_pass upstream_balancer; } 动态NJet VS 与第一版相比较,我们将单server多location的方式实现HTTP host头匹配,和path匹配,修改为多server多location的方式,使用nginx 标准的server_name 实现host头匹配,但是是动态化更新配置的,不需要进行reload操作。第二版针对Ingress和VirtualServer没有增加额外其他功能。 动态Accesslog KIC Accesslog功能可以实现对某一个应用单独应用accesslog策略(包括开关状态、accesslog文件路径)。也可以通过njet-config ConfigMap进行全局设置,但是"某一个应用单独应用accesslog策略"优先级更高。 TCP主动健康检查 对于Transport Server 资源,支持配置一个TCP端口,主动健康检查将根据配置的检查间隔,检测该TCP端口是否正常监听,并根据检查结果对后端进行上线及下线操作。 apiVersion: k8s.njet.org/v1alpha1 kind: TransportServer metadata: name: testapp-tcp spec: listener: name: test-tcp protocol: TCP upstreams: - name: testapp1 service: testapp port: 80 healthCheck: enable: true interval: 20s timeout: 5s fails: 1 passes: 1 port: 83 action: pass: testapp1 配置说明如下: 字段 描述 类型 是否必填 enable 是否启用健康检查,默认false boolean No interval 检查的间隔时间。默认为 5 string No fails 失败几次后将视为下线。默认1次 integer No passes 成功几次后将视为上线。默认1次 integer No port 健康检查服务所在端口 integer No timeout 健康检查连接超时时间 string No 动态worker 进程数调整 支持通过ConfigMap资源,配置njet 实例的worker进程数目,ConfigMap中的配置项更新后,将触发worker进程数动态修改。 配置项 说明 字段类型 默认值 备注 worker-processes Worker 进程数 (允许设置的值 1 - 512) String 默认是auto根据cpu核数自动生成的进程数 参考链接 OpenNJetKIC用户手册 OpenNJet KIC源码地址 NJet应用引擎通过内核重构实现了独特的运行时动态配置加载能力,是新一代高性能 Web 应用引擎。NJet 拥有高性能数据面处理能力,将集群、高可用、主动健康检查、声明式 API 等多种辅助功能,通过 NJet 独特的副驾驶 CoPilot 服务框架调度,从而方便功能扩展,隔离管理 / 控制功能对数据面的影响,NJet 应用引擎性能超过 CNCF 推荐 Envoy 应用引擎的三倍。邮件组官网

优秀的个人博客,低调大师

VersionFox 0.2.1发布:支持 Deno 插件!!!

更新内容: 优化: 使错误日志更统一、更方便用户易懂.0e426fd 优化: 允许插件不提供Checksum, 但是会给用户一个警告提示.74b9fe4 修复: 修复Fish Shell下无法正确Hook的问题.523f027 修复:修复Zsh Shell下无法正确补全的问题.f7fd3a8 插件: 支持Deno 插件#2 每种编程语言都有对应的版本管理工具,如 nvm、fvm、gvm、sdkman 等,它们的核心功能大同小异。但对于使用多种语言的开发者来说,这意味着需要学习和记忆各种不同的命令,增加了学习成本。如果你是全栈工程师,或者使用不止一种语言,使用VersionFox,你无需再学习这些繁杂的工具,从而降低学习成本,节省时间。 亮点: 跨平台 (Windows、Linux、macOS), 不同的平台拥有相同的用户体验 使用一致的命令管理所有语言 简单的插件系统添加对您所需 SDK 的支持 支持 Global、Project、Session 三种作用域 当您遍历您的项目时,自动切换到对应版本 快速入门 安装 vfox (详细安装) $ brew tap version-fox/tap $ brew install vfox 选择一条适合你 shell 的命令 echo 'eval "$(vfox activate bash)"' >> ~/.bashrc echo 'eval "$(vfox activate zsh)"' >> ~/.zshrc echo 'vfox activate fish | source' >> ~/.config/fish/config.fish # For PowerShell, add the following line to your $PROFILE: Invoke-Expression "$(vfox activate pwsh)" 3. 添加插件 $ vfox add nodejs/nodejs 4. 安装版本 vfox install nodejs@latest 5. 切换版本 $ vfox use nodejs@21.5.0 $ node -v 21.5.0 目前已支持多种开发语言,欢迎使用~~ Node 演示 项目地址:https://github.com/version-fox/vfox

优秀的个人博客,低调大师

BuildAdmin-v1.0.3-20220731发布!

完善英文语言包 公共搜索增加远程下拉组件支持 增加数据权限控制支持:不同管理员只可以查看有权数据行 的权限控制功能 自动识别表主键并添加到生成的模型属性 后台终端按钮只为超级管理员显示 关联表指定远程select下拉字段 增加表格快速搜索字段是否存在的检测 增加以type为后缀的enum等类型字段可被生成为单选框 站点系统配置缓存支持 增加会员中心开关 会员注册时通过API获取可用的验证方式、会员注册验证邮件实现 完善会员规则管理 表格公共搜索->对开关组件状态的搜索优化 公共搜索显示状态可通过baTable实例控制 验证码类支持到php8.1 去除file_list后缀的字段生成为多文件上传组件(与下拉组件后缀存在冲突) 优化角色组权限分配 优化默认管理员分组拥有的权限节点 数据回收和敏感数据规则中,不再使用带前缀的表全名 安装器npm install失败自动重试一次 安装器增加检测当前端口是否是8000 安装器完成页面增加 重新安装按钮 (只清理缓存,不会删除install.lock) 修复敏感数据规则管理中删除敏感字段时的显示异常问题 修复表格时间字段未提供值时显示为当前时间的问题 修复管理员个人资料表单中的签名无法被重置的问题 修复后端默认应用不存在的问题 修复字段类型为char(1)时,生成的单选框无字典数据 修复数据表主键不为ID时编辑表单无法保存、表格无法排序等问题 修复顶栏标签全屏时,取消全屏的按钮会遮挡表格顶部操作按钮的问题 修复前后台路由规则名称重复时可能导致错误跳转问题 修复手机号验证正则无法识别部分已知号码的问题 修复系统配置中的禁止访问IP和时区配置项无效的问题 修复系统配置中富文本编辑器层级过高和无法编辑的问题 修复系统配置中时间和城市类型的输入组件无法正常录入值的问题 修复数据表没有注释时不生成菜单规则的问题 修复表格右侧无buttons,且要初始化排序时会报错的问题 修复单元格渲染为tag时值为0等无法显示的问题 修复images字段名称后缀不能生成为图片上传组件的问题 修复管理员日志权限控制不完善的问题 修复管理员可通过后台使自己部分权限丢失的问题 修复管理员分组被禁用后还可以被远程select选择的问题 修复删除管理员时没有同时删除管理员的分组数据的问题 修复远程下拉搜索结果无法选中的问题、同时优化下拉选项面板显示逻辑 修复菜单规则和会员分组被禁用后在远程select中依然可以选择的问题 修复重复安装系统时.env-example被多次写入数据库资料的问题 修复数据安全监听中表不存在时的日志记录异常 其他细节优化

优秀的个人博客,低调大师

免费建站系统,Joomla 3.9.5发布

Joomla 3.9.5现已推出。这是针对3.x系列Joomla的安全修复程序版本,它解决了三个安全漏洞,包含20多个错误修复和改进。什么是3.9.5? Joomla 3.9.5包含三个安全漏洞修复程序以及一些错误和改进,包括: 安全问题已修复 低优先级 - 核心 - com_media中的目录遍历(影响Joomla 1.5.0到3.9.4) 高优先级 - 核心 - Helpsites为未经身份验证的用户刷新端点(影响Joomla 3.2.0到3.9.4) 中等优先级 - 核心 - JQuery $ .extend中的Object.prototype污染(影响Joomla 3.0.0到3.9.4) 错误修复和改进 用户密码:为密码验证添加最小小写规则 关联选项卡:修复印尼语言的错误行为 调试语言:修复用户操作日志管理器 新安装语言:Kazakh Google身份验证器插件(2FA):QR码生成器实现 下载地址: [Joomla 3.9.5 完整包](https://www.eee-eee.com/blog-news/1008-joomla-3-9-5.html)Joomla 3.9.5 更新包

优秀的个人博客,低调大师

智能外呼助手1.0发布

信息摘要: 智能外呼助手通过智能电话外呼,为客户提供高效,质量稳定的自助外呼服务。 适用客户: 金融:金融贷款、金融理财、金融催收等 房产:楼盘出售、商铺招租、房产中介、装修等房地产附加服务客户开发 互联网:媒体广告、网络推广、合作伙伴等 保险:保险新客户开发、老客户新产品推荐等业务 教育:教育培训机构、社会自考招生 电商:线上促销活动推送 汽车:售后服务、满意度回访调查、问卷调查、市场调研 广告:满意度回访、邀约等 版本/规格功能: 通过呼叫控制、语音转文本、自然语言处理等技术手段,实现机器自动外呼完成通话任务的工具。能够将客服人员从重复、机械的初步筛选、意向识别中解放出来,投入到更有价值的客户跟进中。 提供机器人管理及配置,可视化的流程配置工具,知识库配置,全局语境配置,呼叫任务管理等能力。 产品文档: https://help.a

优秀的个人博客,低调大师

Hive 0.13发布 增加ACID特性

什么是ACID,有什么作用? ACID代表数据库事务中的4个特性,原子性(任何一个数据库操作要么被完整执行,要么完全不执行)、一致性(一旦应用程序执行了一个操作,操作的结果对于每一个之后的操作都是可见的)、隔离性(一个用户的操作不会对其他用户产生意料之外的副作用)、持久性(一旦一个操作被完成,这些操作也将被记录下来,即使机器或者系统出现故障,也要保证这些记录的完整性)。这些特性一直被认为是事务功能的重要组成部分。 在最近发布的Hive 0.13中,事务的原子性、一致性和持久性在分区层得到保证,隔离性则通过开启ZooKeeper或内存中可用的锁机制来保证。通过在Hive 0.13中加入事务,实现在行级提供全部的ACID语义,这样的话,一个应用程序可以添加行,而另一个应用程序可以从同一分区中读取数据,互相之间不会产生干扰。 采用ACID语义的事务机制被添加到Hive中来处理以下的用例: 数据流摄取(streaming ingestof data)。许多用户都会使用Apache Flume、Apache Storm或Apache Kafka之类的工具,这些工具可以将数据写入到Hadoop集群,写入数据的速率达到每秒数百行,而Hive可以每隔15分钟到1个小时添加一个分区,然而,添加太多分区也经常会造成表的混乱。这些工具也可以将数据写入到现有分区中,但这又可能会导致读取数据时产生脏读(他们读取的数据在执行查询之后被修改了),而且在他们的目录中会产生的许多小文件,对NameNode造成压力。有了数据流摄取这一新功能,用例将允许读者得到数据的一致视图,同时避免产生过多的文件。 缓慢变化维(slow changing dimensions)。在一个典型星型架构的数据仓库中,随着时间推移,维度表变化的很慢。例如,一家零售商新开一个商店时,那这个商店就需要添加“商店表”中,但也有可能只是对现有商店进行扩充,也许还会添加一些新的服务。这些变化会导致向数据仓库中插入一些新的记录或者对已有记录进行更改(具体取决于选择的策略)。Hive目前无法支持这些操作,只要INSERT ... VALUES、UPDATE和DELETE这些操纵被支持,缓慢变化维将成为可能。 数据重述(data restatement)。有时候收集到的数据不正确,需要一些修正,有可能数据的第一个实例已经近似(90%的服务器报告)稍后提供的完整数据,有可能某些事务由于后续事务还需要被重述(例如:在一次交易中,客户可能会购买会员资格,并因此有权享受折扣价,包括之前的交易也需要享受这个折扣价),还有可能用户会在他们交易关系终止时,会根据合同要求删除他们的用户数据。只要INSERT ... VALUES、UPDATE和DELETE这些操作被支持,数据重述也将成为可能。 不足: 在Hive 0.13中,还不支持INSERT……VALUES、UPDATE和DELETE等操作,BEGIN、COMMIT和ROLLBACK等操作也还没有得到支持,这些功能计划在下一个版本中实现。 在Hive 0.13的第一版本中还只能支持ORC文件格式。事务能否被任何存储格式使用决定了更新或删除操作如何应用于基础记录(实际上,基础记录中有显式或隐式的行id),但到目前为止,整合工作还只能用ORC格式完成。 流摄取接口(见下文)还不能与Hive中已有的INSERT INTO操作很好的整合。如果表使用流摄取接口,那通过INSERT INTO添加的任何数据都会丢失。不过INSERT OVERWRITE仍然可用,而且能用于流摄取,它通过流摄取删除插入数据就像是通过其他方式将数据写入到该分区一样。 在Hive 0.13中,事务默认是被关闭的。请参阅下面的配置部分,Hive中的一些关键项需要进行手动配置。 表必须被bucketed以更好地利用这些功能。同一个系统中没有使用事务和ACID的表不需要被bucket。 仅能支持快照级别隔离。当给定的查询启动后,将会产生一致的数据快照。不支持脏读、已提交读取、可重复读取,以及串行化。引入BEGIN后,将支持快照隔离事务,为的是保证事务持久性,而不仅仅为了完成一次查询。其他隔离级别可以根据用户要求添加。 现有的Zookeeper和内存锁管理器与事务不兼容。目前还没有打算解决这一问题,要想了解如何为事务存储锁,请参见下面的基础设计。 流摄入接口 有关使用流数据摄入的详细信息,请参阅StreamingDataIngest。 语法变化 多个新命令被添加到Hive的DDL中以支持ACID和事务,一些现有的DDL也被做了一些修改。 例如:新加入的SHOW TRANSACTIONS命令,有关该命令的详细信息,请参阅ShowTransactions。 SHOW COMPACTIONS也是一个新加入的命令,详细信息请参阅ShowCompactions。 原有的SHOW LOCKS命令被修改,以提供与事务相关的新锁信息。如果你正在使用ZooKeeper或者内存锁命令,你会注意到这条命令在输出上并没有多大改变,详细信息请参阅ShowLocks。 ALTER TABLE中添加了一个新的选项,用来压缩表或分区。一般用户不需要去请求压缩,因为系统会检测到他们的需求,然后自动启动压缩。但是,如果一个表压缩被意外终止或者一个用户想要去手动压缩表,ALTER TABLE可以满足用户,提供手动启动压缩,有关详细信息,请参阅AlterTable/PartitionCompact。ALTER TABLE会将请求排入队列、压缩并返回请求,如果用户想看到压缩的进展情况,可以使用SHOW COMPACTIONS命令。 基础设计 HDFS不支持对文件进行更改。在写入者向文件进行写入操作,同时文件被其他用户读取这种情况下,它无法保证读取的一致性。为了在HDFS上提供这一功能,我们采用在其他数据仓库工具使用的标准方法,将表或分区数据存储在一组基础文件中,将新记录、更新和删除操作存储在delta文件中。 为每个事务创建一组新delta文件(或者在流代理如:Flume或Storm中,为每一批事务创建一组新delta文件),更改表或分区。在读取时,读取器将基础文件和delta文件合并,应用更新和删除操作。 有时这些变化需要合并成基础文件,一组线程必须添加到Hive metastore中。他们确定什么时候需要压缩,然后执行压缩,最后进行清理(删除旧文件)。压缩的类型分两种,次要的和主要的。次要压缩采用一组现有的delta文件,并为每一次bucket重写一个delta文件。主要压缩则要为每个bucket写一个或多个delta文件,为每一次bucket重写一个新基础文件。所有压缩都在后台完成,并不妨碍数据的并发读取和写入。在一次压缩后,系统会等待直到所有旧文件的读取结束,然后删除旧的文件。 以前一个分区(或如果没有分区表的表)的所有文件都放在单个目录中。因为这些变化,所有采用ACID思想写入的分区都将有一个基础文件的目录,以及delta文件集目录。 新锁管理器DbLockManager也添加到了Hive中。该锁管理器将所有锁信息存储在metastore中,此外所有事务也存储在metastore中。这意味着事务和锁即使在服务器出现故障时也能保证持久性,为了避免客户端死机、离开或者锁挂起,锁持有者和事务启动器需要向metastore发出心跳信号(heartbeat),如果在给定的时间内服务器没有收到客户端发出的心跳信号,该锁或事务将被中止。 配置 许多新配置关键项被添加到系统用以支持事务。 配置关键项 默认值 事务启动值 注释 hive.txn.manager org.apache.hadoop. hive.ql.lockmgr. DummyTxnManager org.apache.hadoop. hive.ql.lockmgr. DbTxnManager DummyTxnManager延用了Hive 0.13之前的做法,不提供事务。 hive.txn.timeout 300 如果在这段时间内,客户端没有发出心跳信号,事务就会被宣告终止。 hive.txn.max. open.batch 1000 事务的最大数量,可以用open_txns()获取。 hive.compactor. initiator.on false true (for exactly one instance of the Thrift metastore service) 是否在该metastore实例上运行启动器和垃圾清理线程。 hive.compactor. worker.threads > 0 on at least one instance of the Thrift metastore service 有多少工作线程在该metastore实例上运行。 hive.compactor. worker.timeout 86400 压缩作业在该时间内未完成将被宣布失败,压缩操作被重新排入队列。 hive.compactor. check.interval 300 检查是否有分区需要被压缩。 hive.compactor. delta.num.threshold 10 delta目录的数目,达到该数后将触发次要压缩。 hive.compactor. delta.pct.threshold 0.1 与基础文件中delta文件的百分比,达到该值会触发主要压缩。(1 = 100%) hive.compactor. abortedtxn.threshold 1000 给定分区中已中止事务的数目,达到该数会也会触发主要压缩。 hive.txn.max.open.batch控制多个事务流代理,如Flume或Storm。流代理将多个词条写到单个文件中(每个Flume代理或每个Storm螺栓)。因此,增加该值可以减少流代理创建的文件数,但增加此值也增加了开放事务的数目(Hive需要追踪),这可能会影响读取的性能。 工作线程为压缩操作产生了许多MapReduce作业,而它们自身并没有做压缩。确定进行表压缩后,增加工作线程的数目会减少表压缩的时间。随着更多的MapReduce作业在后台运行,Hadoop集群的后台负载也在增加。 减小此值将减少压缩表或分区的时间。当然,首先得检查压缩是否必要,这需要为每个表或分区调用多个NameNode,降低此值可以减少NameNode的负载。 表属性 如果表的所有者不希望系统自动确定何时要压缩,那么可以手动设置表属性NO_AUTO_COMPACTION,用来阻止所有的自动压缩操作。 原文发布时间为:2014年04月23日 本文作者:Alan Gates 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册