Couchbase REST API与CLI

时间:2013-12-11 19:36:18

标签: rest couchbase

我正在尝试在Couchbase 2.2上使用REST API,我发现了两件我无法通过REST做的事情:

  1. 当没有其他节点存在时,初始化新集群。 CLI版本: couchbase-cli cluster-init -u admin -p mypw -c localhost:8091 --cluster-init-ramsize=1024

  2. 从群集中删除健康节点。 CLI版本: couchbase-cli rebalance -u admin -p mypw -c 10.10.1.10:8091 --server-remove=10.10.1.12

  3. 至于删除节点,我试过了:

    curl -u admin:mypw -d otpNode=ns_1@10.10.1.12 \
    http://10.10.1.10:8091/controller/ejectNode
    

    返回:“无法删除活动服务器。”

    我也试过了:

    curl -s -u Administrator:myclusterpw \
    -d 'ejectedNodes=ns_1%4010.10.1.12&knownNodes=ns_1%4010.10.1.10%2Cns_1%4010.10.1.11' \
    http://10.10.1.10:8091/controller/rebalance
    

    返回:{"mismatch":1}(可能是由于节点实际上没有被标记为弹出?)

    我是疯了还是没有办法用curl做这些事情?

3 个答案:

答案 0 :(得分:4)

我在aws(10.170.76.236和10.182.151.86)上跨越了一个双节点集群,我能够使用下面的curl请求删除节点10.182.151.86

curl -v -u Administrator:password -X POST 'http://10.182.151.86:8091/controller/rebalance' -d 'ejectedNodes=ns_1@10.182.151.86&knownNodes=ns_1@10.182.151.86,ns_1@10.170.76.236'

删除节点并执行重新平衡,只留下'10 .170.76.236'作为单个节点。在下面运行此请求会导致您无法删除“无法删除活动服务器”。

curl -u Administrator:password -d otpNode=ns_1@10.170.76.236 http://10.170.76.236:8091/controller/ejectNode

这是因为您无法删除最后一个节点,因为无法执行重新平衡,此问题在此处涵盖http://www.couchbase.com/issues/browse/MB-7517

我离开了真正的IP,因为我使用了卷曲请求尽可能清晰,我现在终止了节点:)

答案 1 :(得分:1)

组合:

curl -X POST -u admin:password -d username=Administrator \
-d password=letmein \
-d port=8091 \
http://localhost:8091/settings/web

curl -X POST -u admin:password -d memoryQuota=400 \
http://localhost:8091/pools/default

答案 2 :(得分:0)

Ticket raised against this表示ejectnode命令本身不能按设计工作。

服务器需要处于挂起或故障转移状态才能使用该命令