Doris在创建表的时候,报错
报错如下, errCode = 2, detailMessage = Failed to find enough host with storage medium and tag(HDD/{“location” : “default”}) in all backends. need: 3
1. 刚开始百度,以为是be.conf文件中的storage_root_path没有配置足够的目录,多加几个目录还是不行
storage_root_path = /home/disk1/doris.HDD,50;/home/disk2/doris.SSD,1;/home/disk2/doris
2. 后来以为是我指定了SSD存储格式,但是看这个文档解释,我这边默认是HDD
参考地址:https://zhuanlan.zhihu.com/p/477950790
3. 最后发现报错日志有句 need: 3!!!
Doris建表默认是3个副本,3个副本必须有三台机器各部署至少一个BE(不是一个机器部署三个BE),但是我本地只有一个机器部署了两个BE,
show backends; --查看BE状态
所以我建表的时候只能支持一个副本,不支持3个副本
最终修改
// 之前的建表语句
CREATE TABLE test_log
(
`timestamp` DATETIME NOT NULL COMMENT "日志时间",
`type` INT NOT NULL COMMENT "日志类型",
`error_code` INT COMMENT "错误码",
`op_id` BIGINT COMMENT "负责人id"
)
DUPLICATE KEY(`timestamp`, `type`)
DISTRIBUTED BY HASH(`timestamp`) BUCKETS 10;
//修改后的建表语句
CREATE TABLE test_log
(
`timestamp` DATETIME NOT NULL COMMENT "日志时间",
`type` INT NOT NULL COMMENT "日志类型",
`error_code` INT COMMENT "错误码",
`op_id` BIGINT COMMENT "负责人id"
)
DUPLICATE KEY(`timestamp`, `type`)
DISTRIBUTED BY HASH(`timestamp`) BUCKETS 10
PROPERTIES
(
"replication_num" = "1" --指定一个副本(默认三个)
);