首页 > 解决方案 > 我的 GridDB 节点不想加入同一个集群

问题描述

我已经在三个不同的 Azure CentOS 实例上成功启动了三个节点。每个节点都指向默认通知地址 (239.0.0.1),并且位于 Azure 上的同一虚拟网络上(地址空间 10.2.0.0/24)。这些节点都加入了相同的集群名称(在我的具体情况下为“温度”)。

基于此,节点应该都在同一个集群中;问题是,当我运行 gs_stat 时,它们都清楚地加入了单独的集群:

-bash-4.2$ gs_stat -u admin/password
{
    "checkpoint": {
        "endTime": 1542823670774, 
        "mode": "NORMAL_CHECKPOINT", 
        "normalCheckpointOperation": 1, 
        "pendingPartition": 0, 
        "requestedCheckpointOperation": 0, 
        "startTime": 1542823670486
    }, 
    "cluster": {
        "activeCount": 1, 
        "clusterName": "temperature", 
        "clusterStatus": "MASTER", 
        "designatedCount": 1, 
        "loadBalancer": "ACTIVE", 
        "master": {
            "address": "10.2.0.5", 
            "port": 10040
        }, 
        "nodeList": [
            {
                "address": "10.2.0.5", 
                "port": 10040
            }
        ], 
        "nodeStatus": "ACTIVE", 
        "notificationMode": "MULTICAST", 
        "partitionStatus": "NORMAL", 
        "startupTime": "2018-11-21T18:06:49Z", 
        "syncCount": 2
    }, 
    "currentTime": "2018-11-21T18:08:33Z", 
    "performance": {
        "backupCount": 0, 
        "batchFree": 0, 
        "checkpointFileAllocateSize": 262144, 
        "checkpointFileSize": 262144, 
        "checkpointFileUsageRate": 0, 
        "checkpointMemory": 0, 
        "checkpointMemoryLimit": 1073741824, 
        "checkpointWriteSize": 0, 
        "checkpointWriteTime": 0, 
        "currentCheckpointWriteBufferSize": 0, 
        "currentTime": 1542823713412, 
        "numBackground": 0, 
        "numConnection": 2, 
        "numNoExpireTxn": 0, 
        "numSession": 0, 
        "numTxn": 0, 
        "ownerCount": 128, 
        "peakProcessMemory": 72777728, 
        "processMemory": 72777728, 
        "recoveryReadSize": 262144, 
        "recoveryReadTime": 32, 
        "storeCompressionMode": "NO_BLOCK_COMPRESSION", 
        "storeDetail": {
            "batchFreeMapData": {
                "storeMemory": 0, 
                "storeUse": 0, 
                "swapRead": 0, 
                "swapWrite": 0
            }, 
            "batchFreeRowData": {
                "storeMemory": 0, 
                "storeUse": 0, 
                "swapRead": 0, 
                "swapWrite": 0
            }, 
            "mapData": {
                "storeMemory": 0, 
                "storeUse": 0, 
                "swapRead": 0, 
                "swapWrite": 0
            }, 
            "metaData": {
                "storeMemory": 0, 
                "storeUse": 0, 
                "swapRead": 0, 
                "swapWrite": 0
            }, 
            "rowData": {
                "storeMemory": 0, 
                "storeUse": 0, 
                "swapRead": 0, 
                "swapWrite": 0
            }
        }, 
        "storeMemory": 0, 
        "storeMemoryLimit": 1073741824, 
        "storeTotalUse": 0, 
        "swapRead": 0, 
        "swapReadSize": 0, 
        "swapReadTime": 0, 
        "swapWrite": 0, 
        "swapWriteSize": 0, 
        "swapWriteTime": 0, 
        "syncReadSize": 0, 
        "syncReadTime": 0, 
        "totalBackupLsn": 0, 
        "totalLockConflictCount": 0, 
        "totalOtherLsn": 0, 
        "totalOwnerLsn": 0, 
        "totalReadOperation": 0, 
        "totalRowRead": 0, 
        "totalRowWrite": 0, 
        "totalWriteOperation": 0
    }, 
    "recovery": {
        "progressRate": 1
    }, 
    "version": "4.0.0-33128 CE"
}

有没有正确的方法来解决这个问题?节点无法通信是否有原因?

标签: databaseazurenosqlgriddb

解决方案


看起来您正在将 GridDB 与多播一起使用。如果您有本地计算机但似乎无法在 Azure(或其他云服务)上运行,则此方法有效。解决方案是更改为固定列表模式。这将为 griddb 节点提供明确的地址以作为集群加入。

更多信息: https ://griddb.net/en/blog/griddb-using-fixed-list-or-multicast-clustering/


推荐阅读