2013-05-28 34 views
15

Lệnh để bắt đầu một bộ bản sao trong MongoDB Shell là rs.initiate().Stop Replica Set MongoDB

Điều ngược lại với lệnh này. Làm cách nào để dừng bản sao?

Có các lệnh để cấu hình lại bộ hoặc xóa thành viên nhưng không có cách nào tôi biết để loại bỏ thành viên cuối cùng và do đó phá hủy bộ bản sao.

+1

Cách phổ biến nhất là chỉ dừng 'mongod', vì bạn phải khởi động lại' mongod' mà không có tùy chọn bản sao để thực sự ngăn không cho nó cố sử dụng bộ bản sao. – Sammaye

+0

Khi tôi bắt đầu mongo sau khi làm điều đó nó cho tôi cảnh báo này: "CẢNH BÁO: mongod bắt đầu mà không có --replSet chưa có 1 tài liệu có mặt trong local.system.replset". Làm thế nào để tôi làm sạch điều này? –

+0

Câu hỏi liên quan: http://stackoverflow.com/q/10953752/490018 –

Trả lời

33

Tất cả phụ thuộc vào mục tiêu của bạn. Nếu bạn muốn sử dụng lại các mongod hiện như một máy chủ độc lập chứ không phải là một thành viên replica set sau đó các bước để làm điều đó sẽ là: quá trình mongod

  1. Khởi động lại mà không --replSet tranh cãi.
  2. Drop cơ sở dữ liệu địa phương:

    use local; 
    db.dropDatabase(); 
    
+0

Điều đó đã làm việc tuyệt vời cảm ơn bạn. –

+0

"errmsg": "Không thể thả 'cục bộ' cơ sở dữ liệu trong khi sao chép đang hoạt động" – alexserver

+1

bạn phải khởi động lại máy chủ mà không có cờ --replSet trước khi bạn có thể thả địa phương. –

0

1) Tới Mongo vỏ trên các máy chủ Secondary

2) Dừng các máy chủ thứ cấp bằng cách sử dụng dưới đây lệnh:

sử dụng quản trị db .shutdownServer()

2] Đi tới trình bao Linux trên máy chủ phụ và nhập lệnh dưới đây:

dịch vụ sudo mongod dừng

Để biết thêm thông tin, hãy kiểm tra các liên kết dưới đây:

http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html

2

Tôi chỉ có vấn đề này trong sản xuất. @ maganap's (15 tháng 3) bình luận lưu thịt xông khói của tôi!

Sử dụng MongoDB 3.2.10, không cần phải đổ oplog, chỉ cần làm điều này trên các thành viên đầu tiên:

use local 
db.system.replset.remove({}) 

Sau đó khởi động lại thành viên. Nó sẽ vẫn có oplog và dữ liệu của nó. Chỉ cần chạy:

rs.initiate() 
rs.reconfig(conf) 

Trường hợp conf là ký tự mới. Sau đó, trên mỗi thành viên khác, chỉ cần chạy các chashing của dữ liệu replset ở trên và khởi động lại chúng. Khi họ bắt đầu họ sẽ tham gia các thiết lập.

Các vấn đề liên quan