Couchbase 4.0 предоставляет множество функций, которые позволяют быстро развиваться и работать в любом масштабе. Некоторые функции, которые позволяют вам работать в любом масштабе:
- Эластичная Масштабируемость
- Стабильно высокая производительность
- Доступность всегда
- Развертывание мультицентра
- Простое и мощное администрирование
- Корпоративная безопасность
Узнайте больше об этих корпоративных функциях на couchbase.com/operate-at-any-scale .
Полный обзор доступен в техническом описании Couchbase Server 4.0 .
В этом блоге будет рассказано, как легко настроить 3-узловый кластер Couchbase с помощью Docker Compose.
Исходный код и последние инструкции доступны по адресу github.com/arun-gupta/docker-images/tree/master/couchbase-cluster .
Создание узлов Couchbase
Кластер Couchbase может быть легко создан с использованием следующего файла Docker Compose:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
couchbase1: image: couchbase/server volumes: - ~/couchbase/node1:/opt/couchbase/varcouchbase2: image: couchbase/server volumes: - ~/couchbase/node2:/opt/couchbase/varcouchbase3: image: couchbase/server volumes: - ~/couchbase/node3:/opt/couchbase/var ports: - 8091:8091 - 8092:8092 - 8093:8093 - 11210:11210 |
Этот файл имеет определение сервиса для трех узлов Couchbase. Административные порты доступны только для одного узла, так как другие узлы будут взаимодействовать друг с другом, используя назначенные Docker IP-адреса.
- Создайте три каталога
~couchbase/node1,~couchbase/node2,~couchbase/node3— по одному для каждого узла. - Запустите три узла Couchbase, используя
docker-compose.ymlпоказанный ранее:010203040506070809101112131415161718192021222324> docker-compose up -dPulling couchbase1 (couchbase/server:latest)...latest: Pulling from couchbase/server70618b6e8070: Pull complete05820377a11a: Pull complete8de88a91bde5: Pull complete61994089e28e: Pull completebc191c81777b: Pull complete939d0c2514c9: Pull completefa75256f7885: Pull complete7bc9fb79dd30: Pull completee4c99c5f6106: Pull complete307ac999aa30: Pull complete24eeb78ce9ab: Pull completec4180973b487: Pull complete6e0c54ca80e7: Pull completec6d69cc874d9: Pull complete31485a5bae7a: Pull complete31c8df734d6b: Pull completeDigest: sha256:0e983929897ae9bd396533ff7875f30027290c6acf164a66c967ca8884507381Status: Downloaded newer imageforcouchbase/server:latestCreating couchbasecluster_couchbase1_1Creating couchbasecluster_couchbase3_1Creating couchbasecluster_couchbase2_1Эта команда дана на Docker Machine.
- Проверьте состояние узлов:
12345
> dockerpsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES07ff4f1823a4 couchbase/server"/entrypoint.sh couch"5 minutes ago Up 5 minutes 8091-8093/tcp, 11207/tcp, 11210-11211/tcp, 18091-18092/tcpcouchbasecluster_couchbase2_118f7bf07134a couchbase/server"/entrypoint.sh couch"5 minutes ago Up 5 minutes 0.0.0.0:8091-8093->8091-8093/tcp, 11207/tcp, 11211/tcp, 0.0.0.0:11210->11210/tcp, 18091-18092/tcpcouchbasecluster_couchbase3_14db3e1280776 couchbase/server"/entrypoint.sh couch"5 minutes ago Up 5 minutes 8091-8093/tcp, 11207/tcp, 11210-11211/tcp, 18091-18092/tcpcouchbasecluster_couchbase1_1Docker Compose также может показывать статус:
0102030405060708091011121314> docker-composepsName Command State Ports-----------------------------------------------------------------------------------------------------------------------------------------------------------------couchbasecluster_couchbase1_1/entrypoint.sh couchbase-s ... Up 11207/tcp, 11210/tcp, 11211/tcp,18091/tcp, 18092/tcp, 8091/tcp,8092/tcp, 8093/tcpcouchbasecluster_couchbase2_1/entrypoint.sh couchbase-s ... Up 11207/tcp, 11210/tcp, 11211/tcp,18091/tcp, 18092/tcp, 8091/tcp,8092/tcp, 8093/tcpcouchbasecluster_couchbase3_1/entrypoint.sh couchbase-s ... Up 11207/tcp, 0.0.0.0:11210->11210/tcp,11211/tcp, 18091/tcp, 18092/tcp,0.0.0.0:8091->8091/tcp,0.0.0.0:8092->8092/tcp,0.0.0.0:8093->8093/tcp - Проверьте журналы узлов:
12345
> docker-compose logsAttaching to couchbasecluster_couchbase2_1, couchbasecluster_couchbase3_1, couchbasecluster_couchbase1_1couchbase2_1 | Starting Couchbase Server -- Web UI available at http://<ip>:8091couchbase3_1 | Starting Couchbase Server -- Web UI available at http://<ip>:8091couchbase1_1 | Starting Couchbase Server -- Web UI available at http://<ip>:8091
Настроить кластер Couchbase
Теперь давайте сконфигурируем эти узлы, чтобы они стали частью кластера.
- Найти IP-адрес Docker Machine:
12
>> docker-machine ip default192.168.99.104 - Получите доступ к консоли администратора Couchbase по адресу http: // <DOCKER_MACHINE_IP: 8091. Это http://192.168.99.104:8091 в нашем случае. Это покажет вывод как:
- Каждый контейнер получает внутренний IP-адрес от Docker, и каждый из этих IP-адресов виден всем другим контейнерам, работающим на том же хосте. Нам нужно использовать эти внутренние IP-адреса при добавлении нового узла в кластер. Найти IP-адрес первого контейнера:
12
> docker inspect --format'{{ .NetworkSettings.IPAddress }}'couchbasecluster_couchbase3_1172.17.0.2Используйте этот IP-адрес для изменения поля Hostname:
- Нажмите «Далее». Отрегулируйте оперативную память при необходимости. Узнайте больше о настройках Couchbase Cluster .
- Выберите образец корзины, который вы хотите установить, и нажмите «Далее».
- Измените квоту ОЗУ для каждого узла с 400 на 100. Это необходимо, поскольку мы добавим другие узлы позже.
- Нажмите Next, примите T & C и нажмите Next.
- Введите пароль, который вы можете запомнить, так как он понадобится нам позже, чтобы добавить больше узлов.
Вид кластера по умолчанию выглядит примерно так:
Добавить больше узлов Couchbase
Теперь давайте добавим два других узла, которые были созданы ранее Docker Compose.
- Нажмите «Узлы сервера», чтобы увидеть вид по умолчанию как:
- Найдите IP-адрес одного из оставшихся узлов:
12
docker inspect --format'{{ .NetworkSettings.IPAddress }}'couchbasecluster_couchbase1_1172.17.0.1 - Нажмите «Добавить сервер», укажите IP-адрес:
- Повторите предыдущие два шага с именем сервера
couchbasecluster_couchbase2_1.
Couchbase Cluster Rebalance
Кластер необходимо перебалансировать, чтобы обеспечить правильное распределение данных между вновь добавленными или удаленными узлами. Узнайте больше о Couchbase Cluster Rebalance .
При нажатии на вкладку «Ожидание перебалансировки» отображаются узлы, которые были добавлены в кластер, но еще не перебалансированы:
Нажмите «Rebalance», и это автоматически перебалансирует кластер:
Вы только что развернули кластер Couchbase с помощью Docker Compose, наслаждайтесь!
Еще несколько ссылок:
- Руководство по администрированию Couchbase 4
- Архитектура сервера Couchbase 4
- Настройка Couchbase 4 Cluster
| Ссылка: | Couchbase Cluster с помощью Docker Compose от нашего партнера по JCG Аруна Гупта из Miles to go 2.0… блог. |








