mongodb副本集搭建-伪集群

groupadd mongod
useradd -g mongod mongod
tar zxvf mongodb-linux-x86_64-rhel70-4.2.24.tgz  -C /usr/local/
ln -s  /usr/local/mongodb-linux-x86_64-rhel70-4.2.24   /usr/local/mongodb
chown -R mongod:mongod /usr/local/mongodb/


添加mongodb命令到环境变量
echo "export PATH=$PATH:/usr/local/mongodb/bin">>/etc/profile 
source /etc/profile


mkdir  -p /data/mongo_repl/{data_01,data_02,data_03}


cat > /data/mongo_repl/mongo_01.key << EOF
5heBYl8onlA1pbkH5AWjgGmFDvB4QagyOc5R9q18cU6vuCm14L/31JlmqsdRY95I
Es8ZXRuVsJuae51RHR+Y3lsc4udWk6zVIOtTDgcREm5lHzDyJGZERFqdjLQMAGzd
T6gXNg==
EOF


cp  /data/mongo_repl/mongo_01.key     /data/mongo_repl/mongo_02.key
cp  /data/mongo_repl/mongo_01.key     /data/mongo_repl/mongo_03.key


 
cat >  /data/mongo_repl/mongo_01.cnf << EOF
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /data/mongo_repl/mongod_01.log

# Where and how to store data.
storage:
  dbPath: /data/mongo_repl/data_01
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /data/mongo_repl/mongod_01.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 20001
  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

#security:
#  authorization: enabled
#  keyFile: /data/mongo_repl/mongo_01.key

#operationProfiling:

#replication:
#  replSetName: rs
  
#sharding:

## Enterprise-Only Options

#auditLog:
EOF


cp  /data/mongo_repl/mongo_01.cnf    /data/mongo_repl/mongo_02.cnf
cp  /data/mongo_repl/mongo_01.cnf    /data/mongo_repl/mongo_03.cnf

sed -i  's/20001/20002/g'  /data/mongo_repl/mongo_02.cnf
sed -i  's/20001/20003/g'  /data/mongo_repl/mongo_03.cnf

sed -i  's/data_01/data_02/g'  /data/mongo_repl/mongo_02.cnf
sed -i  's/data_01/data_03/g'  /data/mongo_repl/mongo_03.cnf

sed -i  's/mongod_01/mongod_02/g'  /data/mongo_repl/mongo_02.cnf
sed -i  's/mongod_01/mongod_03/g'  /data/mongo_repl/mongo_03.cnf

sed -i  's/mongo_01/mongo_02/g'  /data/mongo_repl/mongo_02.cnf
sed -i  's/mongo_01/mongo_03/g'  /data/mongo_repl/mongo_03.cnf


# 修改用户组权限
chown mongod:mongod /data/mongo_repl  -R 
chmod 600 /data/mongo_repl/mongo_01.key 
chmod 600 /data/mongo_repl/mongo_02.key
chmod 600 /data/mongo_repl/mongo_03.key


启动mongo程序
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_01.cnf
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_02.cnf
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_03.cnf

 
# 登录 mongo
mongo --host 127.0.0.1 --port 20001 admin


添加超级管理员账号
use admin;
db.createUser({user:"root",pwd:"mima123456",roles:[{role:"root",db:"admin"}]})


配置文件中添加 security 参数重启mongodb
security:
  authorization: enabled
  keyFile: /data/mongo_repl/mongo_01.key

  
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_01.cnf --shutdown 
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_02.cnf --shutdown 
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_03.cnf --shutdown 


/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_01.cnf  --replSet=rs
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_02.cnf  --replSet=rs
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_03.cnf  --replSet=rs


# 初始化复制集
mongo 127.0.0.1:20001 -uroot -p"mima123456" --authenticationDatabase=admin


config = {"_id":"rs",
          "members":[
          {"_id":0,host:"127.0.0.1:20001"},
          {"_id":1,host:"127.0.0.1:20002"},
          {"_id":2,host:"127.0.0.1:20003"}
          ]
}

rs.initiate(config)


# 查看复制集状态
rs.status()


配置文件中添加replication 参数
replication:
  replSetName: rs

  
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_01.cnf --shutdown 
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_02.cnf --shutdown 
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_03.cnf --shutdown 

/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_01.cnf
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_02.cnf
/usr/local/mongodb/bin/mongod --config   /data/mongo_repl/mongo_03.cnf

 

posted @ 2025-06-17 00:13  屠魔的少年  阅读(10)  评论(0)    收藏  举报