Installera och konfigurera MongoDB på en virtuell Linux-dator
MongoDB är en populär NoSQL-databas med öppen källkod och höga prestanda. Den här artikeln visar hur du installerar och konfigurerar MongoDB på en virtuell Linux-dator med Azure CLI. Exempel visas med information om hur du:
- Installera och konfigurera en grundläggande MongoDB-instans manuellt
- Skapa en grundläggande MongoDB-instans med en Resource Manager mall
- Skapa ett komplext shardat MongoDB-kluster med replikuppsättningar med en Resource Manager mall
Installera och konfigurera MongoDB manuellt på en virtuell dator
MongoDB tillhandahåller installationsinstruktioner för Linux-distributioner, inklusive Red Hat/CentOS, SUSE, Ubuntu och Debian. I följande exempel skapas en virtuell CentOS-dator . För att skapa den här miljön behöver du ha den senaste Azure CLI installerad och inloggad på ett Azure-konto med az login.
Skapa en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus :
az group create --name myResourceGroup --location eastus
Skapa en virtuell dator med az vm create. I följande exempel skapas en virtuell dator med namnet myVM med en användare med namnet azureuser med hjälp av offentlig SSH-nyckelautentisering
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image CentOS \
--admin-username azureuser \
--generate-ssh-keys
SSH till den virtuella datorn med ditt eget användarnamn och publicIpAddress
som visas i utdata från föregående steg:
ssh azureuser@<publicIpAddress>
Om du vill lägga till installationskällorna för MongoDB skapar du en yum-lagringsplatsfil enligt följande:
sudo touch /etc/yum.repos.d/mongodb-org-3.6.repo
Öppna MongoDB-lagringsplatsen för redigering, till exempel med vi
eller nano
. Lägg till följande rader:
[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
Installera MongoDB med yum på följande sätt:
sudo yum install -y mongodb-org
SOM standard tillämpas SELinux på CentOS-avbildningar som hindrar dig från att komma åt MongoDB. Installera principhanteringsverktyg och konfigurera SELinux så att MongoDB kan användas på tcp-standardporten 27017 på följande sätt:
sudo yum install -y policycoreutils-python
sudo semanage port -a -t mongod_port_t -p tcp 27017
Starta MongoDB-tjänsten på följande sätt:
sudo service mongod start
Verifiera MongoDB-installationen genom att ansluta med hjälp av den lokala mongo
klienten:
mongo
Testa nu MongoDB-instansen genom att lägga till några data och sedan söka:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
Om du vill konfigurerar du MongoDB så att det startar automatiskt vid en omstart av systemet:
sudo chkconfig mongod on
Skapa en grundläggande MongoDB-instans på CentOS med hjälp av en mall
Du kan skapa en grundläggande MongoDB-instans på en enskild virtuell CentOS-dator med hjälp av följande Azure-snabbstartsmall från GitHub. Den här mallen använder tillägget för anpassat skript för Linux för att lägga till en yum-lagringsplats till den nyligen skapade virtuella CentOS-datorn och sedan installera MongoDB.
- Grundläggande MongoDB-instans på CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
För att skapa den här miljön behöver du ha den senaste Azure CLI installerad och inloggad på ett Azure-konto med az login. Skapa först en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus :
az group create --name myResourceGroup --location eastus
Distribuera sedan MongoDB-mallen med az deployment group create. När du uppmanas till det anger du dina egna unika värden för newStorageAccountName, dnsNameForPublicIP samt användarnamn och lösenord för administratör:
az deployment group create --resource-group myResourceGroup \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
Logga in på den virtuella datorn med den offentliga DNS-adressen för den virtuella datorn. Du kan visa den offentliga DNS-adressen med az vm show:
az vm show -g myResourceGroup -n myLinuxVM -d --query [fqdns] -o tsv
SSH till den virtuella datorn med ditt eget användarnamn och din offentliga DNS-adress:
ssh azureuser@mypublicdns.eastus.cloudapp.azure.com
Verifiera MongoDB-installationen genom att ansluta med den lokala klienten mongo
på följande sätt:
mongo
Testa nu instansen genom att lägga till några data och söka på följande sätt:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
Skapa ett komplext shardat MongoDB-kluster på CentOS med hjälp av en mall
Du kan skapa ett komplext fragmenterat MongoDB-kluster med hjälp av följande Azure-snabbstartsmall från GitHub. Den här mallen följer metodtipsen för fragmenterade MongoDB-kluster för att tillhandahålla redundans och hög tillgänglighet. Mallen skapar två shards med tre noder i varje replikuppsättning. En konfigurationsserverreplikuppsättning med tre noder skapas också, plus två Mongos-routerservrar för att ge konsekvens till program från shards.
- MongoDB-horisontell partitionering i CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-sharding-centos/azuredeploy.json
Varning
Distribution av det här komplexa MongoDB-shardade klustret kräver fler än 20 kärnor, vilket vanligtvis är standardantalet kärnor per region för en prenumeration. Öppna en Azure Support för att öka antalet kärnor.
För att skapa den här miljön behöver du ha den senaste Azure CLI installerad och inloggad på ett Azure-konto med az login. Skapa först en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus :
az group create --name myResourceGroup --location eastus
Distribuera sedan MongoDB-mallen med az deployment group create. Definiera egna resursnamn och storlekar där det behövs, till exempel för mongoAdminUsername, sizeOfDataDiskInGB och 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
Den här distributionen kan ta över en timme att distribuera och konfigurera alla VM-instanser. Flaggan --no-wait
används i slutet av föregående kommando för att returnera kontrollen till kommandotolken när malldistributionen har godkänts av Azure-plattformen. Du kan sedan visa distributionsstatusen med az deployment group show. I följande exempel visas status för myMongoDBCluster-distributionen i resursgruppen myResourceGroup :
az deployment group show \
--resource-group myResourceGroup \
--name myMongoDBCluster \
--query [properties.provisioningState] \
--output tsv
Nästa steg
I de här exemplen ansluter du till MongoDB-instansen lokalt från den virtuella datorn. Om du vill ansluta till MongoDB-instansen från en annan virtuell dator eller ett annat nätverk ser du till att lämpliga regler för nätverkssäkerhetsgruppen skapas.
De här exemplen distribuerar kärnmiljön för MongoDB i utvecklingssyfte. Tillämpa de säkerhetsalternativ som krävs för din miljö. Mer information finns i MongoDB-säkerhetsdokumenten.
Mer information om hur du skapar med hjälp av mallar finns i Översikt Resource Manager Azure-portalen.
Azure Resource Manager använder tillägget för anpassat skript för att ladda ned och köra skript på dina virtuella datorer. Mer information finns i Använda tillägget för anpassat skript i Azure med Linux Virtual Machines.