Mongo 서비스 재 부팅 이상 문제 처리 방법

문제점 을 발견 하 다
현재 회사 의 서버 는 자주 정전 되 기 때문에 모든 서 비 스 를 자주 재 개 해 야 합 니 다.그러나 이러한 redis,my sql,mongo 등 서비스 에서 mongo 는 재 부팅 에 실패 하 는 경우 가 자주 발생 합 니 다.이전의 경험 과 인터넷 에 올 라 온 게시 물의 정보 에 따라 정 리 를 기록 합 니 다.
먼저,여기 설 치 된 서 비 스 는 모두 yum 또는 apt 를 통 해 설치 되 었 습 니 다.이것 은 제 가 추천 하고 사용 해 온 작업 입 니 다.이렇게 설치 가 깔끔 하고 어떤 유형의 파일 을 어느 디 렉 터 리 에 넣 어야 하 는 지(예 를 들 어/var/log/xxx/xxx.log)
오 류 를 보고 하 는 주요 문 제 는 다음 과 같다.

[root@localhost mongo]# systemctl status mongod
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since   2021-06-28 14:32:51 CST; 6s ago
     Docs: https://docs.mongodb.org/manual
  Process: 3351 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=1/FAILURE)
  Process: 3348 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 3345 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 3343 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

6  28 14:32:51 localhost systemd[1]: Starting MongoDB Database Server...
6  28 14:32:51 localhost mongod[3351]: about to fork child process, waiting until server is ready for connections.
6  28 14:32:51 localhost mongod[3351]: forked process: 3354
6  28 14:32:51 localhost mongod[3351]: ERROR: child process failed, exited with 1
6  28 14:32:51 localhost mongod[3351]: To see additional information in this output, start without the "--fork" option.
6  28 14:32:51 localhost systemd[1]: mongod.service: control process exited, code=exited status=1
6  28 14:32:51 localhost systemd[1]: Failed to start MongoDB Database Server.
6  28 14:32:51 localhost systemd[1]: Unit mongod.service entered failed state.
6  28 14:32:51 localhost systemd[1]: mongod.service failed.

이상 한 발생 을 보고 효과 적 인 정 보 를 얻 을 수 없습니다.로 그 를 먼저 보 세 요.로그 파일 에서 유용 한 정 보 를 볼 수 있 습 니 다.
처리 절차:
Mongo 에서 제공 하 는 복구 도 구 를 사용 하여 명령 을 실행 합 니 다.

mongod --repair -f /etc/mongod.conf
여기 서 설명 하 자 면,어떤 게시 물 은 첫 번 째 단 계 를 실행 한 후에 시작 명령 을 실행 합 니 다(아래 와 같 습 니 다:).그 중에서 새로운 dbpath 와 logpath 인 자 를 가지 고 있 으 면 일어 날 수 있 지만,데 이 터 를 잃 어 버 렸 습 니 다.그리고 매번 새로운 디 렉 터 리 를 가리 키 는 것 은 아 닙 니 다.

mongod --port 27017 --dbpath /data/db  --logpath /var/log/mongod.log --fork
mongo 의 dbpath 디 렉 터 리(기본 값:/var/lib/mongodb)에 mongod.lock 파일 이 존재 하 는 지 확인 하고 있 으 면 삭제 합 니 다.
dbpath 디 렉 터 리(기본 값:/var/lib/mongodb),로그 디 렉 터 리(기본 값:/var/lib/mongo)권한 을 검사 합 니 다.mongod.mongod 가 조작 권한 을 가지 고 있 는 지 여부 입 니 다.없 으 면 mongod.mongod 에 권한 을 부여 합 니 다.

chown -Rc mongod. /var/log/mongodb

chown -Rc mongod. /var/lib/mongo

이상 의 절차 가 완료 되면 mongodb 서 비 스 를 다시 시작 할 수 있 습 니 다.
총결산
여기에 Mongo 서비스 재 개 이상 문제 처리 에 관 한 글 이 소개 되 었 습 니 다.더 많은 관련 Mongo 서비스 재 개 이상 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기