当前位置: 首页 > 知识库问答 >
问题:

从hazelcast客户端连接到hazelcast服务器

潘青青
2023-03-14

我使用如下配置运行hazelcast服务器,

Config config = new Config();

// **MapConfig**

config.setMapConfigs(getMapConfig());

// **Serialization factory**

config.setSerializationConfig(getSerializableFactory());

在这种情况下,当hazelcast服务器在远程机器中运行时,我必须从hazelcast客户机连接到我的hazelcast服务器。

ClientConfig clientConfig = new ClientConfig();
clientConfig.getNetworkConfig().addAddress(IP:PORT);

我可以连接到Hazelcast服务器,

但是当我获得maphazelcast.getmap(test).values()时,它显示了一个异常,即它希望我在hazelcast客户机配置中配置seralization factory,

因此,当我添加序列化配置时,它具有指向bean的序列化工厂类

clientConfig.setSerializationConfig(getSerializableFactory());

共有1个答案

唐珂
2023-03-14

显然,您的类使用自定义序列化,因此需要该工厂。我使用Spring而不是运行时配置,我不必配置序列化--直到我开始使用优化的Portable而不是Java的标准serializable。

切换到Serializable将解决您的问题,但是自定义序列化很好--比java.io.Serializable快两倍。不幸的是,您需要配置它。

顺便说一句,这适用于任何Hazelcast配置。在集群中的任何地方都应该是完全相同的。也许有一天他们会取消瘦客户机的要求。您将如何实现这样的东西?使用Spring或Hazelcast自己的XML的一个原因是将其放在某个共享位置,或者通过Maven将其包含在每个jar/war中。

在任何情况下,如果您坚持用Java进行初始化,请使用一个XML配置或一个基类(方法,无论什么)来初始化代码。把它放在某个JAR中,到处引用它(作为Maven依赖项),问题就解决了。

 类似资料:
  • 关于:Hazelcast远程缓存服务器-客户端Spring Boot 我也有同样的问题,但对于hazelcast 5.1和java 17: 和用法: 国家类是: 与活动服务器和客户端的通话是正常的,但当我关闭服务器时,我得到了: 没有找到到集群的连接 第5版中有更改或我的配置错误? 谢谢

  • 我在集群中有一个Hazelcast客户端和两个Hazelcast服务器,每个服务器包含单个复制的Map。 我给客户端2个hazelcast服务器节点,以便从replicatedMap中读取。 我是否可以将连接优先级赋予一台服务器,并在连接处于活动状态时从该服务器读取数据? 为了澄清,假设有MasterServer、SlaveServer和Client。 如果复制地图操作之间存在连接,我们是否可以强

  • 我在Amazon EC2上设置了一个2节点hazelcast集群。在其中一个节点上,我有一个连接到集群并运行原子长计数器增量的客户端程序 如何找出客户端连接并运行增量AndGet操作的Hazelcast服务器节点? 谢谢

  • 我正在尝试使用hazelcast v3。2.4(服务器和客户端上的版本相同)。服务器(我可以安装的简单实现)正在服务器上运行。客户端尝试连接到远程服务器-服务器打印身份验证请求,但我收到以下日志输出(包括异常)-关于我可以做什么不同的想法(复制日志输出和配置文件)。我正在尝试通过TCP/IP进行连接,我检查了网络连接——我没有看到任何东西阻止连接。 堆栈中提到的代码行: 配置 日志输出 服务器输出

  • 我刚刚开始使用hazelcast[3.3.1]。根据hazelcast应用程序和客户端教程,我创建了一个hazelcast应用程序实例和一个客户端(使用eclipse IDE)。 从客户端,我能够将对象添加到地图并成功获取它们。但是,我在实例的控制台上看到以下警告,它们似乎警告客户端断开连接。这是每个客户端get/put的正常行为吗? 在退出客户端程序之前,是否有适当的方法断开客户端与实例的连接?

  • 我使用的是hazelcast v3。2.4客户-

  • 我正在运行一个kubernetes集群,在其中按照kubernetes hazelcast github页面上的说明部署一个“云原生hazelcast”。一旦运行了许多hazelcast实例,我就会尝试将java客户端连接到其中一个实例,但由于某种原因,连接失败。 使用kubernetes外部endpoint,我可以从kubernetes集群外部连接到hazelcast。当我使用curl-kube

  • 我正在尝试运行https://github.com/hazelcast/hazelcast-nodejs-client的“使用客户端”部分中提供的基本示例代码 我收到连接拒绝错误。我在我的Mac和PC机器上尝试了这个,结果相同。它们运行的是Node v6.9.1。我没有任何特殊的防火墙设置。甚至尝试完全打开Windows防火墙。 我错过了什么吗? 首先,我创建了一个空节点项目,然后: 然后创建了一