Обновление метаданных не происходит на 2 узлах (пн go 2,6 до пн go 3,0) - PullRequest
0 голосов
/ 19 июня 2020

Прежде всего, спасибо, что уделили мне время, чтобы прочитать этот вопрос!

Я тестирую обновление с mon go 2.4 до версии 3 (я успешно обновился до 2.6). Проблема заключается в одном шаге до обновления двоичных файлов, я хочу иметь проверку метаданных для каждого узла моей реплики, которая сегментирована, как описано в обновить сегментированный кластер

Я отключил балансировщик и кажется, что он успешно отключен:

mongos> sh.getBalancerState()
false

Статус сегментирования:

mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
    "_id" : 1,
    "minCompatibleVersion" : 5,
    "currentVersion" : 6,
    "clusterId" : ObjectId("5eebbde828374ced0f5e432c")
}
  shards:
    {  "_id" : "test_rs1",  "host" : "test_rs1/mongodb01:27017,mongodb02:27017,mongodb03:27017" }
  balancer:
    Currently enabled:  no
    Currently running:  no
    Failed balancer rounds in last 5 attempts:  0
    Migration Results for the last 24 hours: 
        No recent migrations
  databases:
    {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
    {  "_id" : "test",  "partitioned" : false,  "primary" : "test_rs1" }

Как видите, балансировщик в настоящее время не работает. В любом случае, если я попробую, обновление метаданных будет успешным для узла 01, но не для двух других:

root@mongodb01 tmp]# ./mongos30Up --configdb mongodb02 --upgrade
2020-06-18T21:08:49.706+0000 W SHARDING running with 1 config server should be done only for testing purposes and is not recommended for production
2020-06-18T21:08:49.708+0000 I CONTROL  ** WARNING: You are running this process as the root user, which is not recommended.
2020-06-18T21:08:49.708+0000 I CONTROL  
2020-06-18T21:08:49.708+0000 I SHARDING [mongosMain] MongoS version 3.0.15 starting: pid=11224 port=27017 64-bit host=mongodb01 (--help for usage)
2020-06-18T21:08:49.708+0000 I CONTROL  [mongosMain] db version v3.0.15
2020-06-18T21:08:49.708+0000 I CONTROL  [mongosMain] git version: b8ff507269c382bc100fc52f75f48d54cd42ec3b
2020-06-18T21:08:49.708+0000 I CONTROL  [mongosMain] build info: Linux ip-10-35-227-214 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 BOOST_LIB_VERSION=1_49
2020-06-18T21:08:49.708+0000 I CONTROL  [mongosMain] allocator: tcmalloc
2020-06-18T21:08:49.708+0000 I CONTROL  [mongosMain] options: { sharding: { configDB: "mongodb02" }, upgrade: true }
2020-06-18T21:08:49.714+0000 E -        [mongosMain] error upgrading config database to v6 :: caused by :: balancer must be stopped for config upgrade

Как видите, не работает из-за балансировщика! тот же случай для узла 03 ...

Есть подсказка?

РЕДАКТИРОВАТЬ: (Добавлен bash скрипт)

#!/bin/bash

# Run the metadata for all DB's.

# VARS
MONGOS_BIN='./mongos30Up'
MONGO1='mongodb01'
MONGO2='mongodb02'
MONGO3='mongodb03'

#Give exec permission
`chmod 0100 $MONGOS_BIN`

## Start the metadatata upgrade.
$MONGOS_BIN --configdb $MONGO1 --upgrade
$MONGOS_BIN --configdb $MONGO2 --upgrade
$MONGOS_BIN --configdb $MONGO3 --upgrade
...