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 集群的更多相关文章

  1. 搭建mongodb集群(副本集+分片)

    搭建mongodb集群(副本集+分片) 转载自:http://blog.csdn.net/bluejoe2000/article/details/41323051 完整的搭建mongodb集群(副本集 ...

  2. VMware 克隆linux后找不到eth0(学习hadoop,所以想快速搭建一个集群)

    发生情况:      由于在学习hadoop,所以想快速搭建一个集群出来.所以直接在windows操作系统上用VMware安装了CentOS操作系统,配置好hadoop开发环境后,采用克隆功能,直接克 ...

  3. 快速搭建Jenkins集群

    关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...

  4. centos7 快速搭建redis集群环境

    本文主要是记录一下快速搭建redis集群环境的方式. 环境简介:centos 7  + redis-3.2.4 本次用两个服务6个节点来搭建:192.168.116.120  和  192.168.1 ...

  5. 教你用multipass快速搭建k8s集群

    目录 前言 一.multipass快速入门 安装 使用 二.使用multipass搭建k8s集群 创建3台虚拟机 安装master节点 安装node节点 测试k8s集群 三.其他问题 不能拉取镜像:报 ...

  6. 用C、python手写redis客户端,兼容redis集群 (-MOVED和-ASK),快速搭建redis集群

    想没想过,自己写一个redis客户端,是不是很难呢? 其实,并不是特别难. 首先,要知道redis服务端用的通信协议,建议直接去官网看,博客啥的其实也是从官网摘抄的,或者从其他博客抄的(忽略). 协议 ...

  7. MongoDB系列—— Window 搭建Mongodb 集群

    Mongodb的集群方式的搭建有三种:Replica Set / Sharding / Master-Slaver.这里只说明最简单的集群搭建方式(Replica Set) Replica Set M ...

  8. 使用Kubeadm(1.13+)快速搭建Kubernetes集群

    Kubeadm是管理集群生命周期的重要工具,从创建到配置再到升级,Kubeadm处理现有硬件上的生产集群的引导,并以最佳实践方式配置核心Kubernetes组件,以便为新节点提供安全而简单的连接流程并 ...

  9. 如何快速搭建hadoop集群

    安装好虚拟机,重命名为master 配置网卡 命令:vi /etc/sysconfig/network-scripts/ifcfg-en(按tab键) 这里要配置ip,网关,域名解析 例如我的 IPA ...

随机推荐

  1. js webstrom中svn的配置及使用

    js  webstorm中svn的配置及使用 一.webstorm配置svn: 1.在webstorm工具中找到file(文件)-setting(设置)菜单按钮: 2.在左边菜单中找到plus(插件) ...

  2. ELK-Filebeat使用

    Beats是用于单用途数据托运人的平台.它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到Logstash或Elasticsearch. (画外音:通俗地理解,就是采集数据,并上报到Log ...

  3. vue培训记录

    在公司做了一次vue相关的培训,自己整理了一些大纲.供大家参考学习! ### 1. 项目构成及原理 [Vue](https://cn.vuejs.org/)###* 主流框架见解及差别 * react ...

  4. JAVA输入随笔

    做题时经常遇到输入的问题,很麻烦 写一点点自己对于输入的随笔,以备后查 这里都以整数为例,其他类型的话换成相应方法就行了 1.知道一共多少行,每一行只有一个整数 这是比较简单的输入,可以用Scanne ...

  5. 3期浅析宽字节注入-----SQL注入

    通过分类的名称,你就可以找到漏洞银行的hack show视频. 吸收这个知识的几个关键的信息. 1.通过视频得到知识源.         [信息来源] 我怎么从不清楚到知道这个信息来源?这个过程没办法 ...

  6. java设计模式:简单实现生产者和消费者模式

    *博客搬家:初版发布于 2016/04/15 20:31    原博客地址:https://my.oschina.net/sunqinwen/blog/660881 本实例中单独为生产者和消费者各开辟 ...

  7. CDQZ Day6

    1DP #2题目名称 种植 计数 棋盘 树输入文件名 plant.in count.in chess.in tree.in输出文件名 plant.out count.out chess.out tre ...

  8. [转] 基于Gitlab CI搭建持续集成环境

    [From] https://blog.csdn.net/wGL3k77y9fR1k61T1aS/article/details/78798577 前言 本文是在12月12号迅雷@赵兵在前端早读课第三 ...

  9. CAS总结

    n++的问题不能保证原子操作. 因为被编译后拆分成了3个指令,先获取值,然后加一,然后写回内存.把变量声明为volatile,volatile只能保证内存可见性,但是不能保证原子性,在多线程并发下,无 ...

  10. C语言实现数组逆置

    #include <stdio.h> #include <assert.h> void swap(int *a ,int *b) { int tmp = *a; *a = *b ...