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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM