Couchbase 4.0提供了许多功能,使您可以灵活地进行开发并可以进行任意规模的操作。 允许您以任意规模进行操作的一些功能包括:
- 弹性可伸缩性
- 一致的高性能
- 永远在线
- 多数据中心部署
- 简单而强大的管理
- 企业级安全
要了解有关这些企业功能的更多信息,请访问couchbase.com/operate-at-any-scale 。
Couchbase Server 4.0数据表中提供了完整的概述。
该博客将说明如何使用Docker Compose轻松设置3节点Couchbase集群。
源代码和最新说明可在github.com/arun-gupta/docker-images/tree/master/couchbase-cluster中找到 。
创建Couchbase节点
使用以下Docker Compose文件可以轻松创建Couchbase集群:
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
每个节点一个。 - 使用
docker-compose.yml
显示docker-compose.yml
启动三个Couchbase节点:> 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集群
现在将这些节点配置为集群的一部分。
- 查找Docker Machine的IP地址:
>> docker-machine ip default 192.168.99.104
- 访问位于http:// <DOCKER_MACHINE_IP:8091的Couchbase管理控制台。 在我们的情况下,这是http://192.168.99.104:8091 。 它将输出显示为:
点击“设置”。 - Docker为每个容器提供了一个内部IP地址,并且每个IP对在同一主机上运行的所有其他容器都是可见的。 将新节点添加到群集时,我们需要使用这些内部IP地址。查找第一个容器的IP地址:
> docker inspect --format '{{ .NetworkSettings.IPAddress }}' couchbasecluster_couchbase3_1 172.17.0.2
使用此IP地址更改主机名字段:
- 点击“下一步”。 必要时调整RAM。 阅读有关Couchbase群集设置的更多信息。
- 选择一个您想要安装的示例存储桶,然后单击“下一步”。
- 将“每节点RAM配额”从400更改为100。这是必需的,因为稍后我们将添加其他节点。
- 单击下一步,接受条款和条件,然后单击下一步。
- 输入一个您可以记住的密码,稍后我们将需要它来添加更多节点。
集群的默认视图如下所示:
添加更多Couchbase节点
现在,让我们添加之前由Docker Compose创建的其他两个节点。
- 单击“服务器节点”以查看默认视图:
- 查找剩余节点之一的IP地址:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' couchbasecluster_couchbase1_1 172.17.0.1
- 单击“添加服务器”,指定IP地址:
然后单击“添加服务器”。 - 使用服务器名称
couchbasecluster_couchbase2_1
重复前两个步骤。
Couchbase群集重新平衡
需要重新平衡群集,以确保在新添加或删除的节点之间很好地分配数据。 阅读有关Couchbase群集重新平衡的更多信息。
单击“ Pending Rebalance”选项卡,将显示已添加到集群但尚未重新平衡的节点:
单击“重新平衡”,这将自动重新平衡集群:
您刚刚使用Docker Compose部署了Couchbase集群,请尽情享受!
更多参考:
翻译自: https://www.javacodegeeks.com/2015/10/couchbase-cluster-using-docker-compose.html