docker - 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)
解决方案
你是如何启动你的 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 镜像名称。
推荐阅读
- r - 排除可以具有两个不同值的项目
- python - 如何自定义队列分析中的时间段?
- c# - 为了使我的角色选择起作用,我需要统一刷新角色预制件
- python - 如何根据另一列中的重复值在一列中添加行,最后在python中保留第一行?
- c# - 如何覆盖 Razor _Layout 页面中定义的默认标题
- javascript - 为什么我不能在其他 JS 文件中使用该函数?
- python - 如何在与特定的分组时替换值?
- c# - dotnet:适用于 Windows 10 命令提示符,但不适用于 VSCode
- angular - 角度指令改变颜色
- assembly - 基于 Intel x86 的汇编回文循环