如何使用单个shell脚本使用多个/三个节点/服务器/机器创建MongoDB集群


  1. 如何从单个远程/本地终端启动3配置服务器
  2. 如何升级碎片服务器
  3. 如何将多台机器添加到shard集群
  4. 如何在多节点群集中创建复制副本集

这里需要一个终端来升级碎片服务器

1.每个碎片的脚本-

在每个碎片上,你都会有一个包含的脚本cluster.sh

/mongodb-linux-x86_64-2.6.6/bin/mongod --replSet <shard name> --logpath <logpath of replicaset> --dbpath --port <port no> --shardsvr

这应该为该碎片中的每个副本集执行

那么使用脚本中提到的端口u连接到mongo客户端以启动shard服务器。

config = { _id: <shard name>, members:[
{ _id : 0, host : <ip of the shard : its port no.> }]

通过命令在此处添加所有副本集

rs.initiate(config)

2.每个配置服务器的脚本(cfgserver.sh)

在每台将成为配置服务器的机器上

您将有一个脚本来启动配置服务器

/root/mongodb-linux-x86_64-2.6.6/bin/mongod --logpath <path to store config logs> --dbpath <path to store config data> --port <port no>  --configsvr

3.在终端中编写脚本来备份每个碎片和配置服务器

对于每个碎片或集群

ssh 10.x.x.x 'sh /mongodb-linux-x86_64-2.6.6/bin/cluster.sh'

对于每个配置服务器

ssh 10.x.x.x 'sh /mongodb-linux-x86_64-2.6.6/bin/cfgserver.sh'

之后,所有集群都将具有所需数量的副本集所有配置服务器也将运行。

我们所剩下的就是将碎片添加到这个环境中

所以它将以以下方式完成

启动mongo客户端并为您想要添加的每个碎片激发此命令

db.adminCommand( { addShard : "<name of the shard>/"+"ip of that shard:port number" } );

碎片的名称将与我们在脚本中为每个碎片定义的名称相同,即cluster.sh

最新更新