关于kudu使用的一些问题及解决办法

2024-06-09 19:58

本文主要是介绍关于kudu使用的一些问题及解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 在client 1.5之前,由于kudu客户端链接的token有效时间是7天,当时间大于7天的时候token失效,客户端不会主动去刷新token,导致写入数据报错;

 解决办法:kudu-client 版本使用1.5以上的版本

  •  kudu数据flush的模式问题

 AUTO_FLUSH_BACKGROUND:异步刷新可能会导致写入的时候乱序,因此有严格的顺序的写入操作可能要使用AUTO_FLUSH_SYNC模式

具体说明如下:

/**

 * Each {@link KuduSession#apply KuduSession.apply()} call will return only after being* flushed to the server automatically. No batching will occur.** <p>In this mode, the {@link KuduSession#flush} call never has any effect, since each* {@link KuduSession#apply KuduSession.apply()} has already flushed the buffer before* returning.*  * <p><strong>This is the default flush mode.</strong>
 * 使用该模式的时候调用apply以后就直接flush,不回有批量flush的情况,该模式为默认模式*/
AUTO_FLUSH_SYNC,/*** {@link KuduSession#apply KuduSession.apply()} calls will return immediately, but the writes* will be sent in the background, potentially batched together with other writes from* the same session. If there is not sufficient buffer space, then* {@link KuduSession#apply KuduSession.apply()} may block for buffer space to be available.** <p>Because writes are applied in the background, any errors will be stored* in a session-local buffer. Call {@link #countPendingErrors() countPendingErrors()} or* {@link #getPendingErrors() getPendingErrors()} to retrieve them.** <p><strong>Note:</strong> The {@code AUTO_FLUSH_BACKGROUND} mode may result in* out-of-order writes to Kudu. This is because in this mode multiple write* operations may be sent to the server in parallel.* See <a href="https://issues.apache.org/jira/browse/KUDU-1767">KUDU-1767</a> for more* information.** <p>The {@link KuduSession#flush()} call can be used to block until the buffer is empty.
 * 1. 在该模式下,调用apply以后自动返回,写入是在后台异步进行。有可能会和同一个session里面其他的写入操作一起批量提交,如果buffer的
 * 空间不够用的话apply会被阻塞直到有可用空间。
 * 2.由于写入是后台异步操作,可以使用countPendingErrors()或者getPendingErrors()来检索错误。* 3. AUTO_FLUSH_BACKGROUND可能会导致写入的结果是乱序的,因为这个模式可能会并行写入服务器中。*/
AUTO_FLUSH_BACKGROUND,/*** {@link KuduSession#apply KuduSession.apply()} calls will return immediately, but the writes* will not be sent until the user calls {@link KuduSession#flush()}. If the buffer runs past* the configured space limit, then {@link KuduSession#apply KuduSession.apply()} will return* an error.
 * apply以后会立即返回,写操作会在flush以后执行。如果缓冲超过了配置的大小,apply则会
报错 */
MANUAL_FLUSH

这篇关于关于kudu使用的一些问题及解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046157

相关文章

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定