mongodb-集群一主两从部署
2022-09-18 本文已影响0人
李哈哈_2c85
1、一主两从和一主一从一仲裁区别
仲裁节点不存储数据,只参与选举主节点;其他的一样;
mongo版本下载地址:https://www.mongodb.com/try/download/community
1、下载-解压mongodb包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.9.tgz
tar -zxvf mongodb-linux-x86_64-2.6.9.tgz
mv mongodb-linux-x86_64-2.6.9 /data/mongodb
mkdir -p /data/mongodb/{data,logs,conf}
2、创建配置文件--启动服务
#创建配置文件
cat <<EOF >/data/mongodb/conf/mongod.conf
port=27017
bind_ip=0.0.0.0
dbpath=/data/mongodb/data/
logpath=/data/mongodb/logs/mongod.log
#日志追加记录
logappend=true
#后台启动
fork=true
#最大连接数
maxConns=5000
#集群名称
replSet=rs0
#集群认证key文件,权限600,做集群前先注释
keyFile = /data/mongodb/conf/mongokey
#开启认证登录、做集群前先注释
#auth=true
EOF
#启动服务
/data/mongodb/bin/mongod -f /data/mongodb/conf/mongod.conf
3、集群创建(主节点执行)
#生成key-(拷贝至其他两个节点指定目录、权限必须修改为600,否则启动报错)--用于控制集群节点的加入
openssl rand -base64 741 > /data/mongodb/conf/mongokey
chmod 600 /data/mongodb/conf/mongokey
#主节点执行创建集群命令--创建root用户--修改配置文件认证--重启服务器(我用了两个节点,3个节点就多加一个ip)
echo 'cfg={_id:"rs0",members:[{_id:0,host:"192.168.5.19:27017"},{_id:1,host:"192.168.10.65:27017"},]}; rs.initiate(cfg);' |/data/mongodb/bin/mongo
echo 'db.createUser({user:"root",pwd:"system@123",roles: [ { role:"root", db:"admin"} ]})'|/data/mongodb/bin/mongo admin
sed -i s/#auth/auth/g /data/mongodb/conf/mongod.conf
echo 'db.shutdownServer()'| /data/mongodb/bin/mongo -uroot -psystem@123 --authenticationDatabase admin admin
/data/mongodb/bin/mongod -f /data/mongodb/conf/mongod.conf
4、从节点执行开启认证和重启服务
#其他节点执行注释auth--重新启动mongo
sed -i s/#auth/auth/g /data/mongodb/conf/mongod.conf
ps -ef |grep mongod | awk '{print $2}' |xargs kill -9
/data/mongodb/bin/mongod -f /data/mongodb/conf/mongod.conf