我能够将 ignite 客户端连接到远程计算机,但无法连接到本地计算机,甚至没有给出任何错误
private static final String HOST = "127.0.0.1";
private static final String PORT = "10800";
private static final String CACHE_NAME = "thin-cache";
public static void main(String[] args) {
logger.info("Simple Ignite thin client example working over TCP socket.");
ClientConfiguration cfg = new ClientConfiguration().setAddresses(HOST + ":" + PORT);
try (IgniteClient igniteClient = Ignition.startClient(cfg)) {
ClientCache<String, String> clientCache = igniteClient.getOrCreateCache(CACHE_NAME);
// put a few value
clientCache.put("Moscow", "095");
clientCache.put("Vladimir", "033");
// get the region code of the Vladimir
String val = clientCache.get("Vladimir");
logger.info("Print value: {}", val);
} catch (IgniteException e) {
logger.error("Ignite exception:", e.getMessage());
} catch (Exception e) {
logger.error("Ignite exception:", e.getMessage());
}
}
OP 中的示例代码演示了 127.0.0.1 本地 IP 地址的使用。如果来自远程节点的连接有效,则远程客户端能够使用绑定到非 127.* 地址的嵌入式服务器的 ignite 实例。从本地主机连接时使用远程客户端使用的相同 IP 地址也可以。
如果您需要能够从远程客户端连接到服务器 IP 以及 127.0.0.1 的 ignite 实例,请尝试将 IgniteConfiguration 绑定地址显式设置为 0.0.0.0 (INADDR_ANY)。如果已将其设置为主机 IP,则不会在 127.0.0.1 上侦听任何内容。
确保 127.0.0.1 的远程和本地连接工作相同的最简单方法是将 IGNITE_LOCAL_HOST 系统属性设置为“0.0.0.0”。