2012-11-09 34 views
27

Tôi mới làm quen với Mongodb. Khi tôi chạy lệnh sau:Dừng: Ví dụ không xác định mongodb (Ubuntu)

sudo service mongodb start 

Nó cho thấy tôi "MongoDB bắt đầu/chạy, quá trình 3566". Nhưng khi tôi cố gắng để ngăn chặn bằng cách đưa ra các lệnh dưới đây:

sudo service mongodb stop 

Nó cho thấy stop: Unknown dụ:. Không ai có bất kỳ ý tưởng làm thế nào để slove vấn đề này.

Và nếu tôi cung cấp dịch vụ sudo MongoDB khởi động lại, tôi nhận được thông báo dưới đây:

stop: Unknown instance: 
mongodb start/running, process 3644 

PS: Nếu tôi đang sử dụng chỉ mongod, tôi có thể bắt đầu các máy chủ và có thể kết nối vỏ mongo bằng cách cho mongo.

Vui lòng đề nghị tôi cách khắc phục sự cố và cách kết nối vỏ mongo sau khi cung cấp dịch vụ mongodb bắt đầu. Cảm ơn trước.

+0

Trông như thế này đã được trả lời ở đây http://stackoverflow.com/questions/10072563/cannot-restart-mongodb-on-ubuntu-11-04 – Gregor

+0

Cảm ơn. Nhưng tôi không tìm thấy tệp nhật ký trong thư mục log/var/log/mongodb /. – senthil

Trả lời

-2

Tôi đã tự khắc phục sự cố. Dưới đây là những gì tôi đã làm:

apt-get install mongodb 

Và ghi đè tệp .conf. Sau đó mọi thứ hoạt động tốt. Tôi hy vọng điều này sẽ giúp một ai đó.

+0

Tôi không nghĩ rằng cài đặt lại mongodb như một giải pháp. – c24b

16

Tôi chỉ gặp phải điều này. Rất có thể sự cố nằm trong tệp conf của bạn (rõ ràng là vì bạn đã cài đặt lại hạt giống)

Trong mongodb.conf không đặt fork = true nếu gọi nó là dịch vụ. Điều này sẽ ngăn chặn các cuộc gọi dịch vụ từ có thể truy cập nó với tình trạng dịch vụ mongodb.conf/stop/restart.

Xóa một ngã ba = Đường thẳng, tuy nhiên, sẽ giảm bớt vấn đề.

Xem nhận xét; sử dụng giải pháp khác mặc dù giải pháp này được chấp nhận.

+0

Cảm ơn @goingtharn: chúng tôi đã dành một vài giờ cố gắng để giải quyết điều này, và điều này đã làm các trick. – mstringer

+2

để kiểm tra giải pháp thích hợp http://stackoverflow.com/a/21354762/1778421 –

+1

@AlexP. Tại sao giải pháp đó là giải pháp thích hợp (kiểm tra nhận xét của jonatan về giải pháp đó)? Bạn có thể cập nhật giải pháp của mình để làm rõ. –

1

tôi phải đối mặt với chính xác cùng một vấn đề và đã làm các nội dung sau:

  • Removed các mongod.lock tập tin (trong trường hợp của tôi tập tin này được đặt tại/var/lib/MongoDB /)
  • Được sử dụng như sau lệnh từ client Mongo tôi

Mongo --repair

Và điều đó đã khắc phục được sự cố. Có thể lưu ý rằng tôi đã gặp sự cố hệ thống trước khi sự cố này xuất hiện. Vì vậy, những gì tôi tin rằng, vấn đề đã được gây ra do tắt máy không hoạt động của con quỷ máy chủ.

Nếu bạn không chắc chắn lý do, bạn có thể muốn xem tệp nhật ký (trong trường hợp của tôi, tôi đã tìm thấy nó trong/var/log/mongodb /). Điều đó có thể cung cấp cho bạn một số gợi ý hữu ích.

Cảm ơn.

+1

Lỗi phân tích cú pháp dòng lệnh: sửa lỗi tùy chọn không rõ thử 'mongo --help' để biết thêm thông tin – mvladk

+0

phù hợp với tôi. . – keithics

2

Tôi phải đối mặt với nó như bạn đã làm. Có thể vì máy tính của tôi bị lỗi đột ngột. Tôi sử dụng lệnh: sudo top (ubuntu) và tôi đã tìm thấy mongo running.I đã giết nó và khởi động mongo.Every điều đúng.

12

Lý do bạn nhận được lỗi Unknown instance là do upstart đang theo dõi sai PID đối với trường hợp của quy trình chia tách mongod. Nhưng giải pháp thích hợp để điều này không được chạy quá trình trong foreground bằng cách loại bỏ fork=true dòng từ cấu hình như @GoingTharn gợi ý, nhưng thay vì giúp upstart để nắm bắt quyền PID của quá trình chia hai bằng cách thêm

expect daemon 

đến /etc/init/mongodb.conf

+0

Cảm ơn bạn rất nhiều! đã làm việc như một nét duyên dáng trên ubuntu 12.04: – user45949

+2

Xin vui lòng, bạn có thể làm thêm chi tiết? có thể sao chép đúng tập tin mongodb.conf vì tôi không kết thúc với mongo và không thể hiểu được mong đợi deamon :( – Rueta

+1

Tại sao vô hiệu hóa ngã ba không phải là giải pháp thích hợp?/program/mongod/# cmdoption - fork) nói rằng bạn nên chạy mongodb như một daemon "hoặc bằng cách sử dụng --fork hoặc bằng cách sử dụng một quá trình kiểm soát xử lý quá trình daemonization (ví dụ như với upstart và systemd)" – jonatan