首页 > 解决方案 > 未建立分区组

问题描述

我正在尝试在 Hazelcast 3.8.8 中建立分区组。我的主要目标是将驻留在 2 个物理机中的 4 个集群成员分组为 2 个分区组。当我启用分区组时,它似乎没有工作并且组没有建立。你能告诉我启用分区组我缺少什么吗?

我试图通过 hazelcast.xml 启用分区分组。使用group-type="CUSTOM" 进行测试,并将驻留在我本地和我们服务器中的成员分成两个不同的 member-group。成员形成了一个集群,但似乎没有建立分区组。我看不到任何有关此的错误消息,但日志中也没有确认消息。最后,我启用了“HOST_AWARE”并在本地使用相同的网络接口启动了 2 个成员并检查了管理中心。我所看到的是成员的行为类似于“PER_MEMBER”,因为它在默认配置中并继续相互迁移他们的备份。

<hazelcast xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.hazelcast.com/schema/config
                            http://www.hazelcast.com/schema/config/hazelcast-config-3.6.xsd"
       xmlns="http://www.hazelcast.com/schema/config">
<management-center enabled="true">
    http://217.78.109.101:8080/mancenter
</management-center>
<map name="default">
        <backup-count>1</backup-count>
</map>
<network>
    <port auto-increment="true">5701</port>
    <join>
        <multicast enabled="false">
        </multicast>
        <tcp-ip enabled="true">
            <member>217.78.109.101</member>
        </tcp-ip>
    </join>
</network>
<partition-group enabled="true" group-type="HOST_AWARE"/>

Kas 08, 2019 2:03:35 PM com.hazelcast.config.XmlConfigLocator
INFO: Loading 'hazelcast.xml' from classpath.
Kas 08, 2019 2:03:35 PM com.hazelcast.config.AbstractXmlConfigHelper
WARNING: Name of the hazelcast schema location incorrect using default
Kas 08, 2019 2:03:36 PM com.hazelcast.instance.AddressPicker
INFO: [LOCAL] [dev] [3.8.8] Interfaces is disabled, trying to pick one address from TCP-IP config addresses: [217.78.109.101]
Kas 08, 2019 2:03:36 PM com.hazelcast.instance.AddressPicker
INFO: [LOCAL] [dev] [3.8.8] Prefer IPv4 stack is true.
Kas 08, 2019 2:03:36 PM com.hazelcast.instance.AddressPicker
INFO: [LOCAL] [dev] [3.8.8] Picked [217.78.109.101]:5702, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5702], bind any local is true
Kas 08, 2019 2:03:36 PM com.hazelcast.system
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Hazelcast 3.8.8 (20171204 - 8e24c57) starting at [217.78.109.101]:5702
Kas 08, 2019 2:03:36 PM com.hazelcast.system
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Copyright (c) 2008-2016, Hazelcast, Inc. All Rights Reserved.
Kas 08, 2019 2:03:36 PM com.hazelcast.system
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Configured Hazelcast Serialization version : 1
Kas 08, 2019 2:03:36 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Backpressure is disabled
Kas 08, 2019 2:03:37 PM com.hazelcast.instance.Node
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Creating TcpIpJoiner
Kas 08, 2019 2:03:37 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Starting 8 partition threads
Kas 08, 2019 2:03:37 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Starting 5 generic threads (1 dedicated for priority tasks)
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.Diagnostics
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Diagnostics started
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.BuildInfoPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.SystemPropertiesPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.ConfigPropertiesPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.PendingInvocationsPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active: period-millis:30000 threshold:1
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.MetricsPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active, period-millis:60000
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.SlowOperationPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active, period-millis:30000
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.PendingInvocationsPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active: period-millis:30000 threshold-millis:5000
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.MemberHazelcastInstanceInfoPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active, period-millis:60000
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.SystemLogPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active: logPartitions:false
Kas 08, 2019 2:03:37 PM com.hazelcast.internal.diagnostics.StoreLatencyPlugin
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Plugin:active: period-millis:60000 resetPeriod-millis:0
Kas 08, 2019 2:03:37 PM com.hazelcast.core.LifecycleService
INFO: [217.78.109.101]:5702 [dev] [3.8.8] [217.78.109.101]:5702 is STARTING
Kas 08, 2019 2:03:37 PM com.hazelcast.nio.tcp.InitConnectionTask
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Connecting to /217.78.109.101:5701, timeout: 0, bind-any: true
Kas 08, 2019 2:03:37 PM com.hazelcast.nio.tcp.InitConnectionTask
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Connecting to /217.78.109.101:5703, timeout: 0, bind-any: true
Kas 08, 2019 2:03:37 PM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Established socket connection between /217.78.109.101:62511 and /217.78.109.101:5701
Kas 08, 2019 2:03:38 PM com.hazelcast.nio.tcp.InitConnectionTask
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Could not connect to: /217.78.109.101:5703. Reason: SocketException[Connection refused: connect to address /217.78.109.101:5703]
Kas 08, 2019 2:03:38 PM com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [217.78.109.101]:5702 [dev] [3.8.8] [217.78.109.101]:5703 is added to the blacklist.
Kas 08, 2019 2:03:43 PM com.hazelcast.system
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Cluster version set to 3.8
Kas 08, 2019 2:03:43 PM com.hazelcast.internal.cluster.ClusterService
INFO: [217.78.109.101]:5702 [dev] [3.8.8] 

Members [2] {
    Member [217.78.109.101]:5701 - 4d2cf34a-d64c-4184-98f3-c0d6dc6a6a27
    Member [217.78.109.101]:5702 - 6e23bacc-b0ad-4002-9325-3dffe90417d0 this
}

Kas 08, 2019 2:03:45 PM com.hazelcast.internal.management.ManagementCenterService
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Hazelcast will connect to Hazelcast Management Center on address: 
http://217.78.109.101:8080/mancenter
Kas 08, 2019 2:03:46 PM com.hazelcast.internal.jmx.ManagementService
INFO: [217.78.109.101]:5702 [dev] [3.8.8] Hazelcast JMX agent enabled.
Kas 08, 2019 2:03:46 PM com.hazelcast.core.LifecycleService
INFO: [217.78.109.101]:5702 [dev] [3.8.8] [217.78.109.101]:5702 is STARTED

Process Started.
Random int: 553
sequential.Customer with key 1: Hazel1
Map Size:553
Process Completed. Elapsed Time: 1195 ms

标签: hazelcast

解决方案


当只有一个partition-group时,分区机制回退到一个特殊的partition-group类型,并将现有的成员分成两个 partition group。这是为了确保每个分区至少有一个备份。否则将不会有任何备份,并且成员的丢失将导致立即数据丢失。参见代码库:BackupSafeMemberGroupFactory

更新:关于分区组是否启用...

不幸的是,除了管理中心之外,没有日志或公共 API 来显示分区组是否正在使用中。但是您期望这些信息将打印在日志中是正确的。你可以在 Hazelcast Github repo 提交问题。


推荐阅读