單次導入消息隊列RabbitMQ版實例的RabbitMQ集群元數據文件包含10個以上Vhost時,可能會出現導入超時的情況。建議您拆分RabbitMQ集群元數據文件后分批導入。消息隊列RabbitMQ版根據vhosts列表導入元數據,因此您在拆分元數據文件時,只需要修改vhosts列表,而不需要修改其他元數據。

前提條件

您已經導出包含全部Vhost的RabbitMQ集群元數據文件。如何導出RabbitMQ集群元數據文件,請參見遷移元數據

背景信息

本文以包含16個Vhost的RabbitMQ集群元數據文件為例進行拆分。該RabbitMQ集群元數據文件的vhosts列表如下:
{
    "vhosts":[
        {
            "name":"hello1"
        },
        {
            "name":"hello_amqp"
        },
        {
            "name":"helloAMQP"
        },
        {
            "name":"example2test"
        },
        {
            "name":"example3test"
        },
        {
            "name":"example4test"
        },
        {
            "name":"example5test"
        },
        {
            "name":"example6test"
        },
        {
            "name":"example7test"
        },
        {
            "name":"example8test"
        },
        {
            "name":"example9test"
        },
        {
            "name":"example10test"
        },
        {
            "name":"example11test"
        },
        {
            "name":"example12test"
        },
        {
            "name":"example13test"
        },
        {
            "name":"example14test"
        }
    ]
}

拆分元數據文件

  1. 為導出的RabbitMQ集群元數據文件創建兩個相同的副本文件,并分別命名為10vhost.json6vhost.json
  2. 10vhost.jsonvhosts列表中,刪除前6個Vhost。
    修改后的10vhost.jsonvhosts列表如下:
    {
        "vhosts":[
            {
                "name":"example5test"
            },
            {
                "name":"example6test"
            },
            {
                "name":"example7test"
            },
            {
                "name":"example8test"
            },
            {
                "name":"example9test"
            },
            {
                "name":"example10test"
            },
            {
                "name":"example11test"
            },
            {
                "name":"example12test"
            },
            {
                "name":"example13test"
            },
            {
                "name":"example14test"
            }
        ]
    }
  3. 6vhost.jsonvhosts列表中,刪除后10個Vhost。
    修改后的6vhost.jsonvhosts列表如下:
    {
        "vhosts":[
            {
                "name":"hello1"
            },
            {
                "name":"hello_amqp"
            },
            {
                "name":"helloAMQP"
            },
            {
                "name":"example2test"
            },
            {
                "name":"example3test"
            },
            {
                "name":"example4test"
            }
        ]
    }