为了测试Doris查询性能,我们使用DataX将mysql一个千万级的表同步到Doris3.0.3版本,同步过程中突然出现
java.sql.SQLException: errCode = 2, detailMessage = begin transaction failed. errCode = 2, detailMessage = Database[imp_db] data size exceeds quota[10.000 TB]
错误,数据无法写入,使用 show backends;查看其中有个节点异常,异常如下图
实际磁盘只有700多G,但是显示使用了997447.568 TB,系统磁盘查看物理机没有问题
集群配置比较为3节点 16U+16G配置
建表语句
CREATE TABLE `imp_alarm_info` (
`PK_ID` bigint(20) NOT NULL,
`DATA_TIME` datetime NOT NULL COMMENT '采集时间',
`EQUIP_NO` varchar(100) NOT NULL COMMENT '设备编号(有具体含义)',
`ALARM_LEVEL` varchar(20) DEFAULT NULL COMMENT '报警级别',
`ALARM_TIME` varchar(30) DEFAULT NULL COMMENT '报警时间',
`ALARM_NOTE` varchar(200) DEFAULT NULL COMMENT '报警详情',
`confirm_user` bigint(20) DEFAULT NULL COMMENT '确认人',
`confirm_time` varchar(19) DEFAULT NULL COMMENT '确认时间',
`commit_status` int(11) DEFAULT '0' COMMENT '0为初始状态 1为待处理 2为确认消除 3 忽略 4 通知',
`commit_user` bigint(20) DEFAULT NULL COMMENT '操作人'
)
UNIQUE KEY(`PK_ID`,`DATA_TIME`)
AUTO PARTITION BY RANGE(date_trunc(`DATA_TIME`, 'day') )()
DISTRIBUTED BY HASH(`PK_ID`) BUCKETS AUTO
PROPERTIES (
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.time_zone" = "Asia/Shanghai",
"dynamic_partition.start" = "-3650",
"dynamic_partition.end" = "1",
"dynamic_partition.prefix" = "p",
"enable_unique_key_merge_on_write" = "true",
"dynamic_partition.buckets" = "3",
"replication_allocation" = "tag.location.default:2"
);