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/var couchbase2: image: couchbase /server volumes: - ~ /couchbase/node2 : /opt/couchbase/var couchbase3: 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 -d
Pulling couchbase1 (couchbase
/server
:latest)...
latest: Pulling from couchbase
/server
70618b6e8070: Pull complete
05820377a11a: Pull complete
8de88a91bde5: Pull complete
61994089e28e: Pull complete
bc191c81777b: Pull complete
939d0c2514c9: Pull complete
fa75256f7885: Pull complete
7bc9fb79dd30: Pull complete
e4c99c5f6106: Pull complete
307ac999aa30: Pull complete
24eeb78ce9ab: Pull complete
c4180973b487: Pull complete
6e0c54ca80e7: Pull complete
c6d69cc874d9: Pull complete
31485a5bae7a: Pull complete
31c8df734d6b: Pull complete
Digest: sha256:0e983929897ae9bd396533ff7875f30027290c6acf164a66c967ca8884507381
Status: Downloaded newer image
for
couchbase
/server
:latest
Creating couchbasecluster_couchbase1_1
Creating couchbasecluster_couchbase3_1
Creating couchbasecluster_couchbase2_1
Эта команда дана на Docker Machine.
- Проверьте состояние узлов:
12345
> docker
ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07ff4f1823a4 couchbase
/server
"/entrypoint.sh couch"
5 minutes ago Up 5 minutes 8091-8093
/tcp
, 11207
/tcp
, 11210-11211
/tcp
, 18091-18092
/tcp
couchbasecluster_couchbase2_1
18f7bf07134a 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
/tcp
couchbasecluster_couchbase3_1
4db3e1280776 couchbase
/server
"/entrypoint.sh couch"
5 minutes ago Up 5 minutes 8091-8093
/tcp
, 11207
/tcp
, 11210-11211
/tcp
, 18091-18092
/tcp
couchbasecluster_couchbase1_1
Docker Compose также может показывать статус:
0102030405060708091011121314> docker-compose
ps
Name 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
/tcp
couchbasecluster_couchbase2_1
/entrypoint
.sh couchbase-s ... Up 11207
/tcp
, 11210
/tcp
, 11211
/tcp
,
18091
/tcp
, 18092
/tcp
, 8091
/tcp
,
8092
/tcp
, 8093
/tcp
couchbasecluster_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 logs
Attaching to couchbasecluster_couchbase2_1, couchbasecluster_couchbase3_1, couchbasecluster_couchbase1_1
couchbase2_1 | Starting Couchbase Server -- Web UI available at http:
//
<ip>:8091
couchbase3_1 | Starting Couchbase Server -- Web UI available at http:
//
<ip>:8091
couchbase1_1 | Starting Couchbase Server -- Web UI available at http:
//
<ip>:8091
Настроить кластер Couchbase
Теперь давайте сконфигурируем эти узлы, чтобы они стали частью кластера.
- Найти IP-адрес Docker Machine:
12
>> docker-machine ip default
192.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_1
172.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_1
172.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… блог. |