MongoDB 大型分片副本集群部署脚本方案需要部署多个分片配置服务以及 mongos。有什么方案可以通过配置服务器主机通过脚本一键部署
以下是一个基本的 MongoDB 大型分片副本集群部署脚本方案,可以通过配置服务器主机通过脚本一键部署:
- 安装 MongoDB
在所有服务器节点上安装 MongoDB,可以使用以下命令:
sudo apt-get update
sudo apt-get install mongodb
- 配置 MongoDB
在每个服务器节点上创建一个 MongoDB 配置文件,比如 mongod.conf,然后在该文件中添加以下内容:
# 数据库路径
dbpath=/var/lib/mongodb
# 端口号
port=27017
# 日志路径
logpath=/var/log/mongodb/mongod.log
# 日志级别
loglevel=3
# 后台运行
fork=true
- 创建分片
在每个服务器节点上创建 MongoDB 分片,可以使用以下命令:
mongod --config /etc/mongod.conf --shardsvr --replSet <replica-set-name>
其中 <replica-set-name> 是分片的副本集名称。
- 创建副本集
在每个分片节点上创建 MongoDB 副本集,可以使用以下命令:
mongod --config /etc/mongod.conf --replSet <replica-set-name>
其中 <replica-set-name> 是副本集名称。
- 初始化副本集
在一个副本集节点上初始化副本集,可以使用以下命令:
mongo --eval "rs.initiate()"
- 添加分片
在副本集节点上添加分片,可以使用以下命令:
mongo --eval "rs.add('<shard-hostname>:<shard-port>')"
其中 <shard-hostname> 是分片节点的主机名,<shard-port> 是分片节点的端口号。
- 启动 mongos
在一个 mongos 节点上启动 mongos,可以使用以下命令:
mongos --configdb <configdb-host1>:<configdb-port1>,<configdb-host2>:<configdb-port2>,<configdb-host3>:<configdb-port3> --port 27017
其中 <configdb-host1>:<configdb-port1>,<configdb-host2>:<configdb-port2>,<configdb-host3>:<configdb-port3> 是配置服务器的主机名和端口号列表。
- 添加分片到 mongos
在 mongos 节点上添加分片,可以使用以下命令:
mongo --eval "sh.addShard('<replica-set-name>/<shard-hostname>:<shard-port>')"
其中 <replica-set-name> 是分片的副本集名称,<shard-hostname> 是分片节点的主机名,<shard-port> 是分片节点的端口号。
- 配置 MongoDB 用户
在 mongos 节点上配置 MongoDB 用户,可以使用以下命令:
mongo --eval "use admin; db.createUser({ user: '<username>', pwd: '<password>', roles: [ { role: 'root', db: 'admin' } ] })"
其中 <username> 是用户名,<password> 是密码。
- 完成部署
完成以上步骤后,MongoDB 大型分片副本集群部署就完成了。可以通过 mongos 节点上的 MongoDB 用户进行操作
原文地址: http://www.cveoy.top/t/topic/dhb1 著作权归作者所有。请勿转载和采集!