Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
MongoDB to popularna baza danych NoSQL typu open source o wysokiej wydajności. W tym artykule pokazano, jak zainstalować i skonfigurować bazę danych MongoDB na maszynie wirtualnej z systemem Linux przy użyciu interfejsu wiersza polecenia platformy Azure. Poniżej przedstawiono przykłady, w których przedstawiono szczegółowe instrukcje:
- Ręczna instalacja i konfiguracja podstawowej instancji MongoDB
- Tworzenie podstawowego wystąpienia bazy danych MongoDB przy użyciu szablonu usługi Resource Manager
- Tworzenie złożonego klastra bazy danych MongoDB podzielonego na fragmenty z zestawami replik przy użyciu szablonu usługi Resource Manager
Ręczne instalowanie i konfigurowanie bazy danych MongoDB na maszynie wirtualnej
Baza MongoDB udostępnia instrukcje instalacji dystrybucji systemu Linux, w tym Red Hat / CentOS, SUSE, Ubuntu i Debian. Poniższy przykład tworzy maszynę wirtualną z systemem CentOS . Aby utworzyć to środowisko, musisz zainstalować najnowszy interfejs wiersza polecenia platformy Azure i zalogować się na koncie platformy Azure przy użyciu polecenia az login.
Utwórz grupę zasobów za pomocą az group create. W poniższym przykładzie pokazano tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji eastus:
az group create --name myResourceGroup --location eastus
Utwórz maszynę wirtualną za pomocą polecenia az vm create. Poniższy przykład tworzy maszynę wirtualną o nazwie myVM z użytkownikiem o nazwie azureuser przy użyciu uwierzytelniania za pomocą klucza publicznego SSH
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image CentOS \
--admin-username azureuser \
--generate-ssh-keys
Połącz się z maszyną wirtualną za pomocą SSH, używając własnej nazwy użytkownika i publicIpAddress wymienionej w danych wyjściowych z poprzedniego kroku.
ssh azureuser@<publicIpAddress>
Aby dodać źródła instalacji dla bazy danych MongoDB, utwórz plik repozytorium yum w następujący sposób:
sudo touch /etc/yum.repos.d/mongodb-org-3.6.repo
Otwórz plik repozytorium MongoDB do edycji, na przykład za pomocą vi lub nano. Dodaj następujące wiersze:
[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
Zainstaluj bazę danych MongoDB przy użyciu narzędzia yum w następujący sposób:
sudo yum install -y mongodb-org
Domyślnie środowisko SELinux jest wymuszane na obrazach systemu CentOS, które uniemożliwiają uzyskiwanie dostępu do bazy danych MongoDB. Zainstaluj narzędzia do zarządzania zasadami i skonfiguruj narzędzie SELinux, aby umożliwić usłudze MongoDB działanie na domyślnym porcie TCP 27017 w następujący sposób:
sudo yum install -y policycoreutils-python
sudo semanage port -a -t mongod_port_t -p tcp 27017
Uruchom usługę MongoDB w następujący sposób:
sudo service mongod start
Zweryfikuj instalację bazy danych MongoDB, nawiązując połączenie przy użyciu klienta lokalnego mongo :
mongo
Teraz przetestuj instancję MongoDB, dodając trochę danych, a następnie wyszukując:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
W razie potrzeby skonfiguruj bazę danych MongoDB do automatycznego uruchamiania podczas ponownego uruchamiania systemu:
sudo chkconfig mongod on
Tworzenie podstawowego wystąpienia bazy danych MongoDB w systemie CentOS przy użyciu szablonu
Możesz utworzyć podstawowe wystąpienie bazy danych MongoDB na jednej maszynie wirtualnej z systemem CentOS przy użyciu następującego szablonu szybkiego startu platformy Azure z usługi GitHub. Ten szablon używa rozszerzenia niestandardowego skryptu dla systemu Linux, aby dodać repozytorium yum do nowo utworzonej maszyny wirtualnej z systemem CentOS, a następnie zainstalować MongoDB.
- Podstawowa instancja MongoDB na CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
Aby utworzyć to środowisko, musisz zainstalować najnowszy interfejs wiersza polecenia platformy Azure i zalogować się na koncie platformy Azure przy użyciu polecenia az login. Najpierw utwórz grupę zasobów za pomocą polecenia az group create. W poniższym przykładzie pokazano tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji eastus:
az group create --name myResourceGroup --location eastus
Następnie wdróż szablon bazy danych MongoDB za pomocą polecenia az deployment group create. Po wyświetleniu monitu wprowadź własne unikatowe wartości dla newStorageAccountName, dnsNameForPublicIP oraz nazwę użytkownika i hasło administratora:
az deployment group create --resource-group myResourceGroup \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-centos/azuredeploy.json
Zaloguj się do maszyny wirtualnej przy użyciu publicznego adresu DNS maszyny wirtualnej. Publiczny adres DNS można wyświetlić za pomocą az vm show:
az vm show -g myResourceGroup -n myLinuxVM -d --query [fqdns] -o tsv
Połączenie SSH z maszyną wirtualną przy użyciu własnej nazwy użytkownika i publicznego adresu DNS:
ssh azureuser@mypublicdns.eastus.cloudapp.azure.com
Zweryfikuj instalację bazy danych MongoDB, łącząc się przy użyciu klienta lokalnego mongo w następujący sposób:
mongo
Teraz przetestuj wystąpienie, dodając dane i wyszukując w następujący sposób:
> db
test
> db.foo.insert( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("57ec477cd639891710b90727"), "a" : 1 }
> exit
Tworzenie złożonego klastra podzielonego na fragmenty bazy danych MongoDB w systemie CentOS przy użyciu szablonu
Możesz utworzyć złożony klaster podzielony na fragmenty bazy danych MongoDB przy użyciu następującego szablonu szybkiego startu platformy Azure z usługi GitHub. Ten szablon jest zgodny z najlepszymi rozwiązaniami dotyczącymi klastra podzielonego na fragmenty bazy danych MongoDB w celu zapewnienia nadmiarowości i wysokiej dostępności. Szablon tworzy dwa shardy, z trzema węzłami w każdym zestawie replik. Tworzony jest również jeden zestaw replik serwera konfiguracji z trzema węzłami, a także dwa serwery routerów mongos w celu zapewnienia spójności aplikacji z różnych fragmentów.
- Klaster fragmentowania bazy danych MongoDB w systemie CentOS - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-sharding-centos/azuredeploy.json
Ostrzeżenie
Wdrożenie tego złożonego klastra podzielonego na fragmenty bazy danych MongoDB wymaga więcej niż 20 rdzeni, co zazwyczaj jest domyślną liczbą rdzeni na region dla subskrypcji. Otwórz wniosek o pomoc techniczną platformy Azure, aby zwiększyć liczbę rdzeni.
Aby utworzyć to środowisko, musisz zainstalować najnowszy interfejs wiersza polecenia platformy Azure i zalogować się na koncie platformy Azure przy użyciu polecenia az login. Najpierw utwórz grupę zasobów za pomocą polecenia az group create. W poniższym przykładzie pokazano tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji eastus:
az group create --name myResourceGroup --location eastus
Następnie wdróż szablon bazy danych MongoDB za pomocą polecenia az deployment group create. Zdefiniuj własne nazwy zasobów i rozmiary, w razie potrzeby, takie jak mongoAdminUsername, sizeOfDataDiskInGB i 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
Wdrożenie to może potrwać ponad godzinę, aby wdrożyć i skonfigurować wszystkie wystąpienia maszyn wirtualnych. Flaga --no-wait jest używana na końcu poprzedniego polecenia, aby powrócić do wiersza polecenia po zaakceptowaniu wdrożenia szablonu przez platformę Azure. Następnie możesz wyświetlić stan wdrożenia za pomocą polecenia az deployment group show. Poniższy przykład wyświetla stan wdrożenia myMongoDBCluster w grupie zasobów myResourceGroup :
az deployment group show \
--resource-group myResourceGroup \
--name myMongoDBCluster \
--query [properties.provisioningState] \
--output tsv
Następne kroki
W tych przykładach łączysz się lokalnie z instancją MongoDB z maszyny wirtualnej. Jeśli chcesz nawiązać połączenie z wystąpieniem bazy danych MongoDB z innej maszyny wirtualnej lub sieci, upewnij się, że utworzono odpowiednie reguły sieciowej grupy zabezpieczeń.
Te przykłady umożliwiają wdrożenie podstawowego środowiska bazy danych MongoDB na potrzeby programowania. Zastosuj wymagane opcje konfiguracji zabezpieczeń dla środowiska. Aby uzyskać więcej informacji, zobacz dokumentację zabezpieczeń bazy danych MongoDB.
Aby uzyskać więcej informacji na temat tworzenia szablonów, zobacz Omówienie usługi Azure Resource Manager.
Szablony usługi Azure Resource Manager używają rozszerzenia Custom Script Extension do pobierania i wykonywania skryptów na maszynach wirtualnych (VM). Aby uzyskać więcej informacji, zobacz Using the Azure Custom Script Extension with Linux Virtual Machines (Używanie rozszerzenia niestandardowego skryptu platformy Azure z maszynami wirtualnymi z systemem Linux).