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:
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
показано выше:> 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.
- Проверьте состояние узлов:
> 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 также может показывать статус:
> 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
- Проверьте журналы узлов:
> 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:
> 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-адрес первого контейнера:
> docker inspect --format '{{ .NetworkSettings.IPAddress }}' couchbasecluster_couchbase3_1 172.17.0.2
- Нажмите «Далее». Отрегулируйте оперативную память при необходимости. Узнайте больше о настройках Couchbase Cluster .
- Выберите образец корзины, который вы хотите установить, и нажмите «Далее».
- Измените квоту ОЗУ для каждого узла с 400 на 100. Это необходимо, поскольку мы добавим другие узлы позже.
- Нажмите Next, примите T & C и нажмите Next.
- Введите пароль, который вы можете запомнить, так как он понадобится нам позже, чтобы добавить больше узлов.
Вид кластера по умолчанию выглядит примерно так:
Добавить больше узлов Couchbase
Теперь давайте добавим два других узла, которые были созданы ранее Docker Compose.
- Нажмите «Узлы сервера», чтобы увидеть вид по умолчанию как:
- Найдите IP-адрес одного из оставшихся узлов:
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, наслаждайтесь!