创建具有安全验证的Replset cluster(复制集集群)
版本:mongodb 2.0.4
以下安装假设所有目录及文件已经存在
该集群为在三台机器上的三个节点,分别为:repl01.mongodb,repl02.mongodb,repl03.mongodb
所开端口号为:6666(偶开的端口不是6666就是8888)
假设mongodb的安装目录为$MONGO_HOME
在三台机器上都执行如下脚本:
$MONGO_HOME/bin/mongod –port 6666 –path /data/mongodb/data –logpath /opt/logs/repl-mongod.log –logappend –keyFile /data/mongodb/conf/replset-key –replSet my-replset –auth
然后选择其中一台机器,假设为repl01.mongodb,连上该机器
$MONGO_HOME/bin/mongo repl01.mongodb:6666/admin
添加一个有写权限的用户:
>db.addUser(“username”,”password”);
添加完了后会要求你认证才能进行后续操作,认证如下:
>db.auth(“username”,”password”);
认证通过后,开始设置复制集信息,首先需要将该节点初始化,初始化完了后该节点正常是作为主节点:
>rs.initiate({“_id”:”my-replset ”,members:[{"_id":0,"host":"repl01.mongodb:6666"}]})
注意:其中最外层的_id是你启动时指定的replSet的名字,members里面可以只指定自身,后面再添加其他参数,关于initiate的完整参数列表参考官方文档http://www.mongodb.org/display/DOCS/Replica+Sets
添加其他两个节点,注意,其他两个节点不需要再进行复制集初始化工作,添加节点时会自动进行:
PRIMARY>rs.add(“repl02.mongodb:6666″);
PRIMARY>rs.add(“repl03.mongodb:6666″);
至此,集群就启动完成了,连接该集群时需要有用户名和密码
关键点1:启动时加–keyFile参数,所有replset节点需要使用一份相同的keyFile,而且keyFile的权限必须为600(-wr——-)
关键点2:启动后,在主节点(primary)上的admin库上添加用户,切记第一个用户必须要有写的权限,否则就杯具了
关键点3:只需要在PRIMARY上添加用户和初始化集群,剩下的节点只管往集群里添加,会自动初始化及同步用户名和密码
浙公网安备 33010602011771号