首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分布式MinIO自包含示例失败:“服务器期望‘存储’API版本'v40',而找到'v40'”。

分布式MinIO自包含示例失败:“服务器期望‘存储’API版本'v40',而找到'v40'”。
EN

Stack Overflow用户
提问于 2022-04-11 22:00:11
回答 1查看 688关注 0票数 0

我正在尝试创建一个在分布式意义上使用MinIO的独立示例,但我遇到了一些错误,我找不到任何解决方案。

我也找不到任何关于如何在分布式模式下与节点和服务器一起使用MinIO的独立示例,所以我并不知道自己做得对。

下面是一个码头撰写文件:

代码语言:javascript
复制
version: "3.9"

x-minio-common: &minio-common
    image: "minio/minio:RELEASE.2021-10-13T00-23-17Z"
    command: server --console-address ":9001" /data/disk1
    environment:
        MINIO_ROOT_USER: minioadmin
        MINIO_ROOT_PASSWORD: "this is a strong password"
    networks:
        -   "minio-net"
    healthcheck:
        test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
        interval: 30s
        timeout: 20s
        retries: 3
x-minio-server-common: &minio-server-common
    image: "minio/minio:RELEASE.2021-10-13T00-23-17Z"
    command: server --console-address ":9001" "http://store-{1...4}:9000"
    environment:
        MINIO_ROOT_USER: minioadmin
        MINIO_ROOT_PASSWORD: "this is a strong password"
    networks:
        -   "minio-net"
    healthcheck:
        test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
        interval: 30s
        timeout: 20s
        retries: 3

services:
    store-1:
        <<: *minio-common
        volumes:
            -   type:   "bind"
                source: 'C:\Users\MyUser\Documents\Docker-Share\minio-1'
                target: "/data/disk1"
        ports:
            -   "9005:9001"
            -   "9025:9000"
    store-2:
        <<: *minio-common
        volumes:
            -   type:   "bind"
                source: 'C:\Users\MyUser\Documents\Docker-Share\minio-2'
                target: "/data/disk1"
        ports:
            -   "9006:9001"
            -   "9026:9000"
    store-3:
        <<: *minio-common
        volumes:
            -   type:   "bind"
                source: 'C:\Users\MyUser\Documents\Docker-Share\minio-3'
                target: "/data/disk1"
        ports:
            -   "9007:9001"
            -   "9027:9000"
    store-4:
        <<: *minio-common
        volumes:
            -   type:   "bind"
                source: 'C:\Users\MyUser\Documents\Docker-Share\minio-4'
                target: "/data/disk1"
        ports:
            -   "9008:9001"
            -   "9028:9000"
    server-1:
        <<: *minio-server-common
        ports:
            -   "9010:9001"
        depends_on:
            -   store-1
            -   store-2
            -   store-3
            -   store-4

networks:
    minio-net:
        driver: "bridge"

这是我调用docker compose up时得到的输出

代码语言:javascript
复制
Container test-compose-store-3-1  Created
Container test-compose-store-2-1  Created
Container test-compose-store-4-1  Created
Container test-compose-store-1-1  Created
Container test-compose-server-1-1  Created
Attaching to test-compose-server-1-1, test-compose-store-1-1, test-compose-store-2-1, test-compose-store-3-1, test-compose-store-4-1
test-compose-store-1-1   | API: http://172.19.0.2:9000  http://127.0.0.1:9000
test-compose-store-1-1   |
test-compose-store-1-1   | Console: http://172.19.0.2:9001 http://127.0.0.1:9001
test-compose-store-1-1   |
test-compose-store-1-1   | Documentation: https://docs.min.io
test-compose-store-3-1   | API: http://172.19.0.3:9000  http://127.0.0.1:9000
test-compose-store-3-1   |
test-compose-store-3-1   | Console: http://172.19.0.3:9001 http://127.0.0.1:9001
test-compose-store-3-1   |
test-compose-store-3-1   | Documentation: https://docs.min.io
test-compose-store-2-1   | API: http://172.19.0.4:9000  http://127.0.0.1:9000
test-compose-store-2-1   |
test-compose-store-2-1   | Console: http://172.19.0.4:9001 http://127.0.0.1:9001
test-compose-store-2-1   |
test-compose-store-2-1   | Documentation: https://docs.min.io
test-compose-store-4-1   | API: http://172.19.0.5:9000  http://127.0.0.1:9000
test-compose-store-4-1   |
test-compose-store-4-1   | Console: http://172.19.0.5:9001 http://127.0.0.1:9001
test-compose-store-4-1   |
test-compose-store-4-1   | Documentation: https://docs.min.io
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:32 UTC 04/11/2022
test-compose-server-1-1  | Error: WARNING: Expected number of all hosts (4) to be remote +1 (4) (*errors.errorString)
test-compose-server-1-1  |        4: cmd/peer-rest-client.go:933:cmd.newPeerRestClients()
test-compose-server-1-1  |        3: cmd/notification.go:1276:cmd.NewNotificationSys()
test-compose-server-1-1  |        2: cmd/server-main.go:219:cmd.newAllSubsystems()
test-compose-server-1-1  |        1: cmd/server-main.go:470:cmd.serverMain()
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:32 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 1s)
test-compose-server-1-1  |
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:33 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 1s)
test-compose-server-1-1  |
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:33 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 2s)
test-compose-server-1-1  |
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:34 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 2s)
test-compose-server-1-1  |
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:34 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 3s)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-1:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-2:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-3:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-4:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:35 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 3s)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-1:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-2:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-3:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-4:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:35 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 4s)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-1:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-2:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-3:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  | Unable to read 'format.json' from http://store-4:9000/.: Server expects 'storage' API version 'v40', instead found 'v40' - *rolling upgrade is not allowed* - please make sure all servers are running the same MinIO version (RELEASE.2021-10-13T00-23-17Z)
test-compose-server-1-1  |
test-compose-server-1-1  |
test-compose-server-1-1  | API: SYSTEM()
test-compose-server-1-1  | Time: 21:53:36 UTC 04/11/2022
test-compose-server-1-1  | Error: Read failed. Insufficient number of disks online (*errors.errorString)
test-compose-server-1-1  |        5: cmd/prepare-storage.go:268:cmd.connectLoadInitFormats()
test-compose-server-1-1  |        4: cmd/prepare-storage.go:317:cmd.waitForFormatErasure()
test-compose-server-1-1  |        3: cmd/erasure-server-pool.go:91:cmd.newErasureServerPools()
test-compose-server-1-1  |        2: cmd/server-main.go:637:cmd.newObjectLayer()
test-compose-server-1-1  |        1: cmd/server-main.go:542:cmd.serverMain()
test-compose-server-1-1  | Waiting for a minimum of 2 disks to come online (elapsed 4s)
test-compose-server-1-1  |
Gracefully stopping... (press Ctrl+C again to force)
Container test-compose-server-1-1  Stopping
Container test-compose-server-1-1  Stopped
Container test-compose-store-4-1  Stopping
Container test-compose-store-1-1  Stopping
Container test-compose-store-2-1  Stopping
Container test-compose-store-3-1  Stopping
Container test-compose-store-2-1  Stopped
Container test-compose-store-4-1  Stopped
Container test-compose-store-1-1  Stopped
Container test-compose-store-3-1  Stopped
canceled

shell returned 127

我真的不明白为什么这不管用。

我尝试过将/data/disk1添加到服务器配置的URL末尾,还有其他一些东西.但我还没有运气。

“节点”(即MinIO实例中有一个/data/disk1 )都可以工作,我可以登录并访问它们,但是服务器永远不会启动。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 19:11:50

我想通了。显示的错误与实际错误无关。

在我看来,我在想这件事的运作方式是你:

  • 启动了一组单独的节点,然后是

  • 启动了一个分布式节点,将个体分组在一起(通过向每个节点提供URL)

事实证明,这是错误的思维方式。相反,你:

  • 启动了一组分布式节点,并给出了它们启动后的地址。

例如,如果要启动四个主机名为host1host2等的容器,则可以在每个主机上运行以下命令:

代码语言:javascript
复制
server --console-address ":9001" "http://host{1...4}:9000"

就这样。他们会自动发现对方的。

我不知道的是,它为什么会产生如此神秘的错误,似乎与实际问题无关,但这是实际的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71834747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档