Kudu入库报错Kudu Row Error1 Row error x bytes, maximum is 65536 byte

举报
旅程 发表于 2021/07/03 15:36:27 2021/07/03
【摘要】 Kudu入库报错Kudu Row Error1 Row error x bytes, maximum is 65536 byte

问题现象
客户使用MRS的Kudu,将数据写入kudu中入到如下的报错信息:
kudu 入库报错了Kudu Row Error1: Row error for primary key=xxxxx, tablet=null, server=xxxxxxxxx, status=Invalid argument: value too large for column ‘xxx’ (xxxxxx bytes, maximum is 65536 bytes)。

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

解决方案
1:登录MRS Manager页面,进入Kudu服务,点击配置,选择全部配置,点击KuduTserver(角色),点击自定义,如下图顺序所示:
image.png

2:在 tserver.customized.configs 的配置项中增加自定义配置项,增加的配置项如下:
配置项1: --unlock_unsafe_flags true
配置项2: --max_cell_size_bytes 131072(根据实际调整,但不建议过大)
如下图所示:
image.png

3:点击保存,重启Kudu组件。如下图所示:
如过保存按钮是灰色,鼠标点击下空白处即可。
image.png
重启示意图如下:
image.png

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。