我正在尝试在Couchbase 2.2上使用REST API,我发现了两件我无法通过REST做的事情:
当没有其他节点存在时,初始化新集群。
CLI版本:
couchbase-cli cluster-init -u admin -p mypw -c localhost:8091 --cluster-init-ramsize=1024
从群集中删除健康节点。
CLI版本:
couchbase-cli rebalance -u admin -p mypw -c 10.10.1.10:8091 --server-remove=10.10.1.12
至于删除节点,我试过了:
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做这些事情?
答案 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命令本身不能按设计工作。
服务器需要处于挂起或故障转移状态才能使用该命令