【问题标题】:Fastest way to stop and start cassandra nodes before updates在更新之前停止和启动 cassandra 节点的最快方法
【发布时间】:2019-02-23 21:16:19
【问题描述】:

在应用程序更新和数据库更新之前停止 Cassandra 节点并在之后启动它们的最佳方法是什么?目前我正在遍历每个节点虚拟机并使用命令sudo service cassandra stop 停止它们,然后在更新完成后,我也在做同样的事情,只是使用命令sudo service cassandra start 启动它们。节点很少就可以了,但是我在服务器上有 20 个节点,这需要一些时间。

有没有更好/更有效的方法来做到这一点?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    有很多方法可以做到这一点-在shell中使用for循环+ssh,使用pssh等。您只需要记住最好对各个Cassandra节点执行滚动重启,所以您需要等到 Cassandra 再次启动。比如:

    for host in `cat your-host-list.txt`; do
       ssh user@${host} 'sudo service cassandra stop && your_update_command && sudo service cassandra start
    done
    

    或使用pssh 更容易:

    pssh -l user -h your-host-list.txt -p 1 -t 0 'sudo service cassandra stop && your_update_command && sudo service cassandra start
    
    • -p 1 告诉只并行执行一个命令
    • t 0 指示等待执行而不超时

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 2017-09-03
      • 2015-12-11
      • 2013-10-12
      相关资源
      最近更新 更多