StarRocks使用Ceph S3云存储建表报错

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】StarRocks 使用Ceph S3 云存储建表报错,但是开启异步写 PROPERTIES (“enable_async_write_back” = “true”) 建表成功,而该现象在使用 MinIO 云存储没问题
【背景】建表操作,使用默认创建的 builtin_storage_volume

【业务影响】
【StarRocks版本】3.1.3
【集群规模】3fe(1leader + 2 follower)+3cn(fe与cn混部,cn节点使用的是be镜像,启动脚本用的是cn_entrypoint.sh)
【机器信息】CPU虚拟核/内存/网卡,例如:暂无
【联系方式】
StarRocks社区群16
群内微信名:Haox
联系邮箱:liuhao7860286@126.com

【附件】

enable_async_write_back 设置为true之后,发现CN节点的日志中有同步数据到S3的报错

bucket 已经创建

测试下来发现使用默认的volume建表会失败,重建volume然后建表写入数据就可以了

创建 volume

-- 创建volume
CREATE STORAGE VOLUME test_volumn
TYPE = S3
LOCATIONS = ("s3://starrocks/test/")
PROPERTIES
(
    "enabled" = "true",
    "aws.s3.endpoint" = "endpoint",
    "aws.s3.access_key" = "access_key",
    "aws.s3.secret_key" = "secret_key"
);

-- 设置 volume为 default volume
SET test_volumn AS DEFAULT STORAGE VOLUME;

创建测试表

-- 创建测试表
CREATE TABLE cloud_db.`detail_2312333` (
                              `recruit_date` date NOT NULL COMMENT "YYYY-MM-DD",
                              `region_num` tinyint(4) NULL COMMENT "range [-128, 127]",
                              `num_plate` smallint(6) NULL COMMENT "range [-32768, 32767] ",
                              `tel` int(11) NULL COMMENT "range [-2147483648, 2147483647]",
                              `id` bigint(20) NULL COMMENT "range [-2^63 + 1 ~ 2^63 - 1]",
                              `password` largeint(40) NULL COMMENT "range [-2^127 + 1 ~ 2^127 - 1]",
                              `profile` varchar(500) NOT NULL COMMENT "upper limit value 65533 bytes",
                              `ispass` boolean NULL COMMENT "true/false"
) ENGINE=OLAP
    DUPLICATE KEY(`recruit_date`, `region_num`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`recruit_date`, `region_num`)
PROPERTIES (
"replication_num" = "1",
"datacache.partition_duration" = "1 days",
"datacache.enable" = "true",
"storage_volume" = "test_volumn",
"enable_async_write_back" = "true",
"enable_persistent_index" = "false",
"compression" = "LZ4"
);

写入数据

insert into cloud_db.detail_2312333 values (now(),2,1,1,1,1,'1',false);

builtin_storage_volume在首次启动时加载, 一旦创建好后, fe.conf里的配置将不再生效, 如果有配置错误需要更新, 需要通过SQL ALTER STORAGE VOLUME去更新参数. 可以用describe storage volume builtin_storage_volume来确认一下参数是否正确.

感谢回复,这个之前对比过了,两个volume的配置一开始不一样,然后修改为一样的重启之后还是不行,也重新部署过也不行

最后发现,access_key中,有个是数字0和字母o,两个搞反了,导致的