Tôi không nói về shending . Chúng tôi đã có một máy chủ thử nghiệm (linux) và đã có một máy chủ mongo
thuộc dự án / phụ đề khác. Là nó có thể chạy nhiều, trường hợp bị cô lập của mongodb
trên một máy? Tôi làm nó như thế nào?
Tôi không nói về shending . Chúng tôi đã có một máy chủ thử nghiệm (linux) và đã có một máy chủ mongo
thuộc dự án / phụ đề khác. Là nó có thể chạy nhiều, trường hợp bị cô lập của mongodb
trên một máy? Tôi làm nó như thế nào?
Câu trả lời:
Có, bạn có thể làm điều này bằng cách chỉ định các số cổng và thư mục dữ liệu khác nhau cho các trường hợp khác mongod
và sau đó chỉ định số cổng mới trong máy khách.
Ví dụ:
./mongod --dbpath /foo/bar/otherpath --port some_other_port
Bạn cũng có thể thay đổi số cổng máy chủ và cấu hình máy chủ shard nếu bạn cần.
Các bước tôi đã thực hiện là:
Chỉnh sửa init.d start script và thay đổi như sau:
CONFIGFILE = "/ etc / mongod2.conf" (mongod3.conf, tương ứng)
....
mongod = $ {MONGOD- / usr / bin / mongod2} (mongod3, tương ứng)
Đã thay thế / var / lock / subsys / mongod bằng / var / lock / subsys / mongod2 (mongod3, tương ứng) bất cứ nơi nào tôi tìm thấy nó.
Chống lại sự cám dỗ để thay thế mongod.lock bằng mongod2.lock (hoặc tương ứng với mongod3.lock). Chúng nằm trong các thư mục khác nhau (thư mục cơ sở dữ liệu khác nhau) và sẽ không xung đột.
Bây giờ tôi có thể
service mongod start|stop|status
service mongod2 start|stop|status
service mongod3 start|stop|status
và cũng
mongo --port <port_number>
cho mỗi phiên bản mongo (hãy nhớ cài đặt cổng từ tệp conf)
Tôi không biết về bất kỳ tác dụng phụ nào của việc đổi tên nhị phân mongod ..
Hi vọng điêu nay co ich.
[Chỉnh sửa sau] Để bắt đầu phiên bản tự động, chỉ cần ln -s /etc/init.d/mongod2 /etc/rc.d/rc3.d/S86mongod và ln -s /etc/init.d/mongod3 / etc / rc .d / RC3.d / S87mongod :)
Ubuntu 16.01
, không có init.d
kịch bản. Bạn có thể cung cấp init.d
nội dung kịch bản?