Tag: hazelcast

Hazelcast可防止JVM终止

我们在遗留Java集群应用程序中使用Hazelcast 2.6.2。 当应用程序停止时,JVM不再终止。 它似乎是由Hazelcast线程没有被标记的守护进程引起的。 我没有找到通过Hazelcast API来标记它们守护进程的方法。 是否有推荐的解决方案来阻止Hazelcast阻止JVM终止? 问候

加载hazelcast的所有实现

我试图在多个节点上使用hazelcast服务器。 我已经在map store实现中实现了load all。 我想知道是否应该只在服务器节点或所有服务器节点上启用它? 如果我在所有节点上部署相同的内容,那么这不会创建不需要的数据库读取操作。 如果我只需要在一个节点上部署加载,那么最好的策略(基于代码/ API调用或配置)是什么,这将允许我干净地实现场景,从而只有一个服务器节点实现地图存储的加载所有实现。 我总是可以在不同的服务器上部署不同的代码,但我想避免这种情况并且想知道更好的选择。

Hazelcast:连接到远程群集

我们有一个Hazelcast节点集群都在一个远程系统上运行(具有许多节点的单个物理系统)。 我们希望从外部客户端连接到此集群 – 一个使用以下代码连接到Hazelcast的Java应用程序: ClientConfig clientConfig = new ClientConfig(); clientConfig.addAddress(config.getHost() + “:” + config.getPort()); client = HazelcastClient.newHazelcastClient(clientConfig); 其中,host是远程IP,端口是5701。 这仍然连接到本地主机(127.0.0.1)。 我错过了什么? 编辑: 如果java客户端是本地系统上运行的唯一hazelcast应用程序,则无法连接并抛出exception: java.lang.IllegalStateException: Cannot get initial partitions! 从日志: 14:58:26.717 [main] INFO cmbpssHazelcastCacheClient – 创建新的Hazelcast实例 14:58:26.748 [main] INFO com.hazelcast.core.LifecycleService – HazelcastClient [hz.client_0_dev] [3.2.1]即将开始 14:58:27.029 [main] INFO com.hazelcast.core.LifecycleService – HazelcastClient [hz.client_0_dev] [3.2.1]即将开始 14:58:27.061 [hz.client_0_dev.cluster-listener] INFO com.hazelcast.core.LifecycleService – […]

Hazelcast专用节点

在专用服务器上运行Hazelcast节点的最简单方法是什么? 我们有一个使用Hazelcast分布式地图的Web应用程序。 目前,Hazelcast节点配置为在Servlet容器节点中运行。 随着我们扩展,我们想添加专用硬件作为Hazelcast节点。 然后我们将不再需要Servlet容器中的完整Hazelcast节点,这些节点可以是客户端。 (与Servlet容器相关的许可成本,因此从它们的负载是好的,不要问…) 所以问题是,什么是最小的Hazelcast节点安装? 类似于memcached安装的东西。 它需要做的只是读取配置和启动,没有本地客户端。 我看到它支持Jetty,但是根本需要它,或者我可以在JVM raw上执行的那些jar中有一些简单的类吗?

如何在没有网络的情况下创建嵌入进程内/内存中的Hazelcast实例?

在我的unit testing中,我想创建一个嵌入式(进程内/内存中)Hazelcast实例,它根本不会尝试启动或执行任何网络操作。 我该怎么做呢? 例如: Config config = new Config(); // what goes here? HazelcastInstance inProcessOnly = Hazelcast.newHazelcastInstance(config);

Hazelcast:用于在调试模式下登录的编程配置

尝试配置slf4j以登录DEBUG模式,但只获取INFO日志。 我究竟做错了什么? Config hazelcastConfig = new Config(“HazelcastConfig”); hazelcastConfig.getProperties().put(“hazelcast.logging.type”, “sl4j”); hazelcastConfig.getProperties().put(“slf4j.logger.com.hazelcast”, “debug”); Hazelcast.newHazelcastInstance(hazelcastConfig);

如何配置Vert.x事件总线以跨Docker容器集群工作?

在我目前的设置中,我使用的是Hazelcast集群管理器的默认多播选项。 当我链接我的容器化Vertx模块的实例(通过Docker网络链接)时,我可以看到他们成功创建了Hazelcast集群。 但是,当我尝试从一个模块在事件总线上发布事件时,另一个模块不会对它做出反应。 我不确定Hazelcast群集中的网络设置如何与事件总线的网络设置相关。 目前,我为每个Vert.x模块配置了以下编程配置,每个模块都部署在一个docker容器中。 ClusterManager clusterManager = new HazelcastClusterManager(); VertxOptions vertxOptions = new VertxOptions() .setClustered(true) .setClusterManager(clusterManager); vertxOptions.setEventBusOptions(new EventBusOptions() .setClustered(true) .setClusterPublicHost(“application”)); Vert.x Core手册指出我可能必须为事件总线配置clusterPublicHost和clusterPublicPort ,但我不确定它们与一般网络拓扑的关系。

HazelCast Tcp-IP的编程配置无需在集群中添加成员

以下是文档中给出的HazelCast编程配置,但无法在HazelCast群集中添加成员。 Config cfg = new Config(); Hazelcast.newHazelcastInstance(cfg); cfg.setProperty(“hazelcast.initial.min.cluster.size”,”3″); cfg.getGroupConfig().setName(“DEV”).setPassword(“DEV-pass”); NetworkConfig network = cfg.getNetworkConfig(); JoinConfig join = network.getJoin(); TcpIpConfig tcpipConfig=join.getTcpIpConfig(); tcpipConfig.addMember(“172.17.153.87”).addMember(“10.45.67.100”) .setRequiredMember(“192.168.10.100”).setEnabled(true); network.getInterfaces().setEnabled(true).addInterface(“10.45.67.*”); System.out.println(tcpipConfig.isEnabled()); System.out.println(tcpipConfig.getMembers()); MapConfig mapCfg = new MapConfig(); mapCfg.setName(“testMap”); mapCfg.setBackupCount(2); mapCfg.getMaxSizeConfig().setSize(10000); mapCfg.setTimeToLiveSeconds(300); MapStoreConfig mapStoreCfg = new MapStoreConfig(); mapStoreCfg.setClassName(“com.hazelcast.examples.DummyStore”).setEnabled(true); mapCfg.setMapStoreConfig(mapStoreCfg); NearCacheConfig nearCacheConfig = new NearCacheConfig(); nearCacheConfig.setMaxSize(1000).setMaxIdleSeconds(120).setTimeToLiveSeconds(300); mapCfg.setNearCacheConfig(nearCacheConfig); cfg.addMapConfig(mapCfg); 请查看代码,如果需要进一步修改则需要将成员添加到hazelcast集群中

如何以编程方式为多播发现机制配置hazelcast?

如何以编程方式为多播发现机制配置hazelcast? 细节: 该文档仅提供TCP / IP的示例并且已过时:它使用不再存在的Config.setPort()。 我的配置看起来像这样,但发现不起作用(即我得到输出”Members: 1″ : Config cfg = new Config(); NetworkConfig network = cfg.getNetworkConfig(); network.setPort(PORT_NUMBER); JoinConfig join = network.getJoin(); join.getTcpIpConfig().setEnabled(false); join.getAwsConfig().setEnabled(false); join.getMulticastConfig().setEnabled(true); join.getMulticastConfig().setMulticastGroup(MULTICAST_ADDRESS); join.getMulticastConfig().setMulticastPort(PORT_NUMBER); join.getMulticastConfig().setMulticastTimeoutSeconds(200); HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg); System.out.println(“Members: “+hazelInst.getCluster().getMembers().size()); 更新1,考虑到asimarslan的答案 如果我偶然发现MulticastTimeout,我要么得到”Members: 1″或者 2013年12月5日下午8:50:42 com.hazelcast.nio.ReadHandler警告:[192.168.0.9]:4446 [dev] hz._hzInstance_1_dev.IO.thread-in-0关闭套接字到端点地址[192.168.0.7] :4446,原因:java.io.EOFException:远程套接字已关闭! 2013年12月5日下午8:57:24 com.hazelcast.instance.Node严重:[192.168.0.9]:4446 [dev]无法加入群集,关闭! com.hazelcast.core.HazelcastException:300秒内无法加入! 更新2,采取pveentjer关于使用tcp / ip的答案 如果我将配置更改为以下内容,我仍然只能获得1个成员: Config cfg = new Config(); […]