MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Không thể chạy vùng chứa mongo với tập hợp bản sao bằng docker-compos

Tập lệnh khởi động của bạn không nên khởi tạo hoặc giám sát tập bản sao; đó phải là những công việc thủ công.

Bạn nên nhớ rằng:

  • bắt đầu một tập hợp bản sao hoàn toàn là công việc chỉ diễn ra một lần; khi nó được khởi chạy, dịch vụ MongoDB, khi được khởi động lại, sẽ tiếp tục là một phần của cùng một tập hợp bản sao.
  • một tập hợp bản sao thường chứa một số nút có thể hoán đổi cho nhau; nếu mỗi người trong số họ cố gắng khởi tạo bộ bản sao khi khởi động, họ sẽ gặp lỗi
  • khởi động lại một dịch vụ là hành vi bình thường, được mong đợi; ví dụ:khi bạn nâng cấp lên phiên bản MongoDB tiếp theo hoặc sau khi các bản vá cho máy chủ lưu trữ máy chủ của bạn yêu cầu khởi động lại hoặc sau khi cúp điện
  • nếu tập lệnh của bạn cố gắng khởi tạo một tập hợp bản sao đã được khởi tạo mỗi khi nó khởi động dịch vụ MongoDB, nó sẽ tạo ra lỗi

Tôi thực sự khuyên bạn nên thực hiện ba thay đổi:

  1. Cho phép vùng chứa mongo của bạn chỉ chạy mongo mà không cần thực hiện các bước để bắt đầu và giám sát tập hợp bản sao.
  2. Nếu bạn muốn chạy một tập hợp bản sao, hãy khởi tạo nó một cách cẩn thận và theo cách thủ công có kiểm soát; ditto nếu bạn muốn thêm / xóa các nút hoặc cấu hình lại.
  3. Nếu bạn muốn theo dõi tình trạng của tập hợp bản sao của mình, hãy sử dụng một công cụ riêng để làm điều đó; hãy để dịch vụ mongo thực hiện công việc bình thường của nó.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. lỗi pymongo:bson.errors.InvalidBSON:codec 'utf8' không thể giải mã byte 0xa1 ở vị trí 25:byte bắt đầu không hợp lệ

  2. MongoDB:Tổng hợp sử dụng $ cond với $ regex

  3. Làm cách nào để tắt thông báo nhật ký MongoDB trong bảng điều khiển?

  4. Lấy từ điển bên trong danh sách theo khóa trong mongoDB (mongoengine)

  5. Làm cách nào để xóa _id trong MongoDB và thay thế bằng một trường khác làm Khóa chính?