복붙노트

[MONGODB] MongoDB의 서비스가 시작되지 않는다

MONGODB

MongoDB의 서비스가 시작되지 않는다

나는 MongoDB를-10gen의 데비안 패키지를 사용하여 MongoDB를 2.0.3을 설치했습니다. 모든 경우 컴퓨터를 시작할 시작되지 기본적으로 설치되어있는 서비스를 제외하고, 잘 갔다. mongod는 루트 사용자로 실행 중입니다. 어쩌면이는 이유입니다. 그들은 루트 사용자가 추가되기 때문에하지만 내가 아는 한, 서비스가 실행되어야한다.

어떤 해결책이 될 수있다?

난 그냥 mongod를 실행하는 경우

Tue Mar 27 13:00:44 [initandlisten] couldn't open /data/db/transaction_processor_dummy_development.ns errno:1 Operation not permitted

내가 sudo는 서비스를 실행하는 경우는 말한다 시작 MongoDB를 :

mongodb start/running, process 4861

하지만 htop과 몽고는 말한다 찾고있는 프로세스가 없습니다 :

MongoDB shell version: 2.0.3
connecting to: test
Tue Mar 27 13:02:40 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

해결법

  1. ==============================

    1.내 우분투 서버에서 바로 실행

    내 우분투 서버에서 바로 실행

    sudo rm /var/lib/mongodb/mongod.lock
    mongod --repair
    sudo service mongodb start
    
  2. ==============================

    2.결정된!

    결정된!

    그 이유는 /etc/mongodb.conf의 DBPATH 변수였다. 이전에, 나는 DBPATH의 기본값은 / 데이터 / dB이었다 MongoDB를 1.8을 사용했다. (MongoDB를-10gen 패키지와 함께 제공) 벼락 출세 작업 MongoDB를이 --config /etc/mongodb.conf 옵션으로 mongod를 호출합니다.

    솔루션으로, 나는 단지 재귀 / 데이터 / db 디렉토리의 소유자를 변경했다.

  3. ==============================

    3.파일 권한을 어떻게 든으로 변경되는 경우에도 발생할 수 있습니다. 잠금 파일이 도움이되지 않았다 제거, 우리는 같은 로그 파일에 오류를 얻고 있었다 :

    파일 권한을 어떻게 든으로 변경되는 경우에도 발생할 수 있습니다. 잠금 파일이 도움이되지 않았다 제거, 우리는 같은 로그 파일에 오류를 얻고 있었다 :

    2016-01-20T09:14:58.210-0800 [initandlisten] warning couldn't write to / rename file /var/lib/mongodb/journal/prealloc.0: couldn't open file    /var/lib/mongodb/journal/prealloc.0 for writing errno:13 Permission denied
    2016-01-20T09:14:58.288-0800 [initandlisten] couldn't open /var/lib/mongodb/local.ns errno:13 Permission denied
    2016-01-20T09:14:58.288-0800 [initandlisten] error couldn't open file /var/lib/mongodb/local.ns terminating
    

    그래서, 권한을 확인했다 :

    ls -l /var/lib/mongodb
    
    total 245780
    drwxr-xr-x 2 mongodb mongodb     4096 Jan 20 09:14 journal
    drwxr-xr-x 2 root    root        4096 Jan 20 09:11 local
    -rw------- 1 root    root    67108864 Jan 20 09:11 local.0
    -rw------- 1 root    root    16777216 Jan 20 09:11 local.ns
    -rwxr-xr-x 1 mongodb nogroup        0 Jan 20 09:14 mongod.lock
    

    고치다:

    # chown -R mongodb:mongodb /var/lib/mongodb
    

    그것은 아직 거기 경우 잠금 파일을 제거합니다 :

    # rm /var/lib/mongodb/mongod.lock
    

    시작 MongoDB를

    # service mongodb start
    

    꼬리 로그 당신은 그것의 끝에서 볼 수 :

    tail -f /var/log/mongodb/mongodb.log
    2016-01-20T09:16:02.025-0800 [initandlisten] waiting for connections on port 27017
    
  4. ==============================

    4.내 몽고 데이터를 쉽게 기초를 복원하는 쉘 스크립트를 작성하기로 결정 그래서 나는이 문제 지루했다.

    내 몽고 데이터를 쉽게 기초를 복원하는 쉘 스크립트를 작성하기로 결정 그래서 나는이 문제 지루했다.

    #!/bin/sh
    sudo rm /var/lib/mongodb/mongod.lock
    sudo -u mongodb mongod -f /etc/mongodb.conf --repair
    sudo service mongodb start
    

    http://ideone.com/EuqDZ8

  5. ==============================

    5.당신이 강제로 .lock 파일을 제거하여 데이터베이스를 다시 시작할 때 데이터가 손상받을 수 있음을 기억하십시오. 당신이 방법이 서버를 다시 시작하면 서버가 "정상"으로 간주되어서는 안된다.

    당신이 강제로 .lock 파일을 제거하여 데이터베이스를 다시 시작할 때 데이터가 손상받을 수 있음을 기억하십시오. 당신이 방법이 서버를 다시 시작하면 서버가 "정상"으로 간주되어서는 안된다.

    중 하나를 실행 상황을 수정하려면

    mongod --repair
    

    또는

    > db.repairDatabase();    
    

    몽고 쉘에서 "건강한"상태로 데이터베이스 다시 가져올 수 있습니다.

  6. ==============================

    6.1 - 활성화 된 경우 /etc/mongodb.conf에서 해제 포크 옵션

    1 - 활성화 된 경우 /etc/mongodb.conf에서 해제 포크 옵션

    2 - 수리 데이터베이스

    mongod --repair --dbpath DBPATH
    

    3 - 죽 현재 mongod 과정

    몽고 프로세스 찾기

    ps -ef | grep mongo
    

    당신거야 GET mongod PID

    mongodb   PID     1  0 06:26 ?        00:00:00 /usr/bin/mongod --config /etc/mongodb.conf
    

    정지 현재 mongod 과정

    kill -9 PID
    

    4 - MongoDB의 서비스를 시작

    service mongodb start
    
  7. ==============================

    7.우분투를 들어, 어떤 일이 일어날 만든 실제 간단한 MongoDB의 패키지를 설치하는 것입니다했다 :

    우분투를 들어, 어떤 일이 일어날 만든 실제 간단한 MongoDB의 패키지를 설치하는 것입니다했다 :

    sudo apt-get install  mongodb
    
  8. ==============================

    8.때때로 당신은 실행 서비스를 얻기 위해 .lock 파일을 제거해야

    때때로 당신은 실행 서비스를 얻기 위해 .lock 파일을 제거해야

  9. ==============================

    9.단지 몽고를 다시 설치하고 일했다. 어떤 컬렉션은 손실되지 않습니다. 나를 위해 가장 쉬운 솔루션이어야

    단지 몽고를 다시 설치하고 일했다. 어떤 컬렉션은 손실되지 않습니다. 나를 위해 가장 쉬운 솔루션이어야

  10. ==============================

    10.내 /etc/init.d/mongodb 파일이이 명령을 추가 결국 thart 펜 Nianliang의 솔루션은, 내 방랑의 ubunuto에서 매우 유용 밝혀졌다 :

    내 /etc/init.d/mongodb 파일이이 명령을 추가 결국 thart 펜 Nianliang의 솔루션은, 내 방랑의 ubunuto에서 매우 유용 밝혀졌다 :

    .
    .
    .    
    start|stop|restart)
            rm /var/lib/mongodb/mongod.lock
            mongod --repair
    .
    .
    .
    
  11. ==============================

    11.

    sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
    sudo service mongodb start
    
  12. ==============================

    12.디스크가 귀하를 logpath 경로에 가득 경우도 발생할 수 있습니다 (예를 들어, 당신은 전용 / 로그 / 디렉토리 / 드라이브를 가지고가 가득 경우).

    디스크가 귀하를 logpath 경로에 가득 경우도 발생할 수 있습니다 (예를 들어, 당신은 전용 / 로그 / 디렉토리 / 드라이브를 가지고가 가득 경우).

    이것은 또한 문제를 해결하는 데 매우 어려운 과정을 시작할 때 mongod.log을 읽는에서 당신을 방지하기 때문에 나에게 좋은 15 분 당황했다.

  13. ==============================

    13."데이터"폴더에 대한 사용 권한을 확인하시기 바랍니다. 이것은 리눅스 사용자로 인해 SE 리눅스 권한이 문제에 직면하게 될 것이다로서, 권한 문제입니다. 당신은 "데이터"폴더의 ownerand 그룹 모두 "MongoDB를"로 변경 그래서

    "데이터"폴더에 대한 사용 권한을 확인하시기 바랍니다. 이것은 리눅스 사용자로 인해 SE 리눅스 권한이 문제에 직면하게 될 것이다로서, 권한 문제입니다. 당신은 "데이터"폴더의 ownerand 그룹 모두 "MongoDB를"로 변경 그래서

  14. ==============================

    14.나는 다른 접근 방식을했다 :

    나는 다른 접근 방식을했다 :

    배경: 나는 준비 영역으로, 내 서버에 로컬 MongoDB를, 단일 노드를 사용합니다.

    나는 몽고 MongoDB의 워드 프로세서에서 사용할 수있는 지침에 따라 설치됩니다.

    하지만 여전히 필수 - 그래서,이 '프라임'모든 시간까지 할 필요는 없습니다 인프라는 아니다.

    나는 무엇을 : 몽고를 사용하여 실행중인 경우 내 실행 스크립트, 나는 확인 -

    if pgrep "mongod" >/dev/null 2>&1
    

    가 실행되지 않는다면, 내가 실행

    sudo mongod &
    

    등 매력, 아니 설치와 같은 근무

    사용 사례가 유사한 경우, 너무 당신을 위해 작동하는지 알려주세요.

    행운을 빕니다!

  15. ==============================

    15.나는 서비스 MongoDB를 시작하는 로그하지 않고, 실패 문제를 가지고 있었다. 내가 오류를 수정 한 것은 사용자 MongoDB를위한 디렉토리는 / var / 로그 / MongoDB를 쓰기 액세스를 제공하는 것입니다

    나는 서비스 MongoDB를 시작하는 로그하지 않고, 실패 문제를 가지고 있었다. 내가 오류를 수정 한 것은 사용자 MongoDB를위한 디렉토리는 / var / 로그 / MongoDB를 쓰기 액세스를 제공하는 것입니다

  16. ==============================

    16.공식 MongoDB를 문서에 따라, 우측 명령은 서비스를 시작하는 것을 기억이다 (@Ubuntu) : sudo는 서비스 (06/2018)를 시작 mongod (아무 MongoDB를 또는 몽고).

    공식 MongoDB를 문서에 따라, 우측 명령은 서비스를 시작하는 것을 기억이다 (@Ubuntu) : sudo는 서비스 (06/2018)를 시작 mongod (아무 MongoDB를 또는 몽고).

    참조 : https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

  17. ==============================

    17.우분투 14.04를 위해 MongoDB를 설치

    우분투 14.04를 위해 MongoDB를 설치

    sudo nano /etc/apt/sources.list.d/mongodb-org-3.2.list
    
    echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
    
    sudo apt-get update
    
    sudo apt-get install -y mongodb-org=3.2.10 mongodb-org-server=3.2.10 mongodb-org-shell=3.2.10 mongodb-org-mongos=3.2.10 mongodb-org-tools=3.2.10
    
  18. ==============================

    18.나 한테 무슨 문제를 진단하는 데 도움 것은 mongod를 실행하고 /etc/mondgob.conf 설정 파일을 지정했다 :

    나 한테 무슨 문제를 진단하는 데 도움 것은 mongod를 실행하고 /etc/mondgob.conf 설정 파일을 지정했다 :

    mongod --config /etc/mongodb.conf
    

    즉 /etc/mongdb.conf에서 몇 가지 옵션이 "인식"이라고 밝혔다. 나는 보안 아래 두 옵션을 모두 주석 처리했다 : 혼자 단지 보안을 왼쪽 : 시작하지에 서비스를 일으킨 한 줄에. 이 벌레처럼 보인다.

    security:
    #  authorization: enabled
    #  keyFile: /etc/ssl/mongo-keyfile
    

    ^^ 오류

    #security:
    #  authorization: enabled
    #  keyFile: /etc/ssl/mongo-keyfile
    

    ^^ 제대로 댓글을 달았습니다.

  19. from https://stackoverflow.com/questions/9884233/mongodb-service-is-not-starting-up by cc-by-sa and MIT license