Couchbase REST API与CLI

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 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

  • 至于删除节点,我尝试过:

    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!