使用Docker Compose的Couchbase集群

Couchbase 4.0提供了许多功能,使您可以灵活地进行开发并可以进行任意规模的操作。 允许您以任意规模进行操作的一些功能包括:

  • 弹性可伸缩性
  • 一致的高性能
  • 永远在线
  • 多数据中心部署
  • 简单而强大的管理
  • 企业级安全

要了解有关这些企业功能的更多信息,请访问couchbase.com/operate-at-any-scale

Couchbase Server 4.0数据表中提供了完整的概述。

该博客将说明如何使用Docker Compose轻松设置3节点Couchbase集群。

docker-couchbase-cluster

源代码和最新说明可在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地址相互通信。

  1. 创建三个目录~couchbase/node1~couchbase/node2~couchbase/node3每个节点一个。
  2. 使用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上给出。

  3. 检查节点状态:
    > 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
  4. 检查节点日志:
    > 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集群

现在将这些节点配置为集群的一部分。

  1. 查找Docker Machine的IP地址:
    >> docker-machine ip default
    192.168.99.104
  2. 访问位于http:// <DOCKER_MACHINE_IP:8091的Couchbase管理控制台。 在我们的情况下,这是http://192.168.99.104:8091 。 它将输出显示为:
    docker-couchbase-cluster-setup-1024x717 点击“设置”。
  3. Docker为每个容器提供了一个内部IP地址,并且每个IP对在同一主机上运行的所有其他容器都是可见的。 将新节点添加到群集时,我们需要使用这些内部IP地址。查找第一个容器的IP地址:
    > docker inspect --format '{{ .NetworkSettings.IPAddress }}' couchbasecluster_couchbase3_1
    172.17.0.2

    使用此IP地址更改主机名字段:

    docker-couchbase-cluster-node1-e1445384614211-1024x952

  4. 点击“下一步”。 必要时调整RAM。 阅读有关Couchbase群集设置的更多信息。
  5. 选择一个您想要安装的示例存储桶,然后单击“下一步”。
  6. 将“每节点RAM配额”从400更改为100。这是必需的,因为稍后我们将添加其他节点。
    docker-couchbase-cluster-node-ram-quota-1024x594
  7. 单击下一步,接受条款和条件,然后单击下一步。
  8. 输入一个您可以记住的密码,稍后我们将需要它来添加更多节点。

集群的默认视图如下所示:

docker-couchbase-cluster-default-view-1024x409

添加更多Couchbase节点

现在,让我们添加之前由Docker Compose创建的其他两个节点。

  1. 单击“服务器节点”以查看默认视图:
    docker-couchbase-cluster-server-nodes-default-view-1024x316
  2. 查找剩余节点之一的IP地址:
    docker inspect --format '{{ .NetworkSettings.IPAddress }}' couchbasecluster_couchbase1_1
    172.17.0.1
  3. 单击“添加服务器”,指定IP地址:
    docker-couchbase-cluster-add-server-node1-1024x910 然后单击“添加服务器”。
  4. 使用服务器名称couchbasecluster_couchbase2_1重复前两个步骤。

Couchbase群集重新平衡

需要重新平衡群集,以确保在新添加或删除的节点之间很好地分配数据。 阅读有关Couchbase群集重新平衡的更多信息。

单击“ Pending Rebalance”选项卡,将显示已添加到集群但尚未重新平衡的节点:

docker-couchbase-cluster-pending-rebalance-1024x367

单击“重新平衡”,这将自动重新平衡集群:

docker-couchbase-cluster-rebalanced-1024x409

您刚刚使用Docker Compose部署了Couchbase集群,请尽情享受!

更多参考:

翻译自: https://www.javacodegeeks.com/2015/10/couchbase-cluster-using-docker-compose.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值