首页 > mongo > mongodb复制集搭建(把专业知识生活化)
2017
01-04

mongodb复制集搭建(把专业知识生活化)

  对于一个正在成长的mysql DBA来说,在刚刚开始接触mongodb时,对于复制集,分片的概念太模糊了。于是从网上查看了一些资料,和相关mongodb的书籍,有了个大概的轮廓的了解。我更喜欢把专业知识生活化,对于mongodb的复制集,我们的必须品就是data,log,key!对于key来说,从英语上来解释就是钥匙,复制集好比一个大家庭,里面的所有家庭成员要想进入这个大家庭,都需要相同的一把钥匙。所以,我们的keyfile文件内容是一样的,感觉这样就能很好地理解这些生僻的概念了。家庭大了,事情也多,所以还有很多问题需要解决呢。我们的故事才刚刚开始~~~~

1、初始化环境     

  1. useradd mongo
  2. mkdir -p /opt/srv/mongodb/data
  3. mkdir -p /opt/srv/mongodb/log
  4. mkdir -p /opt/srv/mongodb/key
  5. chown mongo.mongo /opt/srv/*
  6. su - mongo
  7. mkdir -p /opt/srv/mongodb/data/a1
  8. mkdir -p /opt/srv/mongodb/data/a2
  9. mkdir -p /opt/srv/mongodb/data/a3

 2、 生成keyfile

  1. echo "sumongodb is the best blog" > /opt/srv/mongodb/key/b1
  2. echo "sumongodb is the best blog" > /opt/srv/mongodb/key/b2
  3. echo "sumongodb is the best blog" > /opt/srv/mongodb/key/b3
  4. chmod 600 /opt/srv/mongodb*

 3、启动mongo

  1. 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
  2. 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
  3. 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、初始化

  1.   mongo --port 20011
  2. > 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'}]}
  3. > rs.initiate(config)
  4. > rs.status()
作者:mongo中国
mongo中国

本文》有 4739 条评论

留下一个回复