mongo db 3.2-> mongo db 3.4 migration 설명이다.
이미 wiredTiger 버전을 사용 중이라 큰 이슈가 없지만,
cenots 부분에서는 조금 mongo 3.4 부터 centos 6과 7 버전으로 나누어지지, 잘 유의해서 설치해야 한다.
(참고로 centos6 관점에서 mongdb 3.2는 70M인 반면, mongodb 3.4는 100M이다)
https://docs.mongodb.com/manual/administration/install-enterprise-linux/
새로 추가된 mongodb 3.4의 기능은 다음과 같다.
https://docs.mongodb.com/manual/release-notes/3.4/
slave에서 먼저 셧다운한다.
$ mongo
MongoDB shell version: 3.2.10
connecting to: test
replset:SECONDARY> use admin
switched to db admin
replset:SECONDARY> db.shutdownServer()
server should be down...
binary를 교체한다. 재시작하기 전에 /etc/mongodb.conf 설정 파일을 수정한다.
cd /usr/local
sudo wget ..mongodb-linux-x86_64-rhel62-3.4.1.tgz
sudo tar zxvf mongodb-linux-x86_64-rhel62-3.4.1.tgz
sudo rm mongodb-linux-x86_64-rhel62-3.4.1.tgz
sudo chown www:www mongodb-linux-x86_64-rhel62-3.4.1
sudo rm mongodb
sudo ln -sf mongodb-linux-x86_64-rhel62-3.4.1 mongodb
다음에 mongodb를 실행한다.
/usr/local/mongodb/bin/mongod -f /etc/mongod.conf
아래와 같은 문구가 mongo 경고가 발생하지만, 큰 문제 아니다. xfs를 써야 좋아진다거나 acl을 쓰라는 경고이다.
** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
** See http://dochub.mongodb.org/core/prodnotes-filesystem
** WARNING: Access control is not enabled for the database.
Read and write access to data and configuration is unrestricted.
mongo 3.4에서 다음 커맨드를 실행한다.
use admin
db.runCommand( { replSetGetStatus : 1 } )
레플리카 저오를 포함하는 optimes가 새로 추가되었다.
(https://docs.mongodb.com/manual/reference/command/replSetGetStatus/)
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1483325059, 2),
"t" : NumberLong(-1)
},
"appliedOpTime" : Timestamp(1483325059, 2),
"durableOpTime" : Timestamp(1483325059, 2)
},
동기화가 잘 완료되었는지 명확히 알기는 어렵지만, rs.status() 결과에 slave에 아래 heartbit 관련 필드가 포함되어 있다면 동기화가 완료된 것으로 생각하고 있다.(자세한 것은 소스보며 추후 살펴 볼 예정이다)
optimeDurableDate
lastHeartbeat
lastHeartbeatRecv
'mongodb' 카테고리의 다른 글
[mongodb] 레플리케이션 멤버 재설정하기 (0) | 2017.01.11 |
---|---|
[mongodb] grafana 모니터링 (0) | 2017.01.02 |
[mongodb] shell 클라이언트 (0) | 2016.12.30 |
[mongodb] 버전 업그레이드 3.2.0 -> 3.2.10 (0) | 2016.10.24 |
mongodb 3.2의 slave의 recovering 상태를 정상으로 복구시키기 (0) | 2016.10.21 |