Codis的安装

其他环境准备:

   安装JDK,安装Zookeeper

1、创建codis账户

  useradd codis

  passwd codis

2、解压codis3.1.3-go1.7.4-linux.tar.gz/home/codis/目录下

进入bin目录下

(1)、启动dashboard

        1) 初始化生成配置文件dashboard.toml

           ./codis-dashboard --default-config | tee dashboard.toml

        2)修改参数

             coordinator_addr zk地址,逗号隔开

             product_name  集群名,无限制

             Product_auth  集群密码,默认为空

             admin_addr   restful api地址(本机地址:18080

     例如下配置:vi config/dashboard.toml

       coordinator_name = "zookeeper"

       coordinator_addr = "192.168.46.156:2181,192.168.46.157:2181,192.168.46.158:2181"

       # Set Codis Product Name/Auth.

       product_name = "codis-rcp"

       product_auth = ""

       # Set bind address for admin(rpc), tcp only.

       admin_addr = "192.168.46.151:18080"

       3)启动

           nohup ./codis-dashboard --ncpu=4 --config=dashboard.toml --log=dashboard.log --log-level=INFO &

       4) 验证 ps -ef| grep codis 查看dashboard-log.XXXX.XX.XX日志

 

(2)、启动proxy(可以配置多台)

     1) 初始化生成配置文件prxoy.toml

        ./codis-proxy --default-config | tee proxy.toml

     2)修改参数

        product_nameproduct_auth与上面一致

        admin_addr:本地ip:11080 restful api地址

        proxy_addr: 对外暴露ip:19000 redisClietn连接地址

        jodis_name: zookeeper

        jodis_addr:  xxxx:2181

        jodis_compatiblefasle (3.0以上必须为false,true为兼容2.0)

       例如下配置:vi config/dashboard.toml

    # Set Codis Product Name/Auth.

        product_name = "codis-rcp"

        product_auth = ""

 

        # Set bind address for admin(rpc), tcp only.

        admin_addr = "192.168.46.151:11080"

 

        # Set bind address for proxy, proto_type can be "tcp", "tcp4", "tcp6", "unix" or "unixpacket".

        proto_type = "tcp4"

        proxy_addr = "192.168.46.151:19000"

 

        # Set jodis address & session timeout, only accept "zookeeper" & "etcd".

        jodis_name = "zookeeper"

        jodis_addr = "192.168.46.156:2181,192.168.46.157:2181,192.168.46.158:2181"

        jodis_timeout = "20s"

        jodis_compatible = false

   3)启动

       nohup ./codis-proxy --ncpu=4 --config=proxy.toml  --log=proxy.log --log-level=INFO &

   4) 验证 ps -ef| grep codis 查看proxy-log.XXXX.XX.XX日志

(3)、启动fe(可选)

   1)初始化生成配置(从zookeeper拉取配置)或者手动生成codis.json配置

       ./codis-admin  --dashboard-list --zookeeper=XXX.XXX.XXX.XXX:2181 | tee codis.json

   2)修改参数

       name 集群名

       dashboard

       例如下配置:vi config/codis.json

        "name": "codis-rcp",

        "dashboard": "192.168.46.151:18080"

   3)启动

      nohup ./codis-fe --ncpu=4 --log=fe.log --log-level=WARN --dashboard-list=codis.json  --listen=192.168.46.161:8087 &

   4)验证

      ps -ef| grep codis 查看fe-log.XXXX.XX.XX日志

 (4)codis主从搭建

     mkdir -p /home/codis/codis-server/bin

     mkdir -p /home/codis/codis-server/conf

     mv /home/codis/codis/bin/codis-server  /home/codis/codis-server/bin

     mv /home/codis/codis/extern/redis-2.8.21/redis.conf  /home/codis/codis-server/conf

     新增文件cluster.conf

       include /home/codis/codis-server/conf/redis.conf

       daemonize yes

       pidfile /var/run/redis.pid

       bind 192.168.46.151

       port 6379

       logfile /home/codis/codis-server/log

  从服务增加配置 slaveof xxx.xxx.xxx.xxx port

      启动各机器上的服务

     bin/codis-server conf/cluster.conf

3、Codis的服务启动与关闭

     #正常启动 关闭proxy

     ./codis-admin --proxy=192.168.46.151:11080  --start

     ./codis-admin --proxy=192.168.46.151:11080  --shutdown

     #强制kill掉后要执行命令清楚zookeeper中节点

     ./codis-admin --dashboard=192.168.46.151:18080 --remove-proxy --addr=192.168.46.151:11080 --force

 

     #正常启动关闭 dashboard

     ./codis-admin --dashboard=192.168.46.151:18080 --start

     ./codis-admin --dashboard=192.168.46.151:18080 --shutdown

     #强制kill掉后要执行命令清楚zookeeper中节点

     ./codis-admin --remove-lock --product=codis-test --zookeeper=192.168.46.156:2181

 

4、一般启动命令如下:

  通过命令增加代理:

 

      ./codis-admin --dashboard=192.168.46.151:18080 --create-proxy -x 192.168.46.151:11080

   启动bashboard

    nohup bin/codis-dashboard --ncpu=4 --config=config/dashboard.toml --log=/tmp/dashboard.log --log-level=INFO &

  启动proxy

    nohup bin/codis-proxy --ncpu=4 --config=config/proxy.toml  --log=/tmp/proxy.log --log-level=INFO &

  启动fe

    nohup  bin/codis-fe --ncpu=4 --log=/tmp/fe.log --log-level=WARN --dashboard-list=config/codis.json --listen=192.168.46.151:8087 &

  启动ha

    nohup bin/codis-ha --log=/tmp/ha.log --log-level=WARN --dashboard=192.168.46.151:18080 &

 

5、附件:

Codis各配置文件参数

Dashboard.toml

参数

说明

coordinator_name

外部存储类型,接受 zookeeper/etcd

coordinator_addr

外部存储地址

product_name

集群名称,满足正则 \w[\w\.\-]*

product_auth

集群密码,默认为空

admin_addr

RESTful API 端口

 

 

 

Proxy.toml

 

参数

说明

product_name

集群名称,参考 dashboard 参数说明

product_auth

集群密码,默认为空

admin_addr

RESTful API 端口

proto_type

Redis 端口类型,接受 tcp/tcp4/tcp6/unix/unixpacket

proxy_addr

Redis 端口地址或者路径

jodis_addr

Jodis 注册 zookeeper 地址

jodis_timeout

Jodis 注册 session timeout 时间,单位 second

jodis_compatible

Jodis 注册 zookeeper 的路径

backend_ping_period

与 codis-server 探活周期,单位 second,0 表示禁止

session_max_timeout

与 client 连接最大读超时,单位 second,0 表示禁止

session_max_bufsize

与 client 连接读写缓冲区大小,单位 byte

session_max_pipeline

与 client 连接最大的 pipeline 大小

session_keepalive_period

与 client 的 tcp keepalive 周期,仅 tcp 有效,0 表示禁止

 

具体详细配置信息,可见

https://github.com/CodisLabs/codis/blob/release3.1/doc/tutorial_zh.md

 

posted @ 2017-05-18 20:04  一心行走  阅读(3718)  评论(0编辑  收藏  举报