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

Hazelcast忽略了群集配置

从渊
2023-03-14

我定义了“静态”hazelcast配置:

@Bean
    public Config getHazelcastConfig() {
        final Config config = new Config();
        config.setProperty("hazelcast.logging.type", "slf4j");
        final GroupConfig groupConfig = new GroupConfig();
        groupConfig.setName("projectName");
        groupConfig.setPassword("projectPassword");
        config.setGroupConfig(groupConfig);
        final NetworkConfig networkConfig = new NetworkConfig();
        final TcpIpConfig tcpIpConfig = new TcpIpConfig();
        final String[] members = "10.0.0.2".split(",");
        for (String member : members) {
            tcpIpConfig.addMember(member);
        }
        tcpIpConfig.setConnectionTimeoutSeconds(5);
        final JoinConfig joinConfig = networkConfig.getJoin();
        joinConfig.getAwsConfig().setEnabled(false);
        joinConfig.getMulticastConfig().setEnabled(false);
        joinConfig.setTcpIpConfig(tcpIpConfig);
        joinConfig.getTcpIpConfig().setEnabled(true);
        joinConfig.getTcpIpConfig().setConnectionTimeoutSeconds(5);
        config.setNetworkConfig(networkConfig);
        config.setInstanceName("projectInstanceName");
        return config;
    }

其中“10.0.0.2”是我的localhostip。我只希望将hazelcast的一个实例添加到我的tcpIpConfig成员中。我的朋友坐在同一个网络中,拥有编号为“10.0.0.3”的IP。他懒得从git上共享的属性文件中更改密码和组名,并且正在连接到我的集群。为什么他能够连接到我的集群?我如何防止这种情况?

共有1个答案

乔鸿骞
2023-03-14

是的,萨钦。你是对的。添加后

securityCfg.setEnabled(true);

检查hazelcast配置密码和登录名。

我在localhost上遇到的多个hazelcast实例的第二个问题与hibernate有关。在hibernate中将hazelcast用作二级缓存时,会创建hazelcast成员。可通过以下方式打开/关闭:

properties.setProperty("hibernate.cache.hazelcast.use_native_client", "false");

properties.setProperty("hibernate.cache.hazelcast.use_native_client", "true");
 类似资料:
  • 我的Spring应用程序由十几个微服务组成。每个微服务都提供数据,这些数据并不经常变化。为了减少微服务之间的通信,我正在考虑开始使用Hazelcast。 我的想法是每个微服务都嵌入了Hazelcast。微服务在同一个网络中运行,我认为Hazelcasts将形成一个集群。每个微服务都会在启动时将其数据放入本地Hazelcast中,并将数据复制到集群中的每个其他Hazelcast中。当一个微服务需要从

  • 我试图自定义Grails应用程序的日志配置,但appender(及其布局模式)似乎被忽略了。 在配置中。非常棒: Log4J实际上考虑了logger部分(例如,如果我对hibernate的debug和trace行进行注释,那么hibernate语句的记录将按预期停止)。 但我一直在尝试appenders部分的不同版本,似乎都没有考虑,实际上应用于控制台的格式只包括消息本身(例如,如果我编写 在代码

  • 我试图从管理各种Tomcat实例的应用程序生命周期的第三方工具的正常应用程序日志中筛选出启动(/关闭)事件。基础是(2.12.1),中使用,用于简单的追加器(下面的示例进行了大量简化,包括硬编码值): 相应的记录器如下所示: 当我启动实例时,将创建两个日志文件。但是,只有应用程序日志文件(application appender)包含条目,其中包括我感兴趣的要过滤掉的条目: 有什么想法,如何调试,

  • 我正在使用hazelcast集群的两个成员运行一个POC,使用3.4.1版本的hazelcast。我观察到一个奇怪的行为,其中一个成员不断抛出WrongTargetException。这是一个罕见的场景,我能够通过以下事件序列复制: 假设我运行的集群有两个成员,比如X和Y。 从集群中拔出Y,使其变得无响应。 X认为Y没有响应,因此将其从集群中删除。 再次插入Y,Y假设它没有收到来自X的任何响应/心

  • 我们有一个Hazelcast节点集群,所有这些节点都运行在一个远程系统(具有许多节点的单个物理系统)上。我们希望从一个外部客户机连接到这个集群--一个Java应用程序,它使用如下代码连接到HazelCast: 其中,主机是远程的IP,端口是5701。 这仍然连接到本地主机(127.0.0.1)。我错过了什么? 编辑: 如果java客户端是本地系统上运行的唯一hazelcast应用程序,则它无法连接