Come installare e configurare MongoDB in una VM Linux usando l'interfaccia della riga di comando di Azure 1.0How to install and configure MongoDB on a Linux VM using the Azure CLI 1.0

MongoDB è un diffuso database NoSQL open source a prestazioni elevate.MongoDB is a popular open-source, high-performance NoSQL database. Questo articolo illustra come installare e configurare MongoDB su una VM Linux in Azure usando il modello di distribuzione di Resource Manager.This article shows you how to install and configure MongoDB on a Linux VM in Azure using the Resource Manager deployment model. Alcuni esempi illustrano in dettaglio come fare a:Examples are shown that detail how to:

Versioni dell'interfaccia della riga di comando per completare l'attivitàCLI versions to complete the task

È possibile completare l'attività usando una delle versioni seguenti dell'interfaccia della riga di comando:You can complete the task using one of the following CLI versions:

  • Interfaccia della riga di comando di Azure 1.0: interfaccia della riga di comando per i modelli di distribuzione classica e di gestione delle risorse (questo articolo)Azure CLI 1.0 – our CLI for the classic and resource management deployment models (this article)
  • Interfaccia della riga di comando di Azure 2.0: interfaccia della riga di comando di prossima generazione per il modello di distribuzione di Gestione risorsaAzure CLI 2.0 - our next generation CLI for the resource management deployment model

Installare e configurare manualmente MongoDB su una VMManually install and configure MongoDB on a VM

MongoDB fornisce le istruzioni di installazione per i sistemi operativi Linux Red Hat/CentOS, SUSE, Ubuntu e Debian.MongoDB provide installation instructions for Linux distros including Red Hat / CentOS, SUSE, Ubuntu, and Debian. L'esempio seguente crea una macchina virtuale CentOS usando una chiave SSH archiviata in ~/.ssh/id_rsa.pub.The following example creates a CentOS VM using an SSH key stored at ~/.ssh/id_rsa.pub. Rispondere ai messaggi per l'inserimento delle informazioni su nome dell'account di archiviazione, nome DNS e credenziali di amministratore:Answer the prompts for storage account name, DNS name, and admin credentials:

azure vm quick-create \
    --image-urn CentOS \
    --ssh-publickey-file ~/.ssh/id_rsa.pub 

Accedere alla VM usando l'indirizzo IP pubblico visualizzato alla fine del precedente passaggio per la creazione della VM:Log on to the VM using the public IP address displayed at the end of the preceding VM creation step:

ssh azureuser@40.78.23.145

Per aggiungere le origini di installazione di MongoDB, creare un file di archivio yum come illustrato di seguito:To add the installation sources for MongoDB, create a yum repository file as follows:

sudo touch /etc/yum.repos.d/mongodb-org-3.4.repo

Aprire il file di archivio di MongoDB da modificare.Open the MongoDB repo file for editing. Aggiungere le righe seguenti:Add the following lines:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

Installare MongoDB usando yum come illustrato di seguito:Install MongoDB using yum as follows:

sudo yum install -y mongodb-org

Per impostazione predefinita, alle immagini CentOS è applicato SELinux, che impedisce di accedere a MongoDB.By default, SELinux is enforced on CentOS images that prevents you from accessing MongoDB. Con il codice illustrato di seguito, installare gli strumenti per la gestione dei criteri e configurare SELinux in modo tale da consentire a MongoDB di operare sulla porta TCP 27017 predefinita.Install policy management tools and configure SELinux to allow MongoDB to operate on its default TCP port 27017 as follows.

sudo yum install -y policycoreutils-python
sudo semanage port -a -t mongod_port_t -p tcp 27017

Avviare il servizio MongoDB come di seguito:Start the MongoDB service as follows:

sudo service mongod start

Verificare l'installazione di MongoDB connettendosi tramite il client mongo locale:Verify the MongoDB installation by connecting using the local mongo client:

mongo

A questo punto, testare l'istanza di MongoDB aggiungendo alcuni dati ed eseguendo la ricerca:Now test the MongoDB instance by adding some data and then searching:

> db
test
> db.foo.insert( { a : 1 } )  
> db.foo.find()  
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit

Se lo si desidera, configurare MongoDB per l'avvio automatico durante il riavvio del sistema:If desired, configure MongoDB to start automatically during a system reboot:

sudo chkconfig mongod on

Creare un'istanza di MongoDB di base su CentOS usando un modelloCreate basic MongoDB instance on CentOS using a template

Per creare un'istanza di MongoDB di base in una singola VM CentOS, è possibile usare il seguente modello di avvio rapido di Azure in GitHub.You can create a basic MongoDB instance on a single CentOS VM using the following Azure quickstart template from GitHub. Usando l'estensione dello script personalizzata, questo modello consente a Linux di aggiungere un repository yum alla VM CentOS appena creata, per poi installare MongoDB.This template uses the Custom Script extension for Linux to add a yum repository to your newly created CentOS VM and then install MongoDB.

Nell'esempio seguente viene creato un gruppo di risorse denominato myResourceGroup nell'area eastus.The following example creates a resource group with the name myResourceGroup in the eastus region. Immettere valori personalizzati come di seguito:Enter your own values as follows:

azure group create \
    --name myResourceGroup \
    --location eastus \
    --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json

Nota

L'interfaccia della riga di comando di Azure restituisce un avviso a pochi secondi dalla creazione della distribuzione, ma per completare l'installazione e la configurazione serve qualche minuto.The Azure CLI returns you to a prompt within a few seconds of creating the deployment, but the installation and configuration takes a few minutes to complete. Controllare lo stato della distribuzione con azure group deployment show myResourceGroup, immettendo il nome del gruppo di risorse appropriato.Check the status of the deployment with azure group deployment show myResourceGroup, entering the name of your resource group accordingly. Attendere che ProvisioningState indichi Succeeded prima di provare la connessione SSH alla macchina virtuale.Wait until the ProvisioningState shows Succeeded before trying to SSH to the VM.

Al termine della distribuzione, effettuare la connessione SSH alla VM.Once the deployment is complete, SSH to the VM. Ottenere l'indirizzo IP della VM usando il comando azure vm show come nell'esempio seguente:Obtain the IP address of your VM using the azure vm show command as in the following example:

azure vm show --resource-group myResourceGroup --name myLinuxVM

Verso la fine dell'output, viene visualizzato l'indirizzo IP pubblico.Near the end of the output, the public IP address is displayed. Effettuare la connessione SSH alla VM con l'indirizzo IP di quest'ultima:SSH to your VM with the IP address of your VM:

ssh azureuser@138.91.149.74

Verificare l'installazione di MongoDB connettendosi tramite il client mongo locale, come di seguito:Verify the MongoDB installation by connecting using the local mongo client as follows:

mongo

A questo punto, testare l'istanza aggiungendo alcuni dati ed eseguendo la ricerca seguente:Now test the instance by adding some data and searching as follows:

> db
test
> db.foo.insert( { a : 1 } )  
> db.foo.find()  
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit

Creare un cluster complesso di MongoDB partizionato in CentOS usando un modelloCreate a complex MongoDB Sharded Cluster on CentOS using a template

Per creare un cluster complesso di MongoDB partizionato, è possibile usare il seguente modello di avvio rapido in GitHub.You can create a complex MongoDB sharded cluster using the following Azure quickstart template from GitHub. Questo modello segue le procedure consigliate per cluster MongoDB partizionati per garantire ridondanza e disponibilità elevata.This template follows the MongoDB sharded cluster best practices to provide redundancy and high availability. Il modello crea due partizioni, con tre nodi in ogni set di repliche.The template creates two shards, with three nodes in each replica set. Inoltre, nel server di configurazione viene creato un set di repliche con tre nodi, più due server router mongos per garantire coerenza tra le applicazioni delle varie partizioni.One config server replica set with three nodes is also created, plus two mongos router servers to provide consistency to applications from across the shards.

Avviso

La distribuzione di questo cluster complesso di MongoDB partizionato richiede più di 20 CPU virtuali, che in genere è il numero di CPU virtuali predefinito per ogni area di una sottoscrizione.Deploying this complex MongoDB sharded cluster requires more than 20 vCPUs, which is typically the default vCPU count per region for a subscription. Per aumentare il numero di CPU virtuali, aprire una richiesta di supporto tecnico di Azure.Open an Azure support request to increase your vCPU count.

L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus.The following example creates a resource group with the name myResourceGroup in the eastus region. Immettere valori personalizzati come di seguito:Enter your own values as follows:

azure group create \
    --name myResourceGroup \
    --location eastus \
    --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-sharding-centos/azuredeploy.json

Nota

L'interfaccia della riga di comando di Azure restituisce un avviso a pochi secondi dalla creazione della distribuzione, ma per completare l'installazione e la configurazione può servire più di un'ora.The Azure CLI returns you to a prompt within a few seconds of creating the deployment, but the installation and configuration can take over an hour to complete. Controllare lo stato della distribuzione con azure group deployment show myResourceGroup, adeguando il nome del gruppo di risorse di conseguenza.Check the status of the deployment with azure group deployment show myResourceGroup, adjusting the name of your resource group accordingly. Attendere che ProvisioningState indichi Succeeded prima di eseguire la connessione alla macchina virtuale.Wait until the ProvisioningState shows Succeeded before connecting to the VMs.

Passaggi successiviNext steps

In questi esempi si effettua la connessione all'istanza di MongoDB locale dalla VM.In these examples, you connect to the MongoDB instance locally from the VM. Se si desidera connettersi all'istanza di MongoDB da un'altra VM o un'altra rete, accertarsi di creare le regole del gruppo di sicurezza di rete appropriate.If you want to connect to the MongoDB instance from another VM or network, ensure the appropriate Network Security Group rules are created.

Per altre informazioni sulla creazione tramite modelli, vedere Panoramica di Azure Resource Manager.For more information about creating using templates, see the Azure Resource Manager overview.

I modelli di Azure Resource Manager usano l'estensione dello script personalizzata per scaricare ed eseguire script nelle VM.The Azure Resource Manager templates use the Custom Script Extension to download and execute scripts on your VMs. Per altre informazioni, vedere Using the Azure Custom Script Extension with Linux Virtual Machines (Usare l'estensione dello script personalizzata di Azure con macchine virtuali Linux).For more information, see Using the Azure Custom Script Extension with Linux Virtual Machines.