Codis集群升级方法

我们现有的测试用的codis集群,有两个proxy,分别部署在两台不同的物理机,两个proxy做ha提供给业务线测试。proxy下面有个2个group,每个group分别有一主一从的codis-server实例。每一组的主、从实例分别部署在不同的物理机。升级方案如下(以一台机器为例):

1、把编译好的bin覆盖原来的bin文件

2、升级proxy

    2.1 把proxy下线有两种方法分别如下

        第一种方法: 在dashboard操作该机器上的 proxy 点击  Mark Offline按钮 ,如图:

             Codis集群升级方法_第1张图片        

        第二种方法:执行如下命令

         ../bin/codis-config -c config.ini proxy offline proxy_1 #记得修proxy的id

    2.2启动proxy

        第一步:执行如下命令启动proxy

        ./start_proxy.sh  #执行完这个命令,在dashboard就可以看到启动的proxy

        第二步:执行命令把proxy状态置为online

         ./set_proxy_online.sh # 也可在dashboard执行Mark Online按钮

3、升级config

    3.1关掉codis-config进程,执行如下命令

    kill codis-config #切记不能加-9,例如:kill 12345

    3.2启动codis-config执行如下命令

    ./start_dashboard.sh

4、升级codis-server(一般情况下不用更新codis-server)

    4.1先添加一个新的codis-server     

    如果要升级codis-server,可以使用如下命令先启动一个codis-server

    nohup ../bin/codis-server ./redis_conf/6381.conf &> ./log/redis_6381.log & #记得改端口号

   然后在dashboard里操作,在需要升级的codis所在group的地方单击 Add New Redis Instance 按钮, 如下图:

      Codis集群升级方法_第2张图片

    4.2把新添加的实例设置为master,在dashboard找到该实例,单击 Promote to Master按钮,如下图:

        

    4.3 关掉要升级的codis-server 执行如下命令,

    ps -ef|grep codis-server

    kill pid #把相应的pidkill掉

    4.4启动该端口的codis-server,执行如下命令,记得修改端口号等信息

    nohup ../bin/codis-server ./redis_conf/6381.conf &> ./log/redis_6381.log &

    然后反向操作把新升级的实例根据需要替换其他要升级的codis-server即可

切记:在执行命令的时候一定要谨慎


 



你可能感兴趣的:(codis)