Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MongoDB ist eine beliebte Open Source-, Hochleistungs-NoSQL-Datenbank. In diesem Artikel erfahren Sie, wie Sie MongoDB auf einer Linux-VM mit der Azure CLI installieren und konfigurieren. Es werden Beispiele gezeigt, in denen Folgendes beschrieben wird:
- Manuelles Installieren und Konfigurieren einer einfachen MongoDB-Instanz
- Erstellen einer einfachen MongoDB-Instanz mithilfe einer Resource Manager-Vorlage
- Erstellen eines komplexen MongoDB-Shard-Clusters mit Replikatsätzen mithilfe einer Resource-Manager-Vorlage
Manuelles Installieren und Konfigurieren von MongoDB auf einem virtuellen Computer
MongoDB enthält Installationsanweisungen für Linux-Distros wie Red Hat / CentOS, SUSE, Ubuntu und Debian. Im folgenden Beispiel wird eine CentOS-VM erstellt. Um diese Umgebung zu erstellen, benötigen Sie die neueste Azure CLI installiert und bei einem Azure-Konto mit az login angemeldet.
Erstellen Sie mit az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt:
az group create --name myResourceGroup --location eastus
Erstellen Sie mit az vm create einen virtuellen Computer. Im folgenden Beispiel wird eine VM mit dem Namen myVM mit einem Benutzer namens AzureUser mithilfe der öffentlichen SSH-Schlüsselauthentifizierung erstellt.
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image CentOS \
--admin-username azureuser \
--generate-ssh-keys
SSH zur VM mithilfe Ihres eigenen Benutzernamens und des publicIpAddress
, das in der Ausgabe aus dem vorherigen Schritt aufgeführt ist.
ssh azureuser@<publicIpAddress>
Um die Installationsquellen für MongoDB hinzuzufügen, erstellen Sie eine yum-Repositorydatei wie folgt:
sudo touch /etc/yum.repos.d/mongodb-org-3.6.repo
Öffnen Sie die MongoDB-Repositorydatei zum Bearbeiten, z. B. mit vi
oder nano
. Fügen Sie die folgenden Zeilen hinzu:
[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
Installieren Sie MongoDB mit yum wie folgt:
sudo yum install -y mongodb-org
Standardmäßig ist SELinux in CentOS-Images aktiviert, was den Zugriff auf MongoDB verhindert. Installieren Sie Richtlinienverwaltungstools, und konfigurieren Sie SELinux so, dass MongoDB wie folgt auf dem standardmäßigen TCP-Port 27017 ausgeführt werden kann:
sudo yum install -y policycoreutils-python
sudo semanage port -a -t mongod_port_t -p tcp 27017
Starten Sie den MongoDB-Dienst wie folgt:
sudo service mongod start
Überprüfen Sie die MongoDB-Installation, indem Sie eine Verbindung mit dem lokalen mongo
Client herstellen:
mongo
Testen Sie nun die MongoDB-Instanz, indem Sie einige Daten hinzufügen und dann suchen:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
Konfigurieren Sie bei Bedarf MongoDB so, dass sie während eines Systemneustarts automatisch gestartet wird:
sudo chkconfig mongod on
Erstellen einer einfachen MongoDB-Instanz auf CentOS mithilfe einer Vorlage
Sie können eine grundlegende MongoDB-Instanz auf einer einzelnen CentOS-VM mithilfe der folgenden Azure-Schnellstartvorlage von GitHub erstellen. Diese Vorlage verwendet die Custom Script-Erweiterung für Linux, um Ihrem neu erstellten CentOS-virtuellen Computer ein Yum-Repository hinzuzufügen und dann MongoDB zu installieren.
- Grundlegende MongoDB-Instanz auf CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
Um diese Umgebung zu erstellen, benötigen Sie die neueste Azure CLI installiert und bei einem Azure-Konto mit az login angemeldet. Erstellen Sie zunächst mit az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt:
az group create --name myResourceGroup --location eastus
Stellen Sie als Nächstes die MongoDB-Vorlage mit az deployment group create bereit. Wenn Sie dazu aufgefordert werden, geben Sie ihre eigenen eindeutigen Werte für newStorageAccountName, dnsNameForPublicIP und Den Benutzernamen und das Kennwort des Administrators ein:
az deployment group create --resource-group myResourceGroup \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
Melden Sie sich mit der öffentlichen DNS-Adresse Ihres virtuellen Computers bei der VM an. Sie können die öffentliche DNS-Adresse mit az vm anzeigen:
az vm show -g myResourceGroup -n myLinuxVM -d --query [fqdns] -o tsv
SSH zu Ihrer VM mit Ihrem eigenen Benutzernamen und Ihrer öffentlichen DNS-Adresse:
ssh azureuser@mypublicdns.eastus.cloudapp.azure.com
Überprüfen Sie die MongoDB-Installation, indem Sie eine Verbindung mit dem lokalen mongo
Client wie folgt herstellen:
mongo
Testen Sie nun die Instanz, indem Sie einige Daten hinzufügen und wie folgt suchen:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
Erstellen eines komplexen MongoDB-Shardedclusters auf CentOS mithilfe einer Vorlage
Mit der folgenden Azure-Schnellstartvorlage von GitHub können Sie einen komplexen MongoDB-Sharded-Cluster erstellen. Diese Vorlage folgt den bewährten Methoden des MongoDB-Clusters , um Redundanz und hohe Verfügbarkeit bereitzustellen. Die Vorlage erstellt zwei Shards mit drei Knoten in den einzelnen Replikatgruppen. Ein Konfigurationsserverreplikatsatz mit drei Knoten wird ebenfalls erstellt, plus zwei Mongos-Routerserver , um Konsistenz für Anwendungen über die Shards hinweg bereitzustellen.
- MongoDB Sharding Cluster auf CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-sharding-centos/azuredeploy.json
Warnung
Für die Bereitstellung dieses komplexen MongoDB-Shardedclusters sind mehr als 20 Kerne erforderlich, was in der Regel die Standardkernanzahl pro Region für ein Abonnement ist. Öffnen Sie eine Azure-Supportanfrage, um Ihre Kernanzahl zu erhöhen.
Um diese Umgebung zu erstellen, benötigen Sie die neueste Azure CLI installiert und bei einem Azure-Konto mit az login angemeldet. Erstellen Sie zunächst mit az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt:
az group create --name myResourceGroup --location eastus
Stellen Sie als Nächstes die MongoDB-Vorlage mit az deployment group create bereit. Definieren Sie bei Bedarf eigene Ressourcennamen und Größen, z. B. mongoAdminUsername, sizeOfDataDiskInGB und 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
Diese Bereitstellung kann mehr als eine Stunde dauern, um alle VM-Instanzen bereitzustellen und zu konfigurieren. Das --no-wait
Flag wird am Ende des vorherigen Befehls verwendet, um die Steuerung an die Eingabeaufforderung zurückzugeben, sobald die Vorlagenbereitstellung von der Azure-Plattform akzeptiert wurde. Anschließend können Sie den Deployment-Status mit az deployment group show anzeigen. Im folgenden Beispiel wird der Status der myMongoDBCluster-Bereitstellung in der Ressourcengruppe myResourceGroup angezeigt:
az deployment group show \
--resource-group myResourceGroup \
--name myMongoDBCluster \
--query [properties.provisioningState] \
--output tsv
Nächste Schritte
In diesen Beispielen stellen Sie eine lokale Verbindung mit der MongoDB-Instanz von der VM her her her. Wenn Sie eine Verbindung mit der MongoDB-Instanz von einer anderen VM oder einem anderen Netzwerk herstellen möchten, stellen Sie sicher, dass die entsprechenden Regeln für die Netzwerksicherheitsgruppe erstellt werden.
In diesen Beispielen wird die MongoDB-Kernumgebung für Entwicklungszwecke bereitgestellt. Wenden Sie die erforderlichen Sicherheitskonfigurationsoptionen für Ihre Umgebung an. Weitere Informationen finden Sie in den MongoDB-Sicherheitsdokumenten.
Weitere Informationen zum Erstellen mithilfe von Vorlagen finden Sie in der Azure Resource Manager-Übersicht.
Die Azure Resource Manager-Vorlagen verwenden die benutzerdefinierte Skripterweiterung, um Skripts auf Ihren virtuellen Computern herunterzuladen und auszuführen. Weitere Informationen finden Sie unter Verwenden der benutzerdefinierten Azure-Skripterweiterung mit virtuellen Linux-Computern.