mongodb复制集部署命令笔记

#mongod.conf文件内容

net:
  port: 27000
  bindIpAll: true

security:
  keyFile: /data/configdb/keyFile
# authorization: enabled


#replication:
#   replSetName: rs


#storage:
#  wiredTiger:
#    engineConfig:
#      cacheSizeGB: 0.2

#复制集开启安全认证,keyFile可以使用以下命令生成

openssl rand -base64 128 > /app/keyFile


#keyFile权限必须是600

chmod 600 /app/keyFile

 

#keyFile文件内容

hpdJhSX1QTZPTWfLKVgvFhqSQyTP4aRRsP8fial42htUu0H7lmYuddYGDxlBYhoh
GS49jLZI1HskRxJ3CbD9Qz7FEzns0Zfm9DOFewHDbJWgrq9HZtIZDOslE0P7obLj
kQKE+C7WBavI6BqPdqR1zvk/XbvYQS+j2SIFlNhuVR0=

#复制keyFile到所有参与集群的主机的配置挂载目录下(例如:/app/mongodb44-0/configdb),并配置mongod.conf配置文件中的keyFile属性

security:
  keyFile: /data/configdb/keyFile


#创建MongoDB-0文件目录

mkdir -p /app/mongodb44-0/db
mkdir -p /app/mongodb44-0/configdb
chmod -R 777 /app/mongodb44-0/db
chmod -R 777 /app/mongodb44-0/configdb


#安装MongoDB-0

docker run -d \
--network host \
--restart=always \
-v /app/mongodb44-0/db:/data/db \
-v /app/mongodb44-0/configdb:/data/configdb \
-v /etc/localtime:/etc/localtime:ro \
--name mongodb44-0 mongo:4.4 mongod -f /data/configdb/mongod.conf

#进入MongoDB-0容器

docker exec -it mongodb44-0 /bin/bash


#登录MongoDB-0

mongo --port 27000


#切换到admin库

use admin

#MongoDB-0创建超级管理员命令

db.createUser(
   {
     user: "admin",
     pwd: "123456",
     roles: [ { role: "root", db: "admin" } ]
   }
);

#进行登录认证

db.auth('admin','123456')


#MongoDB-0初始化复制集(这一步必须先完成其他节点的启动,并开启配置文件中的replication配置)
#其中priority属性表示选为主节点的优先级

#arbiterOnly: true 表示该节点只作为仲裁节点

#priority: 100 表示该节点作为master的权重

rs.initiate(
  {
    _id: "rs",
    members: [
      { _id : 0, host : "192.168.1.9:27000", priority: 100 },
      { _id : 1, host : "192.168.1.9:27001", priority: 50 },
      { _id : 2, host : "192.168.1.9:27002", arbiterOnly: true}
    ]
  }
)

 

#如果需要重新配置,使用下面的命令

rs.reconfig({
    _id: "rs",
    members: [
      { _id : 0, host : "192.168.1.9:27000", priority: 100 },
      { _id : 1, host : "192.168.1.9:27001", priority: 50 },
      { _id : 2, host : "192.168.1.9:27002", arbiterOnly: true}
    ]
  })


#创建MongoDB-1文件目录

mkdir -p /app/mongodb44-1/db
mkdir -p /app/mongodb44-1/configdb
chmod -R 777 /app/mongodb44-1/db
chmod -R 777 /app/mongodb44-1/configdb
docker run -d \
--network host \
--restart=always \
-v /app/mongodb44-1/db:/data/db \
-v /app/mongodb44-1/configdb:/data/configdb \
-v /etc/localtime:/etc/localtime:ro \
--name mongodb44-1 mongo:4.4 mongod -f /data/configdb/mongod.conf
chmod -R 777 /app/mongodb44-1/configdb


#安装MongoDB-1 
#创建MongoDB-2文件目录

mkdir -p /app/mongodb44-2/db
mkdir -p /app/mongodb44-2/configdb
chmod -R 777 /app/mongodb44-2/db
chmod -R 777 /app/mongodb44-2/configdb


#安装MongoDB-2 

docker run -d \
--network host \
--restart=always \
-v /app/mongodb44-2/db:/data/db \
-v /app/mongodb44-2/configdb:/data/configdb \
-v /etc/localtime:/etc/localtime:ro \
--name mongodb44-2 mongo:4.4 mongod -f /data/configdb/mongod.conf

#新增单个节点操作

rs.add({host:"192.168.1.123:27003",arbiterOnly:true})

#删除单个节点操作

rs.remove('ip:port') 

#如果报错,可以尝试强行覆盖 

rs.reconfig(config,{force,true})

#后记----->


#MongoDB启动log提示相关警告,可以执行以下语句

sudo echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
sudo echo "never" >  /sys/kernel/mm/transparent_hugepage/defrag

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值