首页 > 解决方案 > Aerospike 无效主机

问题描述

我在 Docker(Ubuntu 20.04)中的 aerospike 有以下错误,这是一个无效的主机错误,但我不明白是什么原因造成的,以及如何修复它。

我可以确认 xxx_aerospike_1(占位符)容器已启动并正在运行。

完整的错误如下:

com.aerospike.client.AerospikeException$Connection: Error Code -8: Failed to connect to host(s):
xxx_aerospike_1 3000 Error Code -8: Invalid host: xxx_aerospike_1 3000

        at com.aerospike.client.cluster.Cluster.seedNodes(Cluster.java:508)
        at com.aerospike.client.cluster.Cluster.tend(Cluster.java:401)
        at com.aerospike.client.cluster.Cluster.waitTillStabilized(Cluster.java:356)
        at com.aerospike.client.cluster.Cluster.initTendThread(Cluster.java:262)
        at com.aerospike.client.cluster.Cluster.<init>(Cluster.java:219)
        at com.aerospike.client.AerospikeClient.<init>(AerospikeClient.java:232)
        at jp.gmoam.util.kvs.aerospike.AerospikeConnectionManager.initializeAerospikeCluster(AerospikeConnectionManager.java:26)
        at jp.gmoam.dsp.DeliverServletContextListener.initializeAeroSpike(DeliverServletContextListener.java:320)
        at jp.gmoam.dsp.DeliverServletContextListener.contextInitialized(DeliverServletContextListener.java:172)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1068)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
        at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:997)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:746)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
        at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:911)
        at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
        at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
        at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:517)
        at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:157)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:173)
        at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:441)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:66)
        at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:785)
        at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:754)
        at org.eclipse.jetty.util.Scanner.scan(Scanner.java:641)
        at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:540)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:146)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:605)
        at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:252)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.server.Server.start(Server.java:423)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.server.Server.doStart(Server.java:387)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)

标签: dockeraerospike

解决方案


你是如何启动你的 docker 容器的?

尝试将以下带有 -p (publish) 标志的端口添加到 docker run 命令中:

docker run --rm -tid --name xxx_aerospike_1 -p 3000:3000 -p 3001:3001 -p 3002:3002 -p 3003:3003 aerospike/aerospike-server

*aerospike/aerospike-server 是 docker 镜像名称。


推荐阅读