Couchbase REST API与CLI
我试图在Couchbase 2.2上使用REST API,我发现有两件事似乎无法通过REST完成:Couchbase REST API与CLI,rest,couchbase,Rest,Couchbase,我试图在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重新平衡-u admin-p mypw-c 10.10.1.10:8091--服务器删除=10.10.1.12 至
couchbase cli cluster init-u admin-p mypw-c localhost:8091——cluster init ramsize=1024
couchbase cli重新平衡-u admin-p mypw-c 10.10.1.10:8091--服务器删除=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
它返回:{“不匹配”:1}
(可能是因为节点实际上没有被标记为弹出?)
我疯了吗,或者说没有办法用curl做这些事情?我在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
这是因为您无法删除最后一个节点,因为您无法执行重新平衡,这里将讨论此问题
我保留了我使用的真实IP,因此curl请求尽可能清晰,我现在终止了节点:)我在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
这是因为您无法删除最后一个节点,因为您无法执行重新平衡,这里将讨论此问题
我保留了我使用的真实IP,因此curl请求尽可能清晰,我现在已经终止了节点:)组合:
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 username=Administrator \
-d password=letmein \
-d port=8091 \
http://localhost:8091/settings/web
及
指示ejectnode命令本身在设计上不起作用
服务器需要处于挂起状态或故障转移状态才能使用该命令。似乎表明ejectnode命令本身在设计上无法工作
要使用该命令,服务器需要处于挂起或故障转移状态。您是要删除群集中的最后一个节点,还是要从多台计算机的群集中删除一个节点?我得到相同的响应,但我只有一个节点。我必须启动一个集群来再试一次,我可以这样做……而且,两个curl中的第一个是正确的语法。我现在正在向团队询问这一点,一旦我为你得到一些东西,我会添加评论/回答…@scalabl3-我设法在下面进行了删除,也许你可以提供标准化的方法:)这可能是内特·福克斯的卷发中缺少的-X帖子,他正在做一个get:)如果使用-d标志,卷发会将请求更改为POST。但是我同意,在测试时应该特别说明这一点,以确保:)您是在尝试删除群集中的最后一个节点,还是在尝试从多台机器的群集中删除一个节点?我得到相同的响应,但我只有一个节点。我必须启动一个集群来再试一次,我可以这样做……而且,两个curl中的第一个是正确的语法。我现在正在向团队询问这一点,一旦我为你得到一些东西,我会添加评论/回答…@scalabl3-我设法在下面进行了删除,也许你可以提供标准化的方法:)这可能是内特·福克斯的卷发中缺少的-X帖子,他正在做一个get:)如果使用-d标志,卷发会将请求更改为POST。但我同意,应该特别说明,尤其是在测试时,以确保:)这适用于删除节点。我在knownNodes列表中没有要弹出的节点。现在来解决问题#1!这适用于删除节点。我在knownNodes列表中没有要弹出的节点。现在来解决问题#1!