首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每台主机有多个vespa docker容器?

每台主机有多个vespa docker容器?
EN

Stack Overflow用户
提问于 2018-03-06 00:54:05
回答 1查看 138关注 0票数 1

PB:我已经尝试在两个不同的主机上部署5个vespa容器,但是我没有成功建立我的vespa节点。

我将我的3个容器命名为vespa0、vespa1、vespa2,端口分别为第一台主机上的8080、8081、8082,命名为vespa3、vespa4,端口分别为8080、8081

我这样启动vespa容器

代码语言:javascript
复制
sudo docker run --detach --net=host --name vespa0 --hostname admin_paul0 --privileged --volume $PWD/sample-apps:/vespa-sample-apps --publish 8080:8080 vespaengine/vespa

然后,我使用以下命令部署应用程序:

代码语言:javascript
复制
sudo docker exec vespa0 bash -c '/opt/vespa/bin/vespa-deploy prepare /vespa-sample-apps/site_search_multi_node_on_multi_server/src/main/application && /opt/vespa/bin/vespa-deploy activate'

当我写命令的时候

代码语言:javascript
复制
sudo docker exec vespa0 bash -c '/opt/vespa/bin/vespa-get-cluster-state'

群集检测到两台主机上的节点,但只有一台处于运行状态。

代码语言:javascript
复制
Cluster site:
site/distributor/0: down
site/distributor/1: down
site/distributor/3: down
site/distributor/4: up
site/storage/0: down
site/storage/1: down
site/storage/3: down
site/storage/4: up

因此,应用程序的配置

host.xml

代码语言:javascript
复制
    <?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
    <hosts>
     <host name="admin_paul0">
    <alias>admin_paul0</alias>
  </host>

  <host name="stateless_paul0">
    <alias>stateless_paul0</alias>
  </host>

  <host name="content_paul0">
    <alias>content_paul0</alias>
  </host>

  <host name="content_paul1">
    <alias>content_paul1</alias>
  </host>

  <host name="stateless_paul1">
    <alias>stateless_paul1</alias>
  </host>
</hosts>

services.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
<services version="1.0">
  <admin version="2.0">
    <adminserver hostalias="admin_paul0"/>
    <configservers>
      <configserver hostalias="admin_paul0"/>
    </configservers>
  </admin>

  <container id="container" version="1.0">
    <document-api/>
    <search/>
    <nodes>
      <node hostalias="stateless_paul0"/>
      <node hostalias="stateless_paul1"/>
      <node hostalias="content_paul0"/>
      <node hostalias="content_paul1"/>
    </nodes>
  </container>

  <content id="site" version="1.0">
    <redundancy>1</redundancy>
    <documents>
      <document type="site" mode="index"/>
    </documents>
    <nodes>
      <node hostalias="content_paul0" distribution-key="0"/>
      <node hostalias="content_paul1" distribution-key="1"/>
      <node hostalias="stateless_paul0" distribution-key="3"/>
      <node hostalias="stateless_paul1" distribution-key="4"/>
    </nodes>
  </content>
</services>

你有什么小贴士可以让它工作吗?:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-06 02:41:59

您必须隔离网络才能使其工作,因为Vespa使用了一系列其他端口,否则会发生冲突(即no --net=host)。在裸机主机上运行时,您可以使用macvlan网络驱动程序为容器分配一个跨主机ip,否则您将需要设置NPT或类似的东西。

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

https://stackoverflow.com/questions/49115584

复制
相关文章

相似问题

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