目前Azure1元试用活动进行中,还没有申请的小伙伴赶紧先申请
1元试用的活动申请链接 https://www.azure.cn/pricing/1rmb-trial-website-hosting/?wt.mc_id=AzureThinkphpOnlineAdBOITrial0002011
NOTE:说明目前脚本仅支持CentOS(6.5,6.6,6.7,7.0,7.1,7.2)。
准备步骤
如果你选择AzurePowerShell方式搭建MongoDB,那么请按 如何安装和配置AzurePowerShell 中的说明在本地计算机上安装AzurePowerShell。然后打开AzurePowerShell命令提示符,通过运行以下命令并遵循提示进行Azure帐户的交互式登录体验,来使用 工作或学校ID登录 : Login-AzureRmAccount -EnvironmentName AzureChinaCloud然后你需要创建一个Azure资源组(ResourceGroup),创建Azure虚拟机和搭建MongoDB都在该资源组中进行,运行以下命令创建Azure资源组:
New-AzureRmResourceGroup -Name "YOUR-RESOURCE-GROUP-NAME" -Location "China East" 如果你选择AzureCLI方式搭建MongoDB,那么请 安装AzureCLI 。然后请确保你是处于 资源管理器模式 下,可通过运行以下命令来验证: azure config mode asm现在,通过运行以下命令并遵循提示进行Azure帐户的交互式登录体验,来使用 工作或学校ID登录 :
azure login -e AzureChinaCloud -u <your account>然后你需要创建一个Azure资源组(ResourceGroup),创建Azure虚拟机和搭建MongoDB都在该资源组中进行,运行以下命令创建Azure资源组:
zure group create "YOUR-RESOURCE-GROUP-NAME" "China East"开始动手
NOTE:
参数使用注意事项VmName:需保证唯一性,该参数将作为DNS前缀。DNSNamePrefix:必须小写,需保证唯一性,该参数将作为DNS前缀。ZabbixServerIPAddress:可选项,指定Zabbix服务器地址,安装MongoDB过程中会在虚拟机上自动安装Zabbixagent。
PowerShell脚本运行注意事项
WARNING:
PowerShell脚本运行注意事项需要以管理员权限运行PowerShell,使用之前需运行如下命令:Set-ExecutionPolicy-ExecutionPolicyUnrestricted
1.在Azure虚拟机上搭建单节点MongoDB
默认情况下,以下脚本将创建1台CentOS虚机,构成一个单节点MongoDB。以下将介绍两种方式搭建MongoDB:AzurePowerShell方式你需要下载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
AzureCLI方式你需要在安装好AzureCLI的机器上,运行如下命令下载azuredeploy.parameters-mongodb-centos.json参数配置文件:
wget http://msmirrors.blob.core.chinacloudapi.cn/mongodb/mongodb-single-node/azuredeploy.parameters.json -O azuredeploy.parameters.json接着修改azuredeploy.parameters.json参数配置文件:
vi azuredeploy.parameters.json然后运行如下命令即可安装CentOS虚拟机和单节点MongoDB,创建过程大概需要6分钟:
$TemplateUri="http://msmirrors.blob.core.chinacloudapi.cn/mongodb/mongodb-single-node/azuredeploy.json" azure group deployment create rg1 DeployMongoDB --template-uri $TemplateUri e azuredeploy.parameters.json按照上述任意一种方式创建完MongoDB后,即可使用如下命令连接MongoDB:
mongo mongodbserver.chinanorth.cloudapp.chinacloudapi.cn:27017/test你也可以直接登录MongoDB服务器进行其它操作,更多操作请参考 MongoDB官方帮助文档 。
2.在Azure虚拟机上搭建包含主从复制节点的MongoDB
默认情况下,以下脚本将创建3台CentOS虚机,组成一个MongoDB复制集,该复制集将包含一个Pirmary节点和2个Secondary节点,架构如下图所示:

以下将介绍两种方式搭建MongoDB:
AzurePowerShell方式
你需要下载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
AzureCLI方式
你需要在安装好AzureCLI的机器上,运行如下命令下载azuredeploy.parameters.json参数配置文件:
wget http://msmirrors.blob.core.chinacloudapi.cn/mongodb/mongodb-replica-set-centos/azuredeploy.parameters.json -O azuredeploy.parameters.json接着修改azuredeploy.parameters.json参数配置文件:
vi azuredeploy.parameters.json然后运行如下命令即可在资源组rg1中生成多台CentOS虚拟机,接着会在该虚机上搭建具备主从复制节点的MongoDB,创建过程大概需要10分钟。
$TemplateUri="http://msmirrors.blob.core.chinacloudapi.cn/mongodb/mongodb-replica-set-centos/azuredeploy.json" azure group deployment create rg1 DeployMongoDB --template-uri $TemplateUri -e azuredeploy.parameters.json按照上述任意一种方式创建完MongoDB后,即可使用如下命令连接MongoDB主服务器:
mongo mongodbserver.chinanorth.cloudapp.chinacloudapi.cn:27017/test你也可以直接登录MongoDB服务器查看状态,运行如下命令:
[ ubbcodeplace_18 ]nbsp;mongo -u mongoadmin -p “YOUR-PASSWORD” admin --eval 'rs.status()' MongoDB shell version: 3.2.6 connecting to: admin{
"set" : "mongoreplicaset",
"date" : ISODate("2016-05-10T03:20:25.066Z"),
"myState" : 1,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "139.217.21.42:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 3765,
"optime" : {
"ts" : Timestamp(1462846679, 2),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2016-05-10T02:17:59Z"),
"electionTime" : Timestamp(1462846678, 2),
"electionDate" : ISODate("2016-05-10T02:17:58Z"),
"configVersion" : 3,
"self" : true },
{
"_id" : 1,
"name" : "10.0.1.4:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 3746,
"optime" : {
"ts" : Timestamp(1462846679, 2),
"t" : NumberLong(1)