복붙노트

[MONGODB] 서비스로 MongoDB의를 시작할 수 없습니다

MONGODB

서비스로 MongoDB의를 시작할 수 없습니다

지금은 몇 달 동안 MongoDB를 위해 개발 된 내 윈도우 7 엔터프라이즈 시스템에 서비스로 설치하고 싶습니다. 다음은 내가 서비스를 생성하기 위해 실행 한 것을 명령입니다 :

"D:\Milvia Systems\Development\MongoDB\mongod.exe" --logpath "D:\Milvia Systems\Development\MongoDB\logs\DBLog.log" --logappend --dbpath "D:\Milvia Systems\Development\MongoDB\db" -vvv --reinstall

내가 NET START를 사용할 때마다 그러나 "MongoDB를"또는 서비스 제어판 나는 다음과 같은 오류가 나타날 수 있습니다 :

환경 : 윈도우 7 엔터프라이즈 64 비트 MongoDB를 : 1.6.3 pdfile 버전 4.5

해결법

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

    1.당신은 당신이 진짜 문제를보고 로그인 확인해 봤어?

    당신은 당신이 진짜 문제를보고 로그인 확인해 봤어?

    나는 C에 몽고 설치를 추출하는 것이 좋습니다 : \ MongoDB를합니다.

    는 C 만들기 : \ MongoDB를 \ 로그 및 C : \ MongoDB를 \ 데이터 \ DB 디렉토리.

    \ MongoDB의 \ bin 디렉토리 및 서비스를 제거하려면 다음을 실행 : 그런 다음은 C를 찾아 (당신이 그것을 설치 한 경우!) :

    mongod --remove
    

    그런 다음 로그 및 데이터 디렉토리를 지정하여 서비스를 설치 :

    mongod --logpath c:\mongodb\logs\mongo.log --dbpath c:\mongodb\data\db --directoryperdb --install
    

    문제는 서비스 시작이 그런 경우는 지정된 로그 파일에 이유를 볼 수 있습니다.

    여기에 더 많은 정보를 원하시면.

  2. ==============================

    2.당신은 데이터 디렉토리 또는 로그 디렉토리에 대한 절대 파일 경로를 지정하지 않은 경우, 당신은 같은 Windows 오류,하지만 로그 파일을 얻을 것이다.

    당신은 데이터 디렉토리 또는 로그 디렉토리에 대한 절대 파일 경로를 지정하지 않은 경우, 당신은 같은 Windows 오류,하지만 로그 파일을 얻을 것이다.

    나는 등록 서비스 인수를 해결하기 Webiyo에 밀려 "Windows 7에서 MongoDB를 서비스 설치"의 정보를 사용 :

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

    3.난 그냥 내 윈도우 7 시스템에서 동일한 문제가 발생했습니다. 나는 설치에 대한 MongoDBs 문서의 지시에 따라,하지만 내가 "C : \"에 있었다 않는 날 "순 시작 MongoDB를"을 실행하지 것이다. 그래도 위에 언급 된 Webiyo 링크에 포함 된 지침에 따라 MongoDB를 돌아가서 다시하고 싶지 않았다. 당신은 이미 문서에 따라 MongoDB를 설치 토록 프로젝트 디렉토리가 어디에서 "net 시작 MongoDB를"을 실행할 수 있도록하려면 :

    난 그냥 내 윈도우 7 시스템에서 동일한 문제가 발생했습니다. 나는 설치에 대한 MongoDBs 문서의 지시에 따라,하지만 내가 "C : \"에 있었다 않는 날 "순 시작 MongoDB를"을 실행하지 것이다. 그래도 위에 언급 된 Webiyo 링크에 포함 된 지침에 따라 MongoDB를 돌아가서 다시하고 싶지 않았다. 당신은 이미 문서에 따라 MongoDB를 설치 토록 프로젝트 디렉토리가 어디에서 "net 시작 MongoDB를"을 실행할 수 있도록하려면 :

    HKEY_LOCAL_MACHINE로 이동> 시스템> CURRENTCONTROLSET> 서비스> MongoDB를

    이름 열에서 더블 클릭의 ImagePath

    (편집 폴더 디렉토리 이름은 사용자의 요구에 맞게) 다음의 ImagePath에 붙여 넣습니다 :

    C:\mongodb\bin\mongod.exe --service  --rest  --master  --logpath=C:\mongodb\log\mongolog.txt  --dbpath=C:\mongodb\data\db --config C:\mongodb\mongod.cfg
    

    DBPATH = C : 당신의 "mongod.cfg"파일에 다음 줄을 추가 \ : 당신이 직접하는 대신 C의 MongoDB의 디렉토리에 폴더이 ImagePath를 값과 "데이터"를 복사 할 경우주의 \ MongoDB를 \ 데이터 \ DB

    내가 이런 짓을하면 내가 "그물 정지 MongoDB를"을 실행할 때, 나는 메시지 "시스템 오류 109가 발생했습니다. 파이프가 종료되었습니다."GET 당신은뿐만 아니라 그것을 볼 수 있습니다. 이 메시지는 jira.mongodb.org에서 철저하게 논의되고있다.

    당신이 문제까지 전체 앞뒤로 토론, 태드 마샬 포스트 금액을 열람하는 시점까지의 기간을 저장하려면 :

    나중에 변화가 다시 부러하지만 그래, 당신은 현재 코드에서이 오류 메시지가, "... 그것은 2.1.0에서 잘 작동했다..

    설명은 mongod.exe이 때문에 "그물 정지 MongoDB를"이 휴식이 콜백 스레드를 만드는 데 사용되는 RPC 파이프에 우리를 호출 할 때 Windows 서비스 제어 관리자에 의해 생성 된 콜백 스레드에서 종료된다는 점이다. 우리는이 일을 방지하기 위해 우리의 출구 논리를 재구성 할 필요가있다.

    오류 메시지가이 문제의 유일한 효과; 우리는 명확하게, 명령에 종료, 우리가 중지되었는지 Windows 서비스 제어 관리자에 통보하지만 다음 "그물"명령은 우리가 RPC에서 반환하지 않았기 때문에 오류 메시지는 우리를 예상하는 방법을 문의하십시오. "

  4. ==============================

    4.나는이 명령을 실행 :

    나는이 명령을 실행 :

    C:\MongoDB\Server\3.4\bin>net start MongoDB
    

    그리고이 메시지를 받았습니다 :

    튜토리얼 다음 내 파일 mongod.conf 이름을달라고하지만 명령이 mongod.cfg를 참조하려고 할 때 약간의 시행 착오 후, 나는났습니다.

    마자 내가 그 이름과 수정으로 명령을 재 실행,

    C:\MongoDB\Server\3.4\bin>sc.exe delete MongoDB
    [SC] DeleteService SUCCESS
    
    C:\MongoDB\Server\3.4\bin>sc.exe create MongoDB binPath= "\"C:\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\MongoDB\Server\3.4\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
    [SC] CreateService SUCCESS
    
    C:\MongoDB\Server\3.4\bin>net start MongoDB
    The MongoDB service is starting....
    The MongoDB service was started successfully.
    

    이 서비스는 벌금을 실행하기 시작했다.

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

    5.다른 사람에게 누가 윈도우 서버 2012에서 동일한 문제가있을 수 있습니다 :

    다른 사람에게 누가 윈도우 서버 2012에서 동일한 문제가있을 수 있습니다 :

    난 그냥 그들이 Sc.exe를 위해 변경된 내용이 무엇인지 알 수 없도록 나 시스템 관리자 아니다 윈도우 서버 2012에 몽고 3.0.3와 같은 문제를 가지고있다. 나는 사용해야합니다

    sc.exe create MongoDB binPath= "C:\mongodb\bin\mongod.exe --service --config=C:\mongodb\mongod.cfg" DisplayName= "MongoDB" start= "auto"
    

    이것은 그들의 웹 사이트에 한에 비해 모두 바이너리와 설정 파일 경로에 대한 \ "\"없이.

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

    6.이 내가 창문에 MongoDB를 설치하기 위해 다음 단계입니다 (7)

    이 내가 창문에 MongoDB를 설치하기 위해 다음 단계입니다 (7)

    당신의 DB 폴더를 생성 한 폴더에 데이터를 3.Inside

    구조는 다음과 같을 것

  7. ==============================

    7.내 mongod.cfg 파일은 다음과 마지막 두 줄을했다 :

    내 mongod.cfg 파일은 다음과 마지막 두 줄을했다 :

    #snmp:
    mp:
    

    거기 : 나는 MP가 왜 아무 생각이 없습니다. 하지만 수동으로 이미지 경로를 실행하는 경우

    C:\mongodb\bin\mongod.exe --config "C:\mongodb\bin\mongod.cfg" --service
    

    ...에서

    Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MongoDB
    

    내가 가지고

    c:\mongodb\bin>mongod /?C:\mongodb\bin\mongod.exe --config "C:\mongodb\bin\mongod.cfg" --service
    Unrecognized option: mp
    try 'mongod --help' for more information
    

    그래서 나는 그것을 주석 다음 서비스는 아무 문제없이 시작했다.

  8. ==============================

    8.MongoDB를 3.0, 당신은 설정 파일에 다음을 설정해야합니다.

    MongoDB를 3.0, 당신은 설정 파일에 다음을 설정해야합니다.

    logpath=E:\mongoDBdata\log\mongoDB.log
    dbpath=E:\mongoDBdata\db
    

    를 logpath는 파일이 아닌 폴더로 끝나야합니다.

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

    9.당신의 mongod.cfg 파일이있는 탭이 있는지 확인하십시오. 제거 탭은 나를 위해 그것을 해결!

    당신의 mongod.cfg 파일이있는 탭이 있는지 확인하십시오. 제거 탭은 나를 위해 그것을 해결!

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

    10.MongoDB를의 3.6.0와 작품에 따라

    MongoDB를의 3.6.0와 작품에 따라

    이러한 폴더가 있는지 확인합니다 :

    모든 이러한 명령은 필요 :

  11. ==============================

    11.서비스를 실행하는 계정에 데이터 디렉토리에 쓰기 권한이없는 경우이 실패 할 수 있습니다 또 다른 방법이다.

    서비스를 실행하는 계정에 데이터 디렉토리에 쓰기 권한이없는 경우이 실패 할 수 있습니다 또 다른 방법이다.

    이 경우 서비스가 잠금 파일을 만들 수 없습니다.

    당신이 원하는 경우 빠른을 잡아 그래서 즉시 처리되지 않은 예외가 발생 충돌하는 프로세스를 시작, 루프에 mongod 서비스이 상황에서 제대로 다루지 못하는 및 이동 등 로그 파일, 프로세스가 시작될 때마다 다시 생성됩니다 오류를 볼 수 있습니다.

    윈도우 서비스에 대한 기본 사용자는 로컬 호스트 \ 시스템이 될 것입니다. 수정이 보장하는 것입니다, 그래서이 사용자는 db 디렉토리에 작성하거나 할 수있는 다른 사용자로 서비스를 시작할 수 있습니다.

  12. ==============================

    12.버전 2.6의 경우 적어도, 당신은 그 mongo.cfg 점에 / 데이터 / DB /과 / 로그 / 폴더를 만들어야합니다. MongoDB를 자체 그렇게하지 않으며, 서비스로 응답 할 때 달아 그 오류가 발생합니다.

    버전 2.6의 경우 적어도, 당신은 그 mongo.cfg 점에 / 데이터 / DB /과 / 로그 / 폴더를 만들어야합니다. MongoDB를 자체 그렇게하지 않으며, 서비스로 응답 할 때 달아 그 오류가 발생합니다.

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

    13.전체 mongod의 일을 입력하기 전에 마우스 오른쪽 버튼으로 클릭 권리 "관리자 권한으로 실행"명령 행을 열 수 있는지 확인

    전체 mongod의 일을 입력하기 전에 마우스 오른쪽 버튼으로 클릭 권리 "관리자 권한으로 실행"명령 행을 열 수 있는지 확인

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

    14.지출의 절반 디버그에 한 시간 후 ... 드디어 "휴식"속성 전에 하나의 대시가 있음을 발견했다.

    지출의 절반 디버그에 한 시간 후 ... 드디어 "휴식"속성 전에 하나의 대시가 있음을 발견했다.

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

    15.그냥 명령 줄에서 로컬 mongod.exe를 실행하려고하면, 여기에 예외가 mongod 호출을 그 그것을 해결하기 위해 시도 할 수 있습니다. 제 경우에는 그냥 디렉토리를 변경 Mongocofig 파일의 위치를 ​​변경할 수 있도록 지역의 디스크에 작은 여유 공간이었다 지금은 확인을 실행합니다.

    그냥 명령 줄에서 로컬 mongod.exe를 실행하려고하면, 여기에 예외가 mongod 호출을 그 그것을 해결하기 위해 시도 할 수 있습니다. 제 경우에는 그냥 디렉토리를 변경 Mongocofig 파일의 위치를 ​​변경할 수 있도록 지역의 디스크에 작은 여유 공간이었다 지금은 확인을 실행합니다.

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

    16.이 서비스의 세부 사항을 보면, 당신은 서비스를 시작하는 명령은 같은 것을 볼 수 있습니다 :

    이 서비스의 세부 사항을 보면, 당신은 서비스를 시작하는 명령은 같은 것을 볼 수 있습니다 :

    "C:\Program Files\MongoDB\bin\mongod" --config  C:\Program Files\MongoDB\mongod.cfg  --service 
    

    MongoDB의 팀은 "는 --config 옵션 주위에 추가하는 것을 잊었다. 그래서 그냥를 해결하기 위해 레지스트리를 편집하고 작동합니다.

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

    17.나는 윈도우 8.1에 같은 문제가 있었다

    나는 윈도우 8.1에 같은 문제가 있었다

    나를 위해 일한 솔루션은 올바르게 설정 파일 경로를 지정하는 것입니다

    HKEY_LOCAL_MACHINE> SYSTEM> CURRENTCONTROLSET> 서비스> MongoDB를>의 ImagePath 값에 다음과 같이되었다가는 :

    "C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe" --config mongod.cfg --service
    

    그럼 그냥 내 실제 경로와 일치하는 파일 경로를 config (설정) 수정 :

    "C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe" --config "d:\mongodb\mongod.cfg" --service
    
  18. ==============================

    18.서비스를 시작하기 전에 데이터베이스를 작성하는 것을 잊지 마십시오

    서비스를 시작하기 전에 데이터베이스를 작성하는 것을 잊지 마십시오

    C:\>"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe" --dbpath d:\MONGODB\DB
    2016-10-13T18:18:23.135+0200 I CONTROL  [main] Hotfix KB2731284 or later update is installed, no need to zero-out data files
    2016-10-13T18:18:23.147+0200 I CONTROL  [initandlisten] MongoDB starting : pid=4024 port=27017 dbpath=d:\MONGODB\DB 64-bit host=mongosvr
    2016-10-13T18:18:23.148+0200 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
    2016-10-13T18:18:23.149+0200 I CONTROL  [initandlisten] db version v3.2.8
    2016-10-13T18:18:23.149+0200 I CONTROL  [initandlisten] git version: ed70e33130c977bda0024c125b56d159573dbaf0
    2016-10-13T18:18:23.150+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
    2016-10-13T18:18:23.151+0200 I CONTROL  [initandlisten] allocator: tcmalloc
    2016-10-13T18:18:23.151+0200 I CONTROL  [initandlisten] modules: none
    2016-10-13T18:18:23.152+0200 I CONTROL  [initandlisten] build environment:
    2016-10-13T18:18:23.152+0200 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
    2016-10-13T18:18:23.153+0200 I CONTROL  [initandlisten]     distarch: x86_64
    2016-10-13T18:18:23.153+0200 I CONTROL  [initandlisten]     target_arch: x86_64
    2016-10-13T18:18:23.154+0200 I CONTROL  [initandlisten] options: { storage: { dbPath: "d:\MONGODB\DB" } }
    2016-10-13T18:18:23.166+0200 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=8G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
    2016-10-13T18:18:23.722+0200 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
    2016-10-13T18:18:23.723+0200 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'd:/MONGODB/DB/diagnostic.data'
    2016-10-13T18:18:23.895+0200 I NETWORK  [initandlisten] waiting for connections on port 27017
    

    그런 다음 공정 제어-C를 중지 할 수 있습니다

    2016-10-13T18:18:44.787+0200 I CONTROL  [thread1] Ctrl-C signal
    2016-10-13T18:18:44.788+0200 I CONTROL  [consoleTerminate] got CTRL_C_EVENT, will terminate after current cmd ends
    2016-10-13T18:18:44.789+0200 I FTDC     [consoleTerminate] Shutting down full-time diagnostic data capture
    2016-10-13T18:18:44.792+0200 I CONTROL  [consoleTerminate] now exiting
    2016-10-13T18:18:44.792+0200 I NETWORK  [consoleTerminate] shutdown: going to close listening sockets...
    2016-10-13T18:18:44.793+0200 I NETWORK  [consoleTerminate] closing listening socket: 380
    2016-10-13T18:18:44.793+0200 I NETWORK  [consoleTerminate] shutdown: going to flush diaglog...
    2016-10-13T18:18:44.793+0200 I NETWORK  [consoleTerminate] shutdown: going to close sockets...
    2016-10-13T18:18:44.795+0200 I STORAGE  [consoleTerminate] WiredTigerKVEngine shutting down
    2016-10-13T18:18:45.116+0200 I STORAGE  [consoleTerminate] shutdown: removing fs lock...
    2016-10-13T18:18:45.117+0200 I CONTROL  [consoleTerminate] dbexit:  rc: 12
    

    이제 데이터베이스가 준비하고 당신은 사용하여 서비스를 시작할 수 있습니다

    C:\>net start MongoDB
    The MongoDB service is starting.
    The MongoDB service was started successfully.
    
  19. ==============================

    19.MongoDB를의 프로세스 인스턴스가 이미 실행되고 있는지 확인합니다. 그렇다면,이 서비스는 C 때문에 시작되지 않습니다 : \ 데이터 \ DB \ mongod.lock이 사용됩니다.

    MongoDB를의 프로세스 인스턴스가 이미 실행되고 있는지 확인합니다. 그렇다면,이 서비스는 C 때문에 시작되지 않습니다 : \ 데이터 \ DB \ mongod.lock이 사용됩니다.

    그리고 서비스로 MongoDB를 시작하기 위해,이 파일은 모든 프로세스에 의해 사용되지하여야한다.

  20. ==============================

    20.나를 위해, 문제는 잘못된 디렉토리이었다. 당신이 올바른 워드 프로세서 페이지에서 지정한 디렉토리를 가정하여 파일 탐색기에서 디렉토리를 붙여하지 복사해야합니다.

    나를 위해, 문제는 잘못된 디렉토리이었다. 당신이 올바른 워드 프로세서 페이지에서 지정한 디렉토리를 가정하여 파일 탐색기에서 디렉토리를 붙여하지 복사해야합니다.

  21. ==============================

    21.당신은 오류가 발생하는 경우 :

    당신은 오류가 발생하는 경우 :

    net 시작하여 MongoDB를 실행할 때, 당신은 MongoDB를 커뮤니티 Editition에 대한 Windows 서비스를 만들기 수동의 4 단계에서 다음 명령을 실행해야합니다 :

    sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB\Server\3.4\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
    
  22. ==============================

    22.나는이 문제를 일으킨 구성 스타트 업 파일에 몇 가지 변화를 만들었다. 나는 "mongo.log"파일에서 보았을 때, 그것은 말했다

    나는이 문제를 일으킨 구성 스타트 업 파일에 몇 가지 변화를 만들었다. 나는 "mongo.log"파일에서 보았을 때, 그것은 말했다

    'wiredTiger'에 스토리지 엔진을 다시 재설정 나를 위해 문제를 해결. 이 다른 사람에게 도움이되기를 바랍니다.

  23. ==============================

    23.나는 MongoDB를 요구 블로그에 대한 자습서를 따라하기 시작했다. 그것은 다운로드 및 서비스를 구성하는 방법에 대한 지침을 가지고 있었다. 그러나 어떤 이유로 그 튜토리얼의 Windows 서비스를 시작하는 명령이 작동되지 않았습니다. 나는 MongoDB를 워드 프로세서에 가서 mongodb.org-에 나열된이 명령을 실행 시도 그래서

    나는 MongoDB를 요구 블로그에 대한 자습서를 따라하기 시작했다. 그것은 다운로드 및 서비스를 구성하는 방법에 대한 지침을 가지고 있었다. 그러나 어떤 이유로 그 튜토리얼의 Windows 서비스를 시작하는 명령이 작동되지 않았습니다. 나는 MongoDB를 워드 프로세서에 가서 mongodb.org-에 나열된이 명령을 실행 시도 그래서

    strting MongoDB를 서비스 -에 대한 명령 \ MongoDB를 \ 빈 \ mongod.exe \ "--service --config = \"C : \ MongoDB를 \ 빈 \ MongoDB를 \ mongod.cfg \ ""표시 이름 = "MongoDB를 Sc.exe를 MongoDB를 binPath ="\ "C를 만들 "자동"시작 = "

    [SC] CreateService에 성공 :이 메시지를 받았습니다

    그리고 나는이 일을 실행 : net 시작 MongoDB를

    그리고이 메시지를 받았습니다 :

    The service is not responding to the control function.
    
    More help is available by typing NET HELPMSG 2186.
    

    나는에서 'mongod.cfg'라는 이름의 파일 생성 'C를 : \ MongoDB를 \ 빈 \ MongoDB를 \' 최대한 빨리 해당 파일을 추가하고, - 명령 '순 시작하여 MongoDB를'재 - 실행으로, 서비스는 벌금을 실행하기 시작했다.

    도움이 되었기를 바랍니다.

  24. ==============================

    24.내 MongoDB의 데이터 파일이 어디에 글쎄, 내 경우, 내 드라이브에 디스크 공간 부족을 실행했다. 나는 다음과 같은 진술 MongoDB를 로그 파일을 확인

    내 MongoDB의 데이터 파일이 어디에 글쎄, 내 경우, 내 드라이브에 디스크 공간 부족을 실행했다. 나는 다음과 같은 진술 MongoDB를 로그 파일을 확인

    내가해야 할 일을했을 모두는 다시 .. 나를 위해 일한 서비스까지 일부 공간 화재까지 깨끗합니다. 모든 그래서 당신은에 그에 따라 문제를 당신의 로그 파일과 거래를 확인입니다 있습니다.

  25. from https://stackoverflow.com/questions/4661670/cannot-start-mongodb-as-a-service by cc-by-sa and MIT license