1.提前准备好mongodb-linux-x86_64-rhel70-5.0.7.tgz
3台机器
tar -xf mongodb-linux-x86_64-rhel70-5.0.7.tgz mv mongodb-linux-x86_64-rhel70-5.0.7.tgz /data/mongodb_5.0.7 cd /data/mongodb_5.0.7 mkdir {data,logs,keyfile} vim config.conf 填入以下 dbpath=/data/mongodb_5.0.7/data #数据位置 bind_ip=0.0.0.0 #地址IP port=27017 #端口 fork=true #守护进程启动 logpath=/data/mongodb_5.0.7/logs/server.log #指定日志文件 maxConns=20000 replSet = repset #指定副本集名称 enableMajorityReadConcern = true #开启副本集设置 #keyFile = /data/mongodb_5.0.7/keyfile/mongodb.key #指定keyfile验证文件目录 #auth = true #开启验证 # 上面这两项后面要用到 先注释掉 然后启动mongodb ./bin/mongodb -f ./config.conf 出现下文为成功 about to fork child process, waiting until server is ready for connections. forked process: 119428 child process started successfully, parent exiting #依次将配置文件改好后发送给其他两个节点 并且启动 其中一台节点进入mongodb 并操作以下命令 ./mongodb 输入指令生成副本集配置: config = {_id: ‘副本集名称’, members: [{_id:0, host:‘127.0.0.1:27017’},{_id:1, host:‘127.0.0.1:27018’},{_id: 2, host:‘127.0.0.1:27019’}]} #IP端口以及中文逗号自行改成自己实际的地址 #回车后出现以下信息代表成功 { “_id” : “副本集名称”, “members” : [ { “_id” : 0, “host” : “192.168.73.29:27017” }, { “_id” : 1, “host” : “192.168.73.29:27018” }, { “_id” : 2, “host” : “192.168.73.29:27019” } ] } #加载副本集配置 会出现OK rs.initiate(config) rs.config() 可查看副本集配置信息 rs.status() 可查看副本集状态 #创建管理员账号: 创建了一个用户名和密码 并且 加入了最大的admin权限 use admin db.createUser({user:“用户名”,pwd:“密码”,roles:[{role:"__system", db:“admin”}]}) #完成后按Ctrl+c退出控制台 #创建keyfile文件:openssl rand -base64 90 -out /data/mongodb_5.0.7/keyfile/mongodb.key #输入指令:chmod 600 /data/mongodb_5.0.7/keyfile/mongodb.key #如果不修改文件的权限的话会报错keyfile文件权限过于开放 #生成完keyfile文件后需要scp到其他两个节点 #以下命令3个节点都操作 #停止mongdb 服务 ./mongod --shutdown --dbpath /data/mongodb_5.0.7/data/ vim config.conf #编写配置文件 取消掉注释的最后两行即可 然后重新启动mongodb ./bin/mongod -f ./config.conf ./bin/mongo --username 账号 --password 密码 --authenticationDatabase admin #即可成功开启mongdb 1主2从 副本集 keyfile
参考文档: