Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
MongoDB is een populaire opensource noSQL-database met hoge prestaties. In dit artikel leest u hoe u MongoDB installeert en configureert op een Linux-VM met de Azure CLI. Voorbeelden worden weergegeven waarin wordt beschreven hoe u het volgende kunt doen:
- Een eenvoudig MongoDB-exemplaar handmatig installeren en configureren
- Een basis MongoDB-exemplaar creëren met behulp van een Resource Manager-sjabloon
- Een complex MongoDB-shardcluster met replicasets maken met behulp van een Resource Manager-sjabloon
MongoDB handmatig installeren en configureren op een VIRTUELE machine
MongoDB biedt installatie-instructies voor Linux-distributies, waaronder Red Hat / CentOS, SUSE, Ubuntu en Debian. In het volgende voorbeeld wordt een CentOS-VM gemaakt. Als u deze omgeving wilt maken, moet u de nieuwste Azure CLI installeren en inloggen bij een Azure-account met az login.
Maak een resourcegroep met az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie eastus:
az group create --name myResourceGroup --location eastus
Maak een VM met az vm create. In het volgende voorbeeld wordt een VM met de naam myVM gemaakt met een gebruiker met de naam azureuser met behulp van verificatie met openbare SSH-sleutels
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image CentOS \
--admin-username azureuser \
--generate-ssh-keys
SSH naar de VIRTUELE machine met uw eigen gebruikersnaam en de publicIpAddress vermelding in de uitvoer uit de vorige stap:
ssh azureuser@<publicIpAddress>
Als u de installatiebronnen voor MongoDB wilt toevoegen, maakt u als volgt een yum-opslagplaatsbestand:
sudo touch /etc/yum.repos.d/mongodb-org-3.6.repo
Open het MongoDB-opslagplaatsbestand voor bewerking, zoals met vi of nano. Voeg de volgende regels toe:
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
Installeer MongoDB als volgt met yum :
sudo yum install -y mongodb-org
SELinux wordt standaard afgedwongen op CentOS-installatiekopieën waardoor u geen toegang krijgt tot MongoDB. Installeer hulpprogramma's voor beleidsbeheer en configureer SELinux om MongoDB als volgt te laten werken op de standaard TCP-poort 27017:
sudo yum install -y policycoreutils-python
sudo semanage port -a -t mongod_port_t -p tcp 27017
Start de MongoDB-service als volgt:
sudo service mongod start
Controleer de MongoDB-installatie door verbinding te maken met behulp van de lokale mongo client:
mongo
Test nu het MongoDB-exemplaar door enkele gegevens toe te voegen en vervolgens te zoeken:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
Configureer, indien gewenst, MongoDB zo dat deze automatisch wordt gestart tijdens het opnieuw opstarten van het systeem:
sudo chkconfig mongod on
Een eenvoudig MongoDB-exemplaar in CentOS maken met behulp van een sjabloon
U kunt een eenvoudig MongoDB-exemplaar maken op één CentOS-VM met behulp van de volgende Azure-quickstartsjabloon van GitHub. Deze sjabloon maakt gebruik van de aangepaste scriptextensie voor Linux om een yum-opslagplaats toe te voegen aan uw zojuist gemaakte CentOS-VM en vervolgens MongoDB te installeren.
- Eenvoudige MongoDB-instantie in CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
Als u deze omgeving wilt maken, moet u de nieuwste Azure CLI installeren en inloggen bij een Azure-account met az login. Maak eerst een resourcegroep met az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie eastus:
az group create --name myResourceGroup --location eastus
Implementeer vervolgens de MongoDB-sjabloon met az deployment group create. Wanneer u hierom wordt gevraagd, voert u uw eigen unieke waarden in voor newStorageAccountName, dnsNameForPublicIP en gebruikersnaam en wachtwoord voor beheerders:
az deployment group create --resource-group myResourceGroup \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
Meld u aan bij de virtuele machine met behulp van het openbare DNS-adres van uw VIRTUELE machine. U kunt het openbare DNS-adres weergeven met az vm show:
az vm show -g myResourceGroup -n myLinuxVM -d --query [fqdns] -o tsv
SSH naar uw VIRTUELE machine met uw eigen gebruikersnaam en openbaar DNS-adres:
ssh azureuser@mypublicdns.eastus.cloudapp.azure.com
Controleer de MongoDB-installatie door verbinding te maken met behulp van de lokale mongo client als volgt:
mongo
Test nu het exemplaar door enkele gegevens toe te voegen en als volgt te zoeken:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
Een complex MongoDB Sharded Cluster maken in CentOS met behulp van een sjabloon
U kunt een complex MongoDB-shardcluster maken met behulp van de volgende Azure-quickstartsjabloon van GitHub. Deze sjabloon volgt de aanbevolen procedures voor mongoDB-shardclusters om redundantie en hoge beschikbaarheid te bieden. De sjabloon creëert twee shards, waarbij elke replicaset drie knooppunten bevat. Er wordt ook één configuratieserverreplicaset met drie knooppunten gemaakt, plus twee mongos-routerservers om consistentie te bieden aan toepassingen van over de shards.
- MongoDB-sharding-cluster op CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-sharding-centos/azuredeploy.json
Waarschuwing
Voor het implementeren van dit complexe mongoDB-shardcluster zijn meer dan 20 kernen vereist. Dit is doorgaans het standaardaantal kernen per regio voor een abonnement. Open een Azure-ondersteuningsaanvraag om het aantal kernen te verhogen.
Als u deze omgeving wilt maken, moet u de nieuwste Azure CLI installeren en inloggen bij een Azure-account met az login. Maak eerst een resourcegroep met az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie eastus:
az group create --name myResourceGroup --location eastus
Implementeer vervolgens de MongoDB-sjabloon met az deployment group create. Definieer waar nodig uw eigen resourcenamen en -grootten, zoals voor mongoAdminUsername, sizeOfDataDiskInGB en configNodeVmSize:
az deployment group create --resource-group myResourceGroup \
--parameters '{"adminUsername": {"value": "azureuser"},
"adminPassword": {"value": "P@ssw0rd!"},
"mongoAdminUsername": {"value": "mongoadmin"},
"mongoAdminPassword": {"value": "P@ssw0rd!"},
"dnsNamePrefix": {"value": "mypublicdns"},
"environment": {"value": "AzureCloud"},
"numDataDisks": {"value": "4"},
"sizeOfDataDiskInGB": {"value": 20},
"centOsVersion": {"value": "7.0"},
"routerNodeVmSize": {"value": "Standard_DS3_v2"},
"configNodeVmSize": {"value": "Standard_DS3_v2"},
"replicaNodeVmSize": {"value": "Standard_DS3_v2"},
"zabbixServerIPAddress": {"value": "Null"}}' \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-sharding-centos/azuredeploy.json \
--name myMongoDBCluster \
--no-wait
Deze implementatie kan meer dan een uur duren voordat alle VM-exemplaren zijn geïmplementeerd en geconfigureerd. De --no-wait vlag wordt aan het einde van de voorgaande opdracht gebruikt om het besturingselement terug te keren naar de opdrachtprompt zodra de sjabloonimplementatie is geaccepteerd door het Azure-platform. Vervolgens kunt u de implementatiestatus bekijken met az deployment group show. In het volgende voorbeeld ziet u de status voor de implementatie van myMongoDBCluster in de resourcegroep myResourceGroup :
az deployment group show \
--resource-group myResourceGroup \
--name myMongoDBCluster \
--query [properties.provisioningState] \
--output tsv
Volgende stappen
In deze voorbeelden maakt u lokaal verbinding met het MongoDB-exemplaar vanaf de VIRTUELE machine. Als u verbinding wilt maken met het MongoDB-exemplaar vanaf een andere VIRTUELE machine of een ander netwerk, moet u ervoor zorgen dat de juiste regels voor netwerkbeveiligingsgroepen worden gemaakt.
In deze voorbeelden wordt de MongoDB-kernomgeving geïmplementeerd voor ontwikkelingsdoeleinden. Pas de vereiste beveiligingsconfiguratieopties toe voor uw omgeving. Zie de MongoDB-beveiligingsdocumenten voor meer informatie.
Zie het overzicht van Azure Resource Manager voor meer informatie over het maken van sjablonen.
De Azure Resource Manager-sjablonen gebruiken de aangepaste scriptextensie om scripts op uw VM's te downloaden en uit te voeren. Zie De aangepaste Scriptextensie van Azure gebruiken met virtuele Linux-machines voor meer informatie.