CDH6.3.2 impala Kudu入库报错value too large for column 'xxx' (69942 bytes, maximum is 65536 bytes)

问题现象
impala将数据写入kudu中入到如下的报错信息:

Error in Kudu table 'impala::br_dw_dev.tbl_sys_article': Invalid argument: value too large for column 'content' (69942 bytes, maximum is 65536 bytes) (1 of 30 similar)

问题分析
查看报错信息中的字段类型为默认的string类型,string类型在kudu中默认为UTF-8字符集,改类型字符集下最大为64kb,即为65536 bytes。需要扩展可存储的大小。可以设置参数max_cell_size_bytes进行解决。

非CDH解决方案

在所有的tserver角色服务器上执行:
kudu tserver set_flag 10.19.102.65  max_cell_size_bytes 131072 -force

CDH解决方案
1:登录Cloudera Manager页面,进入Kudu服务,点击配置,搜索gflagfile:

2:在 “gflagfile 的 Tablet Server 高级配置代码段(安全阀)”增加的配置项如下:
配置项1: --unlock_unsafe_flags=true
配置项2: --max_cell_size_bytes=393216(根据实际调整,但不建议过大)
如下图所示:

3:点击保存更改,重启。

注意事项

1:很多用户遇到该类型错误,从网上找到相应的解决方案,解决方案中提到修改 --max_cell_size_bytes 参数的配置值,CDH集群中默认没有改配置,需要在自定义增加。
2:除了增加 --max_cell_size_bytes 配置外,还需要增加 --unlock_unsafe_flags 为true,否则kudu 会启动失败。kudu启动失败,可以查看 KuduTserver 的日志,日志路径: /var/log/Bigdata/kudu/ ,该目录下 startlog代表改实例的启动日志,runninglog目录下为该实例的运行日志。
3:增加参数时,需要注意配置项前面有两个中划线 - ;且与配置项不要有空格。

posted @   民宿  阅读(543)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示