Mongodb sh .status () показывает базу данных и несуществующие сегменты - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть набор кластеров 3.6 в следующей конфигурации:

  • 1 mongos
  • 1 конфигурационный кластер с 3 узлами
  • 2 набора реплик с 2 узлами
  • и 1 арбитр.

Из монго, когда я проверяю наличие шардинга, он говорит мне, что шардинг существует, но я не могу db.collection.findOne()

Разработчик сказал мне он выполнил sh.status() на replicaset1, и это показывает, что шардинг настроен и имеет базы данных, которые не существуют.

sh .status () результаты:

'        Currently enabled: yes
  balancer:
        Currently enabled:  yes
        Currently running:  unknown
        Failed balancer rounds in last 5 attempts:  0
        Migration Results for the last 24 hours: 
                No recent migrations
  databases:
        {  "_id" : "config",  "primary" : "config",  "partitioned" : true }
                config.system.sessions
                        shard key: { "_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                ReplSet1    3
                                ReplSet2    2
                        { "_id" : { "$minKey" : 1 } } -->> {
                            "_id" : {
                                "id" : UUID("000067db-c834-477d-8700-920426e12345"),
                                "uid" : BinData(0,"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } on : ReplSet2 Timestamp(2, 0) 
                        {
                            "_id" : {
                                "id" : UUID("000067db-c834-477d-8700-920426e12345"),
                                "uid" : BinData(0,"4DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } -->> {
                            "_id" : {
                                "id" : UUID("56660623-f818-4679-8fc4-a526ad551234"),
                                "uid" : BinData(0,"47EQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } on : ReplSet2 Timestamp(3, 0) 
                        {
                            "_id" : {
                                "id" : UUID("56660623-f818-4679-8fc4-a526ad555678"),
                                "uid" : BinData(0,"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } -->> {
                            "_id" : {
                                "id" : UUID("acbc3edc-cd98-4225-bcae-8722fee12345"),
                                "uid" : BinData(0,"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } on : ReplSet1 Timestamp(3, 1) 
                        {
                            "_id" : {
                                "id" : UUID("acbc3edc-cd98-4225-bcae-8722fee73f7b"),
                                "uid" : BinData(0,"47EQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } -->> {
                            "_id" : {
                                "id" : UUID("bb92af6a-78a6-47ae-841b-fd2e15a0a86d"),
                                "uid" : BinData(0,"47DQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } on : ReplSet1 Timestamp(2, 4) 
                        {
                            "_id" : {
                                "id" : UUID("bb92af6a-78a6-47ae-841b-fd2e15a0ad"),
                                "uid" : BinData(0,"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
                            }
                        } -->> { "_id" : { "$maxKey" : 1 } } on : ReplSet1 Timestamp(1, 3) 
        {  "_id" : "evt",  "primary" : "ReplSet1",  "partitioned" : true }
                dbname.stuff_metadata
                        shard key: { "sec_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                ReplSet1    11
                                ReplSet2    11
                        too many chunks to print, use verbose if you want to force print
                dbname.collectname
                        shard key: { "collec_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                ReplSet1    104
                                ReplSet2    101
                        too many chunks to print, use verbose if you want to force print
        {  "_id" : "dbname_staging",  "primary" : "ReplSet1",  "partitioned" : false }
        {  "_id" : "anotherdb",  "primary" : "ReplSet1",  "partitioned" : false }
        {  "_id" : "staging_db",  "primary" : "ReplSet1",  "partitioned" : false }
        {  "_id" : "test",  "primary" : "ReplSet1",  "partitioned" : false }
        {  "_id" : "tester",  "primary" : "ReplSet2",  "partitioned" : true }
                tester.shtest
                        shard key: { "boog" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                ReplSet2    1
                        { "boog" : { "$minKey" : 1 } } -->> { "boog" : { "$maxKey" : 1 } } on : ReplSet2 Timestamp(1, 0) 
' 

Я не знаю, когда и как это было настроено - или почему он также запускал sh.status() из реплики. Но мы здесь.

1 Ответ

0 голосов
/ 09 апреля 2020

Я создал новый сегментированный кластер филиала без данных и запустил на нем sh.status:

MongoDB Enterprise mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
    "_id" : 1,
    "minCompatibleVersion" : 5,
    "currentVersion" : 6,
    "clusterId" : ObjectId("5e8e7025c985066cd8a6965c")
  }
  shards:
        {  "_id" : "shard01",  "host" : "shard01/localhost:14442,localhost:14443",  "state" : 1 }
        {  "_id" : "shard02",  "host" : "shard02/localhost:14444,localhost:14445",  "state" : 1 }
  active mongoses:
        "4.3.4" : 2
  autosplit:
        Currently enabled: yes
  balancer:
        Currently enabled:  yes
        Currently running:  no
        Failed balancer rounds in last 5 attempts:  0
        Migration Results for the last 24 hours: 
                No recent migrations
  databases:
        {  "_id" : "config",  "primary" : "config",  "partitioned" : true }

Указана одна база данных, которая, как я предполагаю, является базой данных конфигурации.

...