Статьи

Установите Couchbase в Windows Azure

Для тех из вас, кто следил за моей серией статей о настройке Couchbase в Windows Azure, я сейчас нахожусь на самой «специфичной для Couchbase» части этого процесса. Пока что я настроил виртуальную сеть и создал кластер из трех экземпляров виртуальных машин, которые были подготовлены для поддержки Couchbase, и следующим шагом является установка программного обеспечения на этих виртуальных машинах. Если вы не работаете с Couchbase специально, этот пост можно пропустить!

Установка Couchbase на экземпляр виртуальной машины

Вспомните из предыдущего поста, что при создании образа Couchbase20-rel4 для галереи виртуальных машин я скачал и сохранил установочный файл Couchbase на диске C: \. Я специально не запускал образ базовой виртуальной машины, потому что установщик Couchbase записывает IP-адрес текущей машины как часть процесса установки. Выполнение его на базовом образе виртуальной машины создало бы установку, которая не работала бы, когда из нее создавались отдельные образы (с совершенно разными адресами). Это можно исправить с помощью некоторых сценариев реконфигурации Couchbase , но в данном конкретном случае было проще запустить установщик три раза, по одному на каждой виртуальной машине.

Программа установки Couchbase на экземпляре виртуальной машины

Запуск установки порождает знакомую последовательность экранов настройки. Релиз, который я установил, запрашивает каталог установки (который я оставил по умолчанию), а остальная часть процесса просто включает в себя переход по различным информационным экранам, пока установка не будет завершена.Ход установки Couchbase

После нажатия кнопки Готово в последнем диалоговом окне появится консоль веб-администрирования Couchbase.

Сайт администрации Couchbase

С помощью нескольких щелчков мыши на консоли веб-администрирования вы можете настроить сервер или добавить сервер в существующий кластер; однако, поскольку этот образ виртуальной машины заблокирован, мне нужно отключить конфигурацию усиленной безопасности (ESC) IE, чтобы использовать интерфейс на основе браузера для установки продукта. И мне нужно сделать это на каждой из трех виртуальных машин в кластере.

В качестве альтернативы я могу использовать интерфейс командной строки Couchbase , с дополнительным бонусом, что скрипт можно запустить один раз на одной виртуальной машине, но настроить весь кластер.

Конфигурирование кластера

Чтобы инициализировать кластер, я создал сценарий PowerShell на своем локальном компьютере и просто вырезал и вставил этот сценарий в новый файл Notepad на одной из виртуальных машин.

# replace with the IP addresses of the VMS
# after Couchbase has been installed on each VM
$server1='192.168.0.36:8091'
$server2='192.168.0.37:8091'
$server3='192.168.0.38:8091'

# set desired cluster user id and password
$uid="Administrator"
$pwd="TapMap"

# set path to couchbase-cli
$env:path = $env:path + ";C:\program files\Couchbase\Server\bin\"

# create the cluster with RAM size 512MB
couchbase-cli cluster-init -c $server1 `
    --cluster-init-username=$uid `
    --cluster-init-password=$pwd `
    --cluster-init-ramsize=512


# create the bucket 'beernique' with size 256MB
couchbase-cli bucket-create -c $server1 `
    --bucket=beernique `
    --bucket-password=b33rs `
    --bucket-type=couchbase `
    --bucket-port=11211 `
    --bucket-ramsize=256 `
    --bucket-replica=2 `
    -u $uid `
    -p $pwd


# add second server to cluster
couchbase-cli server-add -c $server1 `
    --server-add=$server2 `
    -u $uid `
    -p $pwd


# add final server to cluster (and rebalance)
couchbase-cli rebalance -c $server1 `
    --server-add=$server3 `
    -u $uid `
    -p $pwd

Сценарий включает в себя несколько элементов (затененных выше), которые необходимо инициализировать для моей конкретной среды:

  • $ server1, $ server2 и $ server3 установлены на IP-адреса подсетей каждой виртуальной машины в моем кластере Couchbase
  • $ uid — это идентификатор пользователя для кластера Couchbase, который будет создан
  • $ pwd — это пароль, связанный с $ uid
  • $ env: path содержит расположение утилиты couchbase-cli, которая была установлена ​​при запуске установщика Couchbase на каждой виртуальной машине.

Оставшаяся часть сценария, который не требует модификации, создает кластер и инициализирует корзину Couchbase для хранения данных, связанных с примером приложения TapMap . couchbase-cli имеет ряд подкоманд, которые можно использовать для инициализации кластера Couchbase, для каждой из которых требуются учетные данные кластера Couchbase:

  • cluster-init устанавливает кластер, используя адрес $ server1, указанный в верхней части скрипта, и дает каждому члену кластера конфигурацию ОЗУ 512 МБ.
  • bucket-create создает новое ведро Couchbase под названием beernique с паролем b33rs . Эта корзина будет занимать до половины объема оперативной памяти сервера Couchbase на каждой машине. Кроме того, данные в сегменте будут реплицированы на два других сервера в кластере для обеспечения высокой доступности.
  • добавление сервера добавляет еще один сервер в кластер, который был только что создан.
  • rebalance делает то же самое, что и server-add, но также перебалансирует кластер, поэтому он призван добавить только последний сервер в кластер.

Я могу запустить скрипт в любой из трех виртуальных машин Couchbase, поскольку они находятся в одной подсети и имеют видимость друг для друга через свои внутренние IP-адреса. PowerShell уже является частью образа виртуальной машины сервера, поэтому я просто сохраняю сценарий в файле на виртуальной машине и использую консоль PowerShell для его выполнения. Обратите внимание, что для этого мне нужно установить политику выполнения неограниченной , так как мой временный скрипт не был подписан. После запуска сценария я сбрасываю политику выполнения на более строгое значение ограничения.

Скрипт PowerShell для настройки сервера

Вот и все! Когда сценарий завершается, кластер настроен, и я могу просмотреть его конфигурацию с любого компьютера в этом кластере по URL-адресу http: // localhost: 8091.

Couchbase работает кластер

В Couchbase еще нет данных, но я вернусь к этому позже, когда буду обсуждать, как установить приложение TapMap и инициировать заполнение базы данных данными о пиве и пивоварне.