首先是错误日志:
qdrant-distributed-deployment-qdrant_secondary-1 | 2024-01-09T12:09:00.369285Z ERROR qdrant::startup: Panic backtrace:
qdrant-distributed-deployment-qdrant_secondary-1 | 0: qdrant::startup::setup_panic_hook::{{closure}}
qdrant-distributed-deployment-qdrant_secondary-1 | 1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
qdrant-distributed-deployment-qdrant_secondary-1 | at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/boxed.rs:2021:9
qdrant-distributed-deployment-qdrant_secondary-1 | 2: std::panicking::rust_panic_with_hook
qdrant-distributed-deployment-qdrant_secondary-1 | at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:735:13
qdrant-distributed-deployment-qdrant_secondary-1 | 3: std::panicking::begin_panic_handler::{{closure}}
qdrant-distributed-deployment-qdrant_secondary-1 | at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:609:13
qdrant-distributed-deployment-qdrant_secondary-1 | 4: std::sys_common::backtrace::__rust_end_short_backtrace
qdrant-distributed-deployment-qdrant_secondary-1 | at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:170:18
qdrant-distributed-deployment-qdrant_secondary-1 | 5: rust_begin_unwind
qdrant-distributed-deployment-qdrant_secondary-1 | at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
qdrant-distributed-deployment-qdrant_secondary-1 | 6: core::panicking::panic_fmt
qdrant-distributed-deployment-qdrant_secondary-1 | at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
qdrant-distributed-deployment-qdrant_secondary-1 | 7: core::result::unwrap_failed
qdrant-distributed-deployment-qdrant_secondary-1 | at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
qdrant-distributed-deployment-qdrant_secondary-1 | 8: storage::content_manager::consensus_manager::ConsensusManager<C>::new
qdrant-distributed-deployment-qdrant_secondary-1 | 9: qdrant::main
qdrant-distributed-deployment-qdrant_secondary-1 | 10: std::sys_common::backtrace::__rust_begin_short_backtrace
qdrant-distributed-deployment-qdrant_secondary-1 | 11: main
qdrant-distributed-deployment-qdrant_secondary-1 | 12: <unknown>
qdrant-distributed-deployment-qdrant_secondary-1 | 13: __libc_start_main
qdrant-distributed-deployment-qdrant_secondary-1 | 14: _start
qdrant-distributed-deployment-qdrant_secondary-1 |
qdrant-distributed-deployment-qdrant_secondary-1 | 2024-01-09T12:09:00.369299Z ERROR qdrant::startup: Panic occurred in file lib/storage/src/content_manager/consensus/consensus_wal.rs at line 22: Can't open Collections meta Wal: Os { code: 11, kind: WouldBlock, message: "Resource temporarily unavailable" }
qdrant-distributed-deployment-qdrant_secondary-1 exited with code 101
这是我的 docker-compose.yaml:
version: '3.9'
services:
qdrant_primary:
image: "qdrant/qdrant:v1.7.3"
volumes:
- qdrant_storage:/qdrant/storage
ports:
- "6333:6333"
environment:
QDRANT__CLUSTER__ENABLED: "true"
command: ["./qdrant", "--uri", "http://qdrant_primary:6335"]
qdrant_secondary:
image: "qdrant/qdrant:v1.7.3"
volumes:
- qdrant_storage:/qdrant/storage
environment:
QDRANT__CLUSTER__ENABLED: "true"
command: ["./qdrant", "--bootstrap", "http://qdrant_primary:6335"]
volumes:
qdrant_storage:
driver: local
driver_opts:
type: none
o: bind
device: /Users/test_qdrant
我试图在我的 Mac 上使用 docker-compose 测试 qdrant 的分布式部署,但我的 2 个服务无法同时组成两者。是否因为挂载路径被 qdrant_primary 使用,所以第二个可以访问它?我该如何配置我的 yaml 来处理这种情况?对不起我的 docker 菜鸟
不同的Qdrant实例(节点)必须使用不同的存储目录。您当前正在尝试对多个节点使用相同的存储目录,这就是出现此错误的原因。
保持原始 Docker 撰写文件基本完整,您可能希望将其更改为使用单独的卷,如下所示:
version: '3.9'
services:
qdrant_primary:
image: "qdrant/qdrant:v1.7.3"
volumes:
- qdrant_storage_primary:/qdrant/storage
ports:
- "6333:6333"
environment:
QDRANT__CLUSTER__ENABLED: "true"
command: ["./qdrant", "--uri", "http://qdrant_primary:6335"]
qdrant_secondary:
image: "qdrant/qdrant:v1.7.3"
volumes:
- qdrant_storage_secondary:/qdrant/storage
environment:
QDRANT__CLUSTER__ENABLED: "true"
command: ["./qdrant", "--bootstrap", "http://qdrant_primary:6335"]
volumes:
qdrant_storage_primary:
driver: local
driver_opts:
type: none
o: bind
device: /Users/test_qdrant_primary
qdrant_storage_secondary:
driver: local
driver_opts:
type: none
o: bind
device: /Users/test_qdrant_secondary
Qdrant 将根据您的使用情况负责跨节点同步您的数据。