在多个 docker 容器上设置 vespa 时出现问题
Issues while setting up vespa on multiple docker containers
我有两个码头工人坐在两台不同的机器上,都是 运行 vespa。当我提交一个有两个节点的应用程序时——vespa1 和 vespa2(在 /etc/hosts 中解决)。我收到以下错误。
Uploading application '/vespa-eval/src/main/application/' using http://localhost:19071/application/v2/tenant/default/session?name=application
Session 6 for tenant 'default' created.
Preparing session 6 using
http://localhost:19071/application/v2/tenant/default/session/6/prepared
Request failed. HTTP status code: 400
Invalid application package: default.default: Error loading model:
Could not find host in the application's host system: 'vespa-container'. Hostsystem=host 'vespa1',host 'vespa2'
我只使用 localhost 时没有问题。
hosts.xml
<?xml version="1.0" encoding="utf-8" ?>
<hosts>
<host name="vespa1">
<alias>node0</alias>
</host>
<host name="vespa2">
<alias>node1</alias>
</host>
</hosts>
services.xml
<?xml version="1.0" encoding="utf-8" ?>
<services version="1.0">
<admin version="2.0">
<adminserver hostalias="node0"/>
<configservers>
<configserver hostalias="node0"/>
</configservers>
</admin>
<container id="container" version="1.0">
<document-api />
<search />
<nodes>
<node hostalias="node0" />
<node hostalias="node1" />
</nodes>
</container>
<content id="product" version="1.0">
<redundancy>1</redundancy>
<documents>
<document type="product" mode="index" />
</documents>
<nodes>
<node hostalias="node0" distribution-key="0" />
<node hostalias="node1" distribution-key="1" />
</nodes>
</content>
</services>
看起来名为 vespa-container 的主机已经部署但不在新的应用程序包中。要调试,请尝试
vespa-model-inspect hosts
在配置服务器上查看它是否列出主机。从头开始尝试也许是个好主意,我没有发现随附的文件有任何问题。要清理配置服务器,请搜索
vespa-configserver-remove-state
在文档中
我遇到了同样的问题,并通过将 'vespa-container'(命令下方)替换为物理框的主机名来修复错误。但是,这会导致 rpc 连接中的其他几个错误。你解决问题了吗? @aman.gupta
docker run --detach --name vespa --hostname vespa-container --privileged \
--volume $VESPA_SAMPLE_APPS:/vespa-sample-apps --publish 8080:8080 vespaengine/vespa
我有两个码头工人坐在两台不同的机器上,都是 运行 vespa。当我提交一个有两个节点的应用程序时——vespa1 和 vespa2(在 /etc/hosts 中解决)。我收到以下错误。
Uploading application '/vespa-eval/src/main/application/' using http://localhost:19071/application/v2/tenant/default/session?name=application
Session 6 for tenant 'default' created.
Preparing session 6 using
http://localhost:19071/application/v2/tenant/default/session/6/prepared
Request failed. HTTP status code: 400
Invalid application package: default.default: Error loading model:
Could not find host in the application's host system: 'vespa-container'. Hostsystem=host 'vespa1',host 'vespa2'
我只使用 localhost 时没有问题。
hosts.xml
<?xml version="1.0" encoding="utf-8" ?>
<hosts>
<host name="vespa1">
<alias>node0</alias>
</host>
<host name="vespa2">
<alias>node1</alias>
</host>
</hosts>
services.xml
<?xml version="1.0" encoding="utf-8" ?>
<services version="1.0">
<admin version="2.0">
<adminserver hostalias="node0"/>
<configservers>
<configserver hostalias="node0"/>
</configservers>
</admin>
<container id="container" version="1.0">
<document-api />
<search />
<nodes>
<node hostalias="node0" />
<node hostalias="node1" />
</nodes>
</container>
<content id="product" version="1.0">
<redundancy>1</redundancy>
<documents>
<document type="product" mode="index" />
</documents>
<nodes>
<node hostalias="node0" distribution-key="0" />
<node hostalias="node1" distribution-key="1" />
</nodes>
</content>
</services>
看起来名为 vespa-container 的主机已经部署但不在新的应用程序包中。要调试,请尝试
vespa-model-inspect hosts
在配置服务器上查看它是否列出主机。从头开始尝试也许是个好主意,我没有发现随附的文件有任何问题。要清理配置服务器,请搜索
vespa-configserver-remove-state
在文档中
我遇到了同样的问题,并通过将 'vespa-container'(命令下方)替换为物理框的主机名来修复错误。但是,这会导致 rpc 连接中的其他几个错误。你解决问题了吗? @aman.gupta
docker run --detach --name vespa --hostname vespa-container --privileged \
--volume $VESPA_SAMPLE_APPS:/vespa-sample-apps --publish 8080:8080 vespaengine/vespa