> php教程 > php手册 > 본문

Mongodbn 클러스터 복제 세트

WBOY
풀어 주다: 2016-10-10 11:39:30
원래의
1146명이 탐색했습니다.

저는 초보자이고 제 필요에 따라 주문했습니다. 이것은 또한 mognodb 클러스터 작업이 처음이기도 합니다. 사랑하는 신들이시여, 불평하지 마십시오. 글이 좀 지저분합니다. 먼저 살펴보겠습니다
1. mongodb.conf 파일 생성 및 구성:
vi /etc/mongodb.conf (다음 내용 입력)

fork=true # 데몬 프로세스로 실행하고 서버 프로세스 생성
logpath=/alidata/webroot/logs/work.log #로그 출력 파일 경로
logappend=true #로그 출력 방법
dbpath=/data/db #데이터베이스 경로
replSet=firstdb #리치셋 이름 설정

그런 다음 mongodb의 bin 디렉터리로 이동하여 다음 명령을 실행합니다.
참고: 먼저 mongod 프로세스를 종료한 후 다음 명령을 사용하세요.
./mongod -f /etc/mongodb.conf (시작) 참고: etc/rc.lcoal도 이 mongod -f /etc/mongodb.conf
로 변경되어야 합니다.
bin 디렉토리에 들어가서 ./mongo를 실행한 후 show dbs를 실행하면 문제가 발생합니다: liasdatabase

이 문제가 발생하는 경우는 초기화 때문입니다.
먼저 mongodb를 종료하는 명령을 사용해 보세요.
./mongod --dbpath=/alidata/approot/mongodb/mongodb-linux-x86_64-3.2.7/data/db/ --shutdown

구성 파일에 다음 구성을 추가합니다.

저널 = 사실
oplogSize = 4096
그런 다음 mongodb의 bin 디렉터리에서 실행합니다: ./mongod -f /etc/mongodb.conf
시동 성공 여부 확인: 시동에 성공하면 mongodb의 bin 디렉토리에 들어가세요
명령 실행: ./mongo
그런 다음: rs.initiate(
{
_id: "rs0",
버전: 1,
회원: [
{ _id: 0, 호스트: "ip:27017", 우선순위: 30},
{ _id: 1, 호스트: "ip:27017", 우선순위: 20 },
{ _id: 2, 호스트: "ip:27017", 우선순위: 10 }
]
}
)

그런 다음 rs.ststus() 명령을 사용하여
를 확인하세요. {
"info": "세트에 대해 아직 완료되지 않은 경우 rs.initiate(...)를 실행합니다.",
"알았어" : 0,
"errmsg": "replset 구성이 수신되지 않았습니다",
"코드": 94
}
이렇게 표시된다면 나머지 두 개가 데이터를 썼다는 의미입니다:
두 슬레이브 중지: 데이터를 지우거나 폴더를 변경하세요
mv db db.bak
mkdir DB
chmod -R 777db
그럼 시작하세요
위 명령을 다시 실행하십시오: rs.initiate(
{
_id: "rs0",
버전: 1,
회원: [
{ _id: 0, 호스트: "ip:27017", 우선순위: 30},
{ _id: 1, 호스트: "ip:27017", 우선순위: 20 },
{ _id: 2, 호스트: "ip:27017", 우선순위: 10 }
]
}
)
그런 다음 rs.status()
명령을 사용하십시오. 그런 다음 슬레이브 노드의 로그 로그를 확인하세요
그런 다음 top 명령을 사용하여 로드를 확인합니다
그런 다음 슬레이브 노드에서 동기화 프로세스를 확인하십시오. 프로세스를 보려면 로그 디렉터리에 들어가 다음 명령을 실행해야 합니다.
다음 명령을 사용하세요: tail -f work.log
그런 다음 마스터 노드로 이동하여 다음 명령을 사용합니다. test
사용 그런 다음 다음 명령을 사용하십시오: find image_weibo.files.find()
데이터가 있으면 mongo 노드에서 다음 명령을 실행합니다.
rs.slaveOk()
두 슬레이브 노드 모두 다음 명령을 실행해야 합니다:
그런 다음 use test
명령을 사용하세요. 그런 다음 db.image_weibo.files.find() 명령을 사용하여 데이터가 있는지 확인합니다. 데이터가 있으면 동기화가 성공한 것입니다!
그런 다음 기본 노드에 데이터 테스트를 삽입합니다.
db.image_weibo.insert({제목: 'MongoDB 튜토리얼',
설명: 'MongoDB는 Nosql 데이터베이스입니다',
작성자: 'xx11',
URL: 'http://www.baidu.com',
태그: ['mongodb', '데이터베이스', 'NoSQL'],
좋아요: 100
})

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!