在 Azure 虚拟机上快速搭建 MongoDB 集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 Azure 虚拟机上快速搭建 MongoDB 集群相关的知识,希望对你有一定的参考价值。

MongoDB 是目前在 NoSQL 市场上非常受欢迎的一个数据库,本文介绍如何使用 Azure PowerShell 和 Azure CLI 在 Azure 虚拟机上搭建单节点 MongoDB(测试使用)和包含主从复制以及分片集群的多节点 MongoDB(生产环境使用)。

 

准备步骤

  • 如果你选择 Azure PowerShell 方式搭建 MongoDB,那么请按如何安装和配置 Azure PowerShell中的说明在本地计算机上安装 Azure PowerShell。然后打开 Azure PowerShell 命令提示符,通过运行以下命令并遵循提示进行 Azure 帐户的交互式登录体验,来使用工作或学校 ID 登录

    Login-AzureRmAccount -EnvironmentName AzureChinaCloud
    

    然后你需要创建一个 Azure 资源组( Resource Group ),创建 Azure 虚拟机和搭建 MongoDB 都在该资源组中进行,运行以下命令创建 Azure 资源组:

    New-AzureRmResourceGroup -Name "YOUR-RESOURCE-GROUP-NAME" -Location "China East"
    

     

  • 如果你选择 Azure CLI 方式搭建 MongoDB,那么请安装 Azure CLI。然后请确保你是处于资源管理器模式下,可通过运行以下命令来验证:

    azure config mode arm
    

    现在,通过运行以下命令并遵循提示进行 Azure 帐户的交互式登录体验,来使用工作或学校 ID 登录

    azure login -e AzureChinaCloud -u <your account>
    

    然后你需要创建一个 Azure 资源组( Resource Group ),创建 Azure 虚拟机和搭建 MongoDB 都在该资源组中进行,运行以下命令创建 Azure 资源组:

    azure group create "YOUR-RESOURCE-GROUP-NAME" "China East"
    

 

开始动手

Warning

需要以管理员权限运行 PowerShell,使用之前需运行如下命令:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

 

1.在Azure虚拟机上搭建单节点 MongoDB

默认情况下,以下脚本将创建1台 CentOS 虚机,构成一个单节点 MongoDB。 以下将主要介绍 Azure PowerShell 方式
你需要下载 PowerShell 脚本 mongodb-singlenode-deploy.ps1,按照以下示例运行 mongodb-install-centos.ps1 脚本,即可在资源组 rg1 中生成一台 CentOS 虚拟机,接着会在该虚机上安装单节点 MongoDB。

PS C:\\mongodb> .\\mongodb-singlenode-deploy.ps1 -ResourceGroupName rg1 -AdminUserName azureuser -AdminPassword “YOUR-PASSWORD”  -CentosVersion 6.5 -VmName mongodbserver

创建过程大概需要6分钟,运行成功后会出现如下提示:

Deploy MongoDB on VM mongodb11 (CentOS 6.5) in China North successfully.
    To connect using the mongo shell:
    % mongo mongodbserver.chinanorth.cloudapp.chinacloudapi.cn:27017/test

 

2. 在Azure虚拟机上搭建包含主从复制节点的 MongoDB

默认情况下,以下脚本将创建3台 CentOS 虚机,组成一个 MongoDB 复制集,该复制集将包含一个 Pirmary 节点和2个 Secondary 节点,架构如下图所示:

技术分享

 

Azure PowerShell 方式

你需要下载 PowerShell 脚本 mongodb-replica-set-deploy.ps1,按照以下示例运行 mongodb-replica-set-deploy.ps1 脚本,即可在资源组 rg1 中生成多台 CentOS 虚拟机,接着会在该虚机上搭建具备主从复制节点的 MongoDB。

PS C:\\mongodb>.\\mongodb-replica-set-deploy.ps1 -ResourceGroupName rg1 -CentosVersion 7.2 -AdminUsername azureuser -AdminPassword “YOUR-PASSWORD” -MongoUsername mongoadmin -MongoPassword “YOUR-PASSWORD” -DNSNamePrefix mongoreplicaset

创建过程大概需要10分钟,运行成功后会出现如下提示:

Deploy MongoDB Replica Set successfully.
To connect primary node using the mongo shell:
% mongo mongoreplicaset.chinanorth.cloudapp.chinacloudapi.cn:27017
To connect secondary node0 using the mongo shell:
% mongo mongoreplicasetsecondary0.chinanorth.cloudapp.chinacloudapi.cn:27017
To connect secondary node1 using the mongo shell:
% mongo mongoreplicasetsecondary1.chinanorth.cloudapp.chinacloudapi.cn:27017

 

3. 在 Azure 虚拟机上搭建 MongoDB 分片集群

默认情况下,以下脚本将创建11台 CentOS 虚机,包含:2台 router 服务器, 3台 config 服务器,2个分片,每个分片带有1个 Priamry 节点和2个 Secondary 节点,总计11个节点,架构如下图所示:

技术分享

Azure PowerShell 方式

你需要下载PowerShell脚本 mongodb-sharding-deploy.ps1,按照以下示例运行 mongodb-sharding-deploy.ps1 脚本,即可在资源组rg1中生成多台 CentOS 虚拟机,接着会在该虚机上搭建具备主从复制节点及分片集群的 MongoDB,创建过程大概需要1小时15分钟。

PS C:\\mongodb>.\\mongodb-sharding-deploy.ps1 -ResourceGroupName rg1 -CentosVersion 7.2 -AdminUsername azureuser -AdminPassword “YOUR-PASSWORD” -MongoUsername mongoadmin -MongoPassword “YOUR-PASSWORD” -DNSNamePrefix mongoshard

 

关于另一种:Azure CLI 方式,感兴趣的朋友可以点击此处进行查看

 


以上是关于在 Azure 虚拟机上快速搭建 MongoDB 集群的主要内容,如果未能解决你的问题,请参考以下文章

大佬们,请问phpstudy 在虚拟机上搭建的网站如何能在本地访问呀???

Azure + MongoDB - NoSQL数据库集群初探(实践篇)

我可以在 Azure 虚拟机上安装 Azure Devops Build Agent 吗?

部署在 Azure 虚拟机上的 Web 应用:持久性 VS 临时磁盘

监视 Azure 虚拟机上运行的服务/应用程序的最佳方法是啥

在 Microsoft Azure 平台虚拟机上调试 Windows 内核