Статьи

Шаг за шагом: производственное развертывание с Couchbase на виртуальных машинах Windows Azure

Эта статья была первоначально написана Джиханом Бийикоглу

Приветствую всех, 

Я новый рекрут, но давний поклонник Couchbase, и мне нравятся поставки программного обеспечения и ведение блогов об этом. Сначала короткое вступление: меня зовут Джихан Бийикоглу, и я работаю менеджером по продукции в Couchbase. Couchbase является 4-й платформой базы данных в моей карьере. В прошлых жизнях я работал над SQL Azure и SQL Server, Informix и Illustra. За последнее десятилетие я потратил много времени на разработку решений и платформ SaaS, PaaS и IaaS. Я хотел бы начать с первого поста, посвященного развертыванию Couchbase на виртуальных машинах Windows Azure. Это пошаговое руководство по запуску среды в Azure. Наслаждаться…

Вот шаги для запуска вашего кластера Couchbase в Windows Azure: 

  1. Создайте виртуальную машину: я буду использовать Windows Server для примера. 
  2. Установите Couchbase Server: откройте браузер на ВМ, загрузите  Couchbase Server и установите его на ВМ. 

    1. Чтобы разрешить связь с узлом, откройте эти порты на брандмауэре Windows на вашем узле.
  3. Настройка Couchbase: дважды щелкните значок Couchbase на рабочем столе и настройте Couchbase (используйте параметры по умолчанию) 

Вы сделали! У вас есть одно развертывание узла, и это все, что вам нужно для игры с Couchbase Server …

Конфигурация производства с сервером Couchbase в Windows Azure

Если вы немного серьезнее относитесь к Couchbase и хотите получить производственное развертывание, читайте дальше … Для производственного развертывания вам нужно сделать немного больше: создать кластер Couchbase с большим количеством узлов для повышения доступности и пропускной способности. Для критически важных приложений также важно быть устойчивым к региональным сбоям или сбоям в центрах обработки данных или просто обеспечивать более низкие задержки для пользователей, распространяющихся по всему миру. Таким образом, многие заказчики на производстве устанавливают второй кластер Couchbase, который реплицирует данные с помощью Cross DataCenter Replication (XDCR), чтобы обеспечить более высокую доступность и / или аварийное восстановление и / или более низкую задержку для пользователей в разных регионах. 

Давайте рассмотрим, как настроить среду промышленного уровня с Couchbase Server в Windows Azure:

  1. Настройка виртуальной сети: основная функция этого заключается в использовании частных IP-адресов для внутрикластерной связи Couchbase. Подробности ниже о том, почему это выгодно.
  2. Захват образа виртуальной машины: это помогает избежать повторения шага 2 выше для каждого узла. 
  3. Создайте узлы, используя образ виртуальной машины
  4. Настроить кластер Couchbase
  5. При необходимости настройте XDCR и получите географическое распределение, доступность и аварийное восстановление для рабочего развертывания.

Давайте перейдем к деталям.

# 1 Настройка виртуальной сети: 

Здесь действительно нет ничего особенного для Couchbase. Виртуальные сети дают вам частные IP-адреса, которыми вы можете управлять, и это дает вам более короткий путь для связи между узлами Couchbase. Вы можете использовать общедоступные IP-адреса для связи между узлами, но это означает, что ваше общение должно проходить к границе центра обработки данных Azure. 

  1. Укажите имя для вашей виртуальной сети: CB_VN_WESTUS , Укажите новое имя группы сходства: CBWESTUS.
  2. Пропустить указание конфигурации DNS-сервера или точки доступа
  3. Укажите следующие параметры подсети

# 2 Захват изображения виртуальной машины:

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

  1. Создайте виртуальную машину в Windows Azure — для примера я буду использовать Windows Server.

    1. Выберите Windows Server — просто последний лучший
    2. Назовите вашу виртуальную машину: couchbase01 . Укажите размер виртуальной машины, имя пользователя и пароль администратора. 
  2. Откройте браузер на виртуальной  машине загрузите сервер Couchbase и  установите  его на виртуальную машину (отключите «Конфигурация усиленной безопасности IE», чтобы предотвратить появление всплывающих окон с предупреждениями)
  3. Чтобы разрешить связь с узлом, откройте  эти  порты на брандмауэре Windows на вашем узле.
  4. Настроить разрешение частного IP-имени — этот шаг обеспечивает связь узлов друг с другом по частным IP-адресам для повышения эффективности сети. Один из способов сделать это — создать файл hosts с именами узлов и частными IP-адресами всех узлов.

    1. Это немного сложно: вам нужно следовать схеме именования узлов и убедиться, что вы создаете свои виртуальные машины строго, чтобы гарантировать, что имена узлов соответствуют частным IP-адресам, назначенным каждому узлу. Помните, что частные IP-адреса будут начинаться с 10.0.0.4 для вашего первого узла, с 10.0.0.5 для второго узла и т. Д. Таким образом, в  файле «% windir% / system32 / drivers / etc / hosts» будут следующие записи:
10.0.0.4  couchbase01.cloudapp.net
10.0.0.5  couchbase02.cloudapp.net
10.0.0.6  couchbase03.cloudapp.net
…
  1. Подготовьте образ для захвата: в командной строке запустите « % windir% \ system32 \ sysprep \ sysprep.exe / shutdown / oobe / generalize »
  2. После завершения работы виртуальной машины используйте портал управления Windows Azure для захвата образа. (прямо рядом, чтобы удалить в нижней части портала)

#3 Create nodes using the VM Image:

We’ll use the VM Image you created to create the nodes you will use for your couchbase deployment.

  1. Create a VM from the Image — 
    1. Name your virtual machine: couchbase01. Specify a VM size and admin username and password. 
    2. Choose Virtual Network: CB_VN_WESTUS
  2. Repeat step 1 to create more nodes.

#4 Configure Couchbase Cluster

With this step, we’ll initialize the cluster and tie the nodes together. 

  1. Double-click on the Couchbase icon on your desktop and configure Couchbase Server (use fully qualified hostnames here as well –nodename.cloudapp.net) 
  2. Click on «Servers Nodes» on the Couchbase Web Console and click “Add Server” to add the remaining nodes (use fully qualified hostnames here as well –nodename.cloudapp.net) 
  3. When you are done adding node, click “Rebalance” to complete node configuration.

At this point you are ready to create your bucket and start pumping your workload to it.

#5 Create XDCR:

For mission critical apps it is key to be resilient to regional failures or data center failures or simply provide lower latencies to users spread around the world. Thus many customers set up a second Couchbase cluster that is replicating data with Cross DataCenter Replication (XDCR) to get higher availability and/or disaster recovery and/or lower latency for your users in different geographies. XDCR support a whole bunch of topologies for flexible replication schemes and you can learn all about XDCR here. For setting up a simple uni-directional topology, here is what you need to do;

  1. Set up a second cluster: simply pick another region in Azure and repeat steps 1-4 to create another cluster in the region. 
  2. Create your bucket on the second cluster and on your primary cluster configure XDCR using the fully qualified node name for referencing the remote cluster.

Ok, here is the around-the-block tour of how to set up Couchbase on Windows Azure. Looking forward to all the feedback. 

-cihan biyikoglu