hazelcast - 未建立分区组
问题描述
我正在尝试在 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
解决方案
当只有一个partition-group时,分区机制回退到一个特殊的partition-group类型,并将现有的成员分成两个 partition group。这是为了确保每个分区至少有一个备份。否则将不会有任何备份,并且成员的丢失将导致立即数据丢失。参见代码库:BackupSafeMemberGroupFactory
更新:关于分区组是否启用...
不幸的是,除了管理中心之外,没有日志或公共 API 来显示分区组是否正在使用中。但是您期望这些信息将打印在日志中是正确的。你可以在 Hazelcast Github repo 提交问题。
推荐阅读
- python - Python 添加 pytest --black 到测试套件
- python - 从 url 中提取单词
- audio - ffmpeg HLS 分割音视频文件
- c - 使用 valgrind 查找 C 内存泄漏会冻结程序
- antlr - 将 W3C 的 EBNF 转换为 ANTLR
- c# - SQLite 与 Dapper C# - Windows 窗体:使用 ComboBox Lisl 属性通过外键检索数据库数据
- python - Python3:删除具有相同坐标(x,y)的数组元素
- google-cloud-firestore - 如果字段存在于另一个集合中,如何仅针对文档查询具有 2 个相关集合的 FireStore 数据模型
- typescript - 将表达式从三元运算符转换为逻辑运算符
- python-3.x - 断言使用规范创建的模拟已被调用引发错误