mongodb复制集搭建(把专业知识生活化)
对于一个正在成长的mysql DBA来说,在刚刚开始接触mongodb时,对于复制集,分片的概念太模糊了。于是从网上查看了一些资料,和相关mongodb的书籍,有了个大概的轮廓的了解。我更喜欢把专业知识生活化,对于mongodb的复制集,我们的必须品就是data,log,key!对于key来说,从英语上来解释就是钥匙,复制集好比一个大家庭,里面的所有家庭成员要想进入这个大家庭,都需要相同的一把钥匙。所以,我们的keyfile文件内容是一样的,感觉这样就能很好地理解这些生僻的概念了。家庭大了,事情也多,所以还有很多问题需要解决呢。我们的故事才刚刚开始~~~~1、初始化环境
[*]useradd mongo
[*]mkdir -p /opt/srv/mongodb/data
[*]mkdir -p /opt/srv/mongodb/log
[*]mkdir -p /opt/srv/mongodb/key
[*]chown mongo.mongo /opt/srv/*
[*]su - mongo
[*]mkdir -p /opt/srv/mongodb/data/a1
[*]mkdir -p /opt/srv/mongodb/data/a2
[*]mkdir -p /opt/srv/mongodb/data/a3
2、 生成keyfile
[*]echo "sumongodb is the best blog" > /opt/srv/mongodb/key/b1
[*]echo "sumongodb is the best blog" > /opt/srv/mongodb/key/b2
[*]echo "sumongodb is the best blog" > /opt/srv/mongodb/key/b3
[*]chmod 600 /opt/srv/mongodb*
3、启动mongo
[*]mongod --replSet sumongodb --keyFile /opt/srv/mongodb/key/b1 --port 20011 --dbpath /opt/srv/mongodb/data/a1--logpath /opt/srv/mongodb/log/a1.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
[*]mongod --replSet sumongodb --keyFile /opt/srv/mongodb/key/b2 --port 20012 --dbpath /opt/srv/mongodb/data/a2--logpath /opt/srv/mongodb/log/a2.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
[*]mongod --replSet sumongodb --keyFile /opt/srv/mongodb/key/b3 --port 20013 --dbpath /opt/srv/mongodb/data/a3--logpath /opt/srv/mongodb/log/a3.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
4、初始化
[*]mongo --port 20011
[*]> config = {_id: 'sumongodb', members: [{_id: 0, host: '127.0.0.1:20011'},{_id: 1, host: '127.0.0.1:20012'},{_id: 2, host:'127.0.0.1:20013'}]}
[*]> rs.initiate(config)
[*]> rs.status()
页:
[1]