zoukankan      html  css  js  c++  java
  • codis服务部署前的操作及初始化

    1.检查服务器ipv6模块是否打开,如果打开需要禁用ipv6,防止codis-dashbord连接zookeeper失败。

    因为不确定codis-dashbord服务连接zookeeper使用ipv4模块还是ipv6模块,所以需要将部署zookeeper服务的服务器与部署codis-dashbord服务的服务器的ipv6模块全部禁用。

    #方法一:
    echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
    echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
    #方法二:
    sysctl -w net.ipv6.conf.all.disable_ipv6=1
    sysctl -w net.ipv6.conf.default.disable_ipv6=1
    

    如果zookeeper服务在ipv6禁用前就已经启用,那么需要在禁用ipv6模块后重新启动zookeeper服务。

    2.启动codis-server服务。

    &nbspcodis-server是 codis 项目维护的一个 Redis 分支, 基于 2.8.13 开发, 增加了 slot 的支持和原子的数据迁移指令. codis 上层的 codis-proxy 和 codis-config 仅仅能和这个版本号的 Redis 交互才干正常执行.

    #修改codis-server配置文件,codis-server配置文件与redis类似。
    vim /data/apps/config/codis/6379.ini
    #启动codis-server进程
    /data/apps/opt/codis/bin/codis-server /data/apps/config/codis/6379.ini
    #检查codis进程是否正常启动
    ps aux|grep codis
    

    3.启动codis-dashbord服务。

    &nbspcodis 的管理工具,支持添加/删除 Redis 节点、添加/删除 Proxy 节点,发起数据迁移等操作。codis-config 本身还自带了一个 http server,会启动一个 dashboard,用户可以直接在浏览器上观察 Codis 集群的运行状态。

    #修改codis-dashbord配置文件
    vim /data/apps/config/codis/config.ini
    ##### dashboard and proxies
    product=loadtest  #集群名
    dashboard_addr=codis1:18087  #dashbord地址
    password=  #连接zookeeper密码
    coordinator=zookeeper
    zk=zk1:2181  #zookeeperip及端口
    ##### Properties below are only for proxies
    backend_ping_period=5
    session_max_timeout=1800
    session_max_bufsize=131072
    session_max_pipeline=1024
    zk_session_timeout=30000
    ##### must be different for each proxy
    proxy_id=codis1  #同一集群proxy_id不能冲突
    
    
    #启动codis-dashbord
    /data/apps/opt/codis/start-dashboard.sh start
    
    
    #start-dashboard.sh
    #!/bin/bash
    exec /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini 
     -L /data/apps/log/codis/dashboard.log 
     dashboard 
     --addr=codis1:18087   #需要配置与config.ini配置文件相同且正确
     --http-log=/data/apps/log/codis/requests.log &>/dev/null &
    echo $! > /data/apps/var/codis/dashboard.pid
    
    #检查codis-dashbord服务是否启动正常
    ps aux|grep codis
    

    4.将codis-server加入codis集群并确立角色

    &nbsp通过codis-dashbord向zookeeper集群中添加群组信息,每个group作为一个redis组存在,只允许有一个master允许有多个slave,group id仅支持大于1的整数。

    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini server add 1 codis1:6379 master
    {
      "msg": "OK",
      "ret": 0
    }
    
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini server add 1 codis2:6379 slave
    {
      "msg": "OK",
      "ret": 0
    }
    

    集群创建成功后可以通过/data/apps/opt/codis/bin/codis-cli -h codis1 -p 6379 info命令来查看集群信息。

    5.slot初始化

    只用将slot初始化后才能进行solt分区。

    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot init -f
    

    6.slot分区

    设置server group服务的slot范围,如slot[0-511]由server group1提供服务,slot[512-1023]由server group2提供服务。

    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 0 511 1 online
    
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 512 1023 2 online
    

    7.启动codis-proxy服务

    &nbsp注意:codis服务启动有严格的顺序要求,如果顺序错乱可能需要清除zookeeper数据重新初始化服务。
    &nbspcodis-proxy是client连接的codis-server的代理服务,事实上我们使用codis时连接的为codis—proxy端口,codis-proxy通过内部机制将数据写入各个codis-server group。

    /data/apps/opt/codis/start-proxy.sh start
    {
      "msg": "OK",
      "ret": 0
    }
    

    8.修改codis-proxy状态

    &nbspcodis-proxy服务默认启动后,处于offline状态,只有处于online状态的codis-proxy才能对外提供服务。

    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini proxy online codis1
    

    9.测试codis-proxy写入与读取数据是否正常

    #写入数据
    /data/apps/opt/codis/bin/codis-cli -h 127.0.0.1 -p 19000 set abc 123
    OK
    
    #读取数据
    /data/apps/opt/codis/bin/codis-cli -h 127.0.0.1 -p 19000 get abc
    "123"
    

    如果以上都没有问题的话,表示codis初始化完成。

    如果出现失败的情况,需要查看日志确定是不是zookeeper写入错误产生脏数据,如果出现这种情况的话,执行以下操作可以解决。

    /data/apps/opt/zookeeper/bin/zkCli.sh -server zk1
    [zk: zk1:2181(CONNECTED) 0] rmr /zk/codis
    

    slot分区

    #三组
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 0 340 1 online
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 341 681 2 online
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 682 1023 3 online
    
    #四组
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 0 255 1 online
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 256 511 2 online
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 512 767 3 online
    /data/apps/opt/codis/bin/codis-config -c /data/apps/config/codis/config.ini slot range-set 768 1023 4 online
    
  • 相关阅读:
    小儿吃鸡蛋食积案
    女子经前胀痛脸上红斑案
    小儿外感咳嗽咽痛案
    顽固偏头痛案
    交通心肾治失眠
    小儿扁桃体高热兼咳嗽案
    过敏疾患与太少两感相合
    经前乳胀案
    女子黃带案
    小儿外感后频繁眨眼案
  • 原文地址:https://www.cnblogs.com/Cherry-Linux/p/7653405.html
Copyright © 2011-2022 走看看