首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >semitech:weaviate扩展-部署docker容器时拒绝存储连接

semitech:weaviate扩展-部署docker容器时拒绝存储连接
EN

Stack Overflow用户
提问于 2021-09-07 10:21:41
回答 1查看 65关注 0票数 3

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

代码语言:javascript
复制
{"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"}
代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2021-09-07 11:08:51

Short answer

这只是启动过程中的一个临时计时问题,没有什么好担心的,只要在所有组件都准备就绪后错误不会重复出现。

注:您正在使用的v1.7.0__版本非常旧,在撰写本文时最新的版本是Weaviate __。您可以使用生成最新版本的所需配置。

Long answer

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

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

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

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

第一个红色箭头表示contextionary容器开始尝试访问

  1. 的时间点。第二个红色箭头表示weaviate容器完全启动的时间点。请注意,此时错误不再出现。

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

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

https://stackoverflow.com/questions/69086427

复制
相关文章

相似问题

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