Làm cách nào để kiểm tra trạng thái sharding trong MongoDB?

Phần Phân đoạn liệt kê thông tin về (các) phân đoạn. Đối với mỗi phân đoạn, phần này hiển thị tên, máy chủ lưu trữ và các thẻ được liên kết, nếu có

shards:
 {  "_id" : <shard name1>,
    "host" : <string>,
    "tags" : [ <string> ... ]
 }
 {  "_id" : <shard name2>,
    "host" : <string>,
    "tags" : [ <string> ... ]
 }
 ...

3. 0. 0 新版功能. Phần Bộ cân bằng liệt kê thông tin về trạng thái của bộ cân bằng. Điều này cung cấp thông tin chi tiết về hoạt động của bộ cân bằng hiện tại và có thể hữu ích khi khắc phục sự cố cụm phân mảnh không cân bằng.

balancer:
      Currently enabled:  yes
      Currently running:  yes
          Balancer lock taken at Fri Nov 11 2016 14:23:24 GMT-0500 (EST) by ConfigServer:Balancer
      Collections with active migrations:
          chat.messages started at Fri Nov 11 2016 14:24:12 GMT-0500 (EST)
      Failed balancer rounds in last 5 attempts:  1
      Last reported error:  tag ranges not valid for: test.t2
      Time of Reported error:  Wed Dec 10 2014 12:00:33 GMT+1100 (AEDT)
      Migration Results for the last 24 hours:
          96 : Success
          15 : Failed with error 'ns not found, should be impossible', from
          shard01 to shard02

Phần Cơ sở dữ liệu liệt kê thông tin về (các) cơ sở dữ liệu. Đối với mỗi cơ sở dữ liệu, phần này hiển thị tên, liệu cơ sở dữ liệu có bật phân đoạn bảo mật hay không và phân đoạn chính cho cơ sở dữ liệu

databases:
 {  "_id" : <dbname1>,
    "partitioned" : <boolean>,
    "primary" : <string>
 }
 {  "_id" : <dbname2>,
    "partitioned" : <boolean>,
    "primary" : <string>
 }
 ...

Phần Bộ sưu tập được phân đoạn cung cấp thông tin về chi tiết phân đoạn cho (các) bộ sưu tập được phân đoạn. Đối với mỗi bộ sưu tập được phân đoạn, phần này hiển thị khóa phân đoạn, số khối trên mỗi (các) phân đoạn, phân phối tài liệu trên các khối [1] và thông tin thẻ, nếu có, cho (các) phạm vi khóa phân đoạn

<dbname>.<collection>
   shard key: { <shard key> : <1 or hashed> }
   unique: <boolean>
   balancing: <boolean>
   chunks:
      <shard name1> <number of chunks>
      <shard name2> <number of chunks>
      ...
   { <shard key>: <min range1> } -->> { <shard key> : <max range1> } on : <shard name> <last modified timestamp>
   { <shard key>: <min range2> } -->> { <shard key> : <max range2> } on : <shard name> <last modified timestamp>
   ...
   tag: <tag1>  { <shard key> : <min range1> } -->> { <shard key> : <max range1> }
   ...

Trường đầu ra¶

Phiên bản chia sẻ¶

sh. trạng thái. phiên bản sharding. _Tôi¶

The _id là mã định danh cho chi tiết phiên bản.

sh. trạng thái. phiên bản sharding. minCompatibleVersion¶

The minCompatibleVersion là phiên bản tương thích tối thiểu của máy chủ cấu hình.

sh. trạng thái. phiên bản sharding. Phiên bản hiện tại¶

The currentVersion là phiên bản hiện tại của máy chủ cấu hình.

sh. trạng thái. phiên bản sharding. clusterId¶

The clusterId là thông tin nhận dạng cho cụm phân đoạn.

mongos Phiên bản và số lượng¶

sh. trạng thái. active- mongoses¶

sh. trạng thái. active-mongoses liệt kê phiên bản và số lượng phiên bản mongos .

Tự động chia¶

sh. trạng thái. active- mongoses¶

sh. trạng thái. active- mongoses cho biết liệu tính năng tự động phân tách hiện có được bật hay không.

Mảnh vỡ¶

sh. trạng thái. mảnh vỡ. _Tôi¶

The _id hiển thị tên của phân đoạn.

sh. trạng thái. mảnh vỡ. chủ nhà¶

Máy chủ hiển thị vị trí máy chủ của phân đoạn.

sh. trạng thái. mảnh vỡ. thẻ¶

Các thẻ hiển thị tất cả các thẻ cho phân đoạn. Trường chỉ hiển thị nếu phân đoạn có thẻ.

Cân bằng¶

3. 0. 0 新版功能. sh. status() đã thêm trường bộ cân bằng .

sh. trạng thái. người thăng bằng. kích hoạt hiện tại¶

hiện đang bật cho biết liệu bộ cân bằng hiện có được bật trên cụm phân đoạn hay không.

sh. trạng thái. người thăng bằng. hiện đang chạy¶

đang chạy cho biết bộ cân bằng hiện đang chạy hay không và do đó hiện đang cân bằng cụm.

Nếu bộ cân bằng đang chạy, hiện đang chạy sẽ in thông tin trên "bộ cân bằng" lock.

在 Starting 版更改. trong 3. 4

Máy chủ chính của máy chủ cấu hình CSRS giữ khóa "balancer" , sử dụng id tiến trình có tên "ConfigServer", which is never released.

sh. trạng thái. người thăng bằng. bộ sưu tập với hoạt động di chuyển¶

các bộ sưu tập có hoạt động di chuyển liệt kê tên của bất kỳ bộ sưu tập nào có quá trình di chuyển đang hoạt động và chỉ định thời điểm quá trình di chuyển bắt đầu. Nếu không có hoạt động di chuyển nào, trường này sẽ không xuất hiện trong sh. đầu ra status() .

sh. trạng thái. người thăng bằng. thất bại-cân bằng-vòng-trong-5-lần thử gần nhất¶

failed-balancer-rounds-in-last-5-attempt hiển thị số vòng cân bằng không thành công, trong số năm vòng đã thử gần nhất. Một vòng cân bằng sẽ thất bại khi di chuyển khối không thành công.

sh. trạng thái. người thăng bằng. lỗi được báo cáo lần cuối¶

last-reported-error liệt kê thông báo lỗi cân bằng gần đây nhất. Nếu không có lỗi, trường này sẽ không xuất hiện trong sh. đầu ra status() .

sh. trạng thái. người thăng bằng. thời-gian-báo-lỗi¶

time-of-reported-error cung cấp ngày và giờ của lỗi được báo cáo gần đây nhất.

sh. trạng thái. người thăng bằng. di-kết-quả-trong-24-giờ-qua¶

kết quả di chuyển trong 24 giờ qua hiển thị số lần di chuyển trong 24 giờ qua và thông báo lỗi từ các lần di chuyển không thành công. Nếu không có lần di chuyển nào gần đây, kết quả di chuyển trong 24 giờ qua hiển thị Không . recent migrations.

kết quả di chuyển trong 24 giờ qua bao gồm tất cả các lần di chuyển, bao gồm cả những lần di chuyển không do trình cân bằng thực hiện.

Cơ sở dữ liệu¶

sh. trạng thái. cơ sở dữ liệu. _Tôi¶

The _id hiển thị tên của cơ sở dữ liệu.

sh. trạng thái. cơ sở dữ liệu. phân vùng¶

Phân vùng partitioned hiển thị liệu cơ sở dữ liệu có bật phân đoạn không. Nếu true , thì cơ sở dữ liệu đã bật phân đoạn.

sh. trạng thái. cơ sở dữ liệu. sơ cấp¶

Cái chính hiển thị phân đoạn chính cho cơ sở dữ liệu.

Bộ sưu tập phân mảnh¶

sh.status.databases..shard-key¶

The shard-key hiển thị tài liệu đặc tả khóa phân đoạn.

sh.status.databases..unique¶

The unique hiển thị liệu MongoDB có thực thi tính duy nhất trên các giá trị khóa phân đoạn hay không.

sh. trạng thái. cơ sở dữ liệu. cân bằng¶

cân bằng hiển thị liệu cân bằng có được bật hay không ( true . false) for the collection.

sh.status.databases..chunks¶

The khối liệt kê tất cả các phân đoạn và số lượng khối nằm trên mỗi phân đoạn.

sh.status.databases..chunk-details¶

The chi tiết khối liệt kê chi tiết của các khối [1].

  • Phạm vi của các giá trị khóa phân đoạn xác định đoạn,
  • Mảnh nơi chunk cư trú, và
  • Dấu thời gian sửa đổi cuối cùng cho đoạn
sh.status.databases..tag¶

Thẻ tag liệt kê chi tiết của các thẻ được liên kết với một loạt giá trị khóa phân đoạn.

[1](1, 2) Theo mặc định, phần bộ sưu tập được phân đoạn hiển thị thông tin khối nếu tổng số khối nhỏ hơn 20. Để hiển thị thông tin khi bạn có 20 khối trở lên, hãy gọi sh. status() với tham số verbose được đặt thành true, i.e. sh. trạng thái (đúng) .

←   sh. startBalancer() sh. stopBalancer()  →

© MongoDB, Inc 2008-2017. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc

Làm cách nào để kiểm tra trạng thái phân đoạn MongoDB?

Phần Cơ sở dữ liệu liệt kê thông tin về (các) cơ sở dữ liệu. Đối với mỗi cơ sở dữ liệu, phần này hiển thị tên, liệu cơ sở dữ liệu có bật phân đoạn bảo mật hay không và phân đoạn chính cho cơ sở dữ liệu. Phần Bộ sưu tập được phân đoạn cung cấp thông tin về chi tiết phân đoạn cho (các) bộ sưu tập được phân đoạn .

MongoDB shard có tự động không?

MongoDB tự động tính toán giá trị băm khi giải quyết các truy vấn bằng cách sử dụng chỉ mục được băm . Các ứng dụng không cần tính toán giá trị băm. Mặc dù một loạt các khóa phân đoạn có thể "gần nhau", nhưng các giá trị được băm của chúng không có khả năng nằm trên cùng một đoạn.

Làm thế nào sharding được thực hiện trong MongoDB?

MongoDB sử dụng khóa phân đoạn để phân phối tài liệu của bộ sưu tập trên các phân đoạn. MongoDB chia dữ liệu thành "khối", bằng cách chia khoảng giá trị của khóa phân đoạn thành các phạm vi không chồng chéo . MongoDB sau đó cố gắng phân phối đồng đều các khối đó giữa các phân đoạn trong cụm.

Điều gì xảy ra nếu một phân đoạn bị hỏng trong MongoDB?

Mỗi phân đoạn phải là một bộ bản sao, nếu một phiên bản mongod cụ thể bị lỗi, các thành viên của bộ bản sao sẽ chọn một bộ khác làm chính và tiếp tục hoạt động. However, if an entire shard is unreachable or fails for some reason, that data will be unavailable.