首页 > 解决方案 > semitech:部署 docker 容器时,weaviate 扩展存储连接被拒绝

问题描述

我正在尝试使用以下 docker-compose 堆栈部署 weaviate docker 容器。cotainner 已部署,但我收到日志消息连接被拒绝存储引擎,如下所示。帮助 !

{"action":"extensions_retrieve_all","error":"Get http://weaviate:8080/v1/modules/text2vec-contextionary/extensions-storage/: dial tcp 172.19.0.2:8080: connect: connection refused","level":"error","msg":"","time":"2021-09-07T06:42:31Z"}
version: '2'
services:
  weaviate:
    image: semitechnologies/weaviate:1.2.1
    ports:
    - 8080:8080
    restart: on-failure:0
    environment:
      CONTEXTIONARY_URL: contextionary:9999
      QUERY_DEFAULTS_LIMIT: 25
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
      DEFAULT_VECTORIZER_MODULE: 'text2vec-contextionary'
      ENABLE_MODULES: text2vec-contextionary
  contextionary:
    environment:
      OCCURRENCE_WEIGHT_LINEAR_FACTOR: 0.75
      EXTENSIONS_STORAGE_MODE: weaviate
      EXTENSIONS_STORAGE_ORIGIN: http://weaviate:8080
      NEIGHBOR_OCCURRENCE_IGNORE_PERCENTILE: 5
      ENABLE_COMPOUND_SPLITTING: 'false'
    image: semitechnologies/contextionary:en0.16.0-v1.0.2

标签: dockerweaviate

解决方案


简短的回答

这只是启动期间的一个临时时序问题,无需担心,只要所有组件准备就绪后错误不会重复。

PS:您使用的 Weaviate 版本 ( v1.2.0) 已经很旧了,在撰写此消息时最新版本是v1.7.0。您可以使用Wea​​viate Customizer使用最新版本生成所需的配置。

长答案

您正在使用的 Weaviate 设置由两个组件组成,即 Weaviate 核心数据库和模块contextionary提供的推理容器text2vec-contextionary

容器是有状态的weaviate(因为它是数据库),模块容器通常是无状态的,以便更容易扩展。但是,该text2vec-contextionary模块具有一个功能,可以使用新概念进行扩展,并且这些概念需要存储在某个地方。如果模块需要第三方存储,可以使用内部模块 API 的持久化函数。该text2vec-contextionary模块利用该功能并将其存储的扩展公开给此内部 API ( GET /v1/modules/text2vec-contextionary/extensions-storage) 上的推理容器。这允许推理容器通过在该 URL 上访问 Weaviate 作为持久性数据库。

您在启动过程中看到的是两个容器都是独立启动的。如果contextionary推理容器比 Weaviate Core 数据库稍快,它会立即尝试联系前三秒尚未准备好的 Weaviate。

如果您查看以下日志(取自docker-compose.yml您在上面发布的内容),您可以看到两件事:

Docker 撰写日志

  1. 第一个红色箭头表示contextionary容器开始尝试访问weaviate容器的时间点
  2. 第二个红色箭头表示weaviate容器完全启动的时间点。请注意,此时该错误不再发生。

这意味着 3 个将状态从持久性数据库同步到contextionary容器的请求都失败了,但所有后续请求(因为您在第二个红色箭头后不再看到错误)都成功了,现在一切都可以使用了。


推荐阅读