java - 如何将 hazelcast 节点绑定到特定的 IP 地址?
问题描述
我尝试运行此代码,但它给了我一个错误。看来我无法绑定到特定的 IP 地址;相反,我需要绑定到网络接口。有没有办法解决这个问题?
import io.vertx.core.VertxOptions
import io.vertx.reactivex.core.Vertx
import io.vertx.spi.cluster.hazelcast.{ ConfigUtil, HazelcastClusterManager }
object Test extends App {
val host = "127.0.0.2"
def getConfig(): Config = {
import scala.collection.JavaConverters._
val config = ConfigUtil.loadConfig()
config.setProperty("hazelcast.socket.bind.any", "false")
config
.getNetworkConfig
.setPortAutoIncrement(false)
.getInterfaces
.setEnabled(true)
.setInterfaces(List(s"127.0.0.2").asJava)
val joinConfig = config.getNetworkConfig.getJoin
joinConfig
.getMulticastConfig
.setEnabled(false)
config
}
def run(): Unit = {
val mgr = new HazelcastClusterManager(getConfig())
val options = new VertxOptions().setClusterManager(mgr)
options.getEventBusOptions.setHost(host)
val vrtx = Vertx.rxClusteredVertx(options).blockingGet()
}
run()
}
我越来越java.lang.RuntimeException: Hazelcast CANNOT start on this node. No matching network interface found.
解决方案
检查文档的这一部分和文档中的链接:https ://docs.hazelcast.org/docs/latest/manual/html-single/index.html#discovering-members-by-tcp
您需要通过设置禁用 Hazelcast 来绑定所有hazelcast.socket.bind.any
接口false
。然后,您可以使用此处所述的接口:https ://docs.hazelcast.org/docs/latest/manual/html-single/index.html#interfaces
推荐阅读
- c++ - 有没有办法将 lua 函数从 C++ 更改为 nil,如 changefunction(thefunction) 并且在调用时变为 nil
- android - 烦人的 RecyclerView:没有附加适配器;跳过布局
- powershell - 为什么 Powershell 脚本会在已更改文件的先前版本上执行?
- karate - 空手道 UI 中的调用表用法(小猫示例)。我们可以使用调用表功能在 UI 中迭代并一次运行一组数据的场景吗
- c# - ASP.NET - 如何为多个用户自动刷新元素的值
- python-3.x - flask_apispec 库使 Flask 应用程序在使用 use_kwargs 装饰器时崩溃
- java - 绘制水平射线/线/网格
- c# - How to change variable names in runtime
- visual-studio-code - 我将如何制作一个不太难理解的 VSCode 语法荧光笔?
- visual-c++ - 无法在 C++ 的输出中输入数字