其他环境准备:

安装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_name和product_auth与上面一致

admin_addr:本地ip:11080 restful api地址

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

jodis_name: ‘zookeeper’

jodis_addr:  ‘xxxx:2181’

jodis_compatible:fasle (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

Codis的安装的更多相关文章

  1. Codis的安装配置

    codis是分布式redis解决方案 centos系统下安装codis需要安装相关的依赖,将图中的依赖上传至centos系统中 依次进行安装: 一.go环境的安装配置 解压到install目录下: . ...

  2. Redis Codis 部署安装

    背景 关于Redis的高可用除了只身的Sentinel和Cluster之外,还有一个用的比较多的是Codis,由于公司的Redis大部分都使用Codis,本文就针对Codis进行相关的安装部署进行说明 ...

  3. 详解Codis安装与部署

    Codis github上的介绍安装,里面很全,而且也有中/英文的,只不过按照github的步骤安装,会有一些坑,所以有了这么一篇文章. 在上一篇文章<Redis实用监控工具一览>中,介绍 ...

  4. Codis——分布式Redis服务的解决方案

    Codis——分布式Redis服务的解决方案 之前介绍过的 Twemproxy 是一种Redis代理,但它不支持集群的动态伸缩,而codis则支持动态的增减Redis节点:另外,官方的redis 3. ...

  5. redis cluster安装部署(测试环境)

    redis 应用于web前端,做缓存和数据存取的速度是挺可观的,最近看了一些资料,手痒了,就弄了一个测试环境,两台方案,试用一下. ##Redis 集群部署## 一,方案调研: 参考博客: http: ...

  6. 使用codis-admin搭建codis集群

    目的 在Redis Codis 部署安装的文章中,介绍了通过fe在web上搭建codis的基本步骤和方法,也介绍了codis-admin的相关说明,为了更好的熟悉codis-admin的使用,本文将使 ...

  7. 第十课——cluster故障转移操作,codis部署

    作业描述] 1.cluster的故障转移操作,截图展示 2.部署codis,并写代码访问codis ================================================== ...

  8. Codis的源码编译生成tar包

    一.Go环境的安装 1.下载地址 https://golang.org/dl/2.解压 tar -zxvf go1.7.1.linux-amd64.tar.gz -C /usr/local 3.修改配 ...

  9. SpringBoot进阶教程(五十九)整合Codis

    上一篇博文<详解Codis安装与部署>中,详细介绍了codis的安装与部署,这篇文章主要介绍介绍springboot整合codis.如果之前看过<SpringBoot进阶教程(五十二 ...

随机推荐

  1. Linux 的软件管理及配置 - 安装、卸载、升级、依赖

    1. 对比:Windows 和 Linux 上软件的安装与卸载 大部分 Linux 使用者都是从 Windows 转过来的,先对这俩做个对比,有助理解. 就像在 Windows 下,很多软件也有安装版 ...

  2. Summary—【base】(JavaScript)

    1.认识Js     1.1 Js就是一门运行在客户端浏览器的脚本编程语言     1.2 组成            ECMAScript:Js的语法标准            DOM:JS操作网页 ...

  3. Block Nested-Loop 和 Batched Key Access

    官方文档:https://dev.mysql.com/doc/refman/5.7/en/bnl-bka-optimization.html BNL和BKA是MySQL 表关联的两种关联算法 比如t1 ...

  4. 抓取js动态生成数据

    最近在抓数据,一般的网页数据抓取相对容易一些,今天在抓电视猫的节目单,发现有些数据时抓取不到的,Java端得到的HTML文件里面没有某一段代码,查了很多资料,发现说是js动态生成的数据,无法直接抓取, ...

  5. AGC 26 F Manju Game

    $\DeclareMathOperator{\sw}{sw}$ $\DeclareMathOperator{\sb}{sb}$ $\DeclareMathOperator{\dp}{dp}$ 用 $\ ...

  6. noip2018 pre——Dp

    Dp专题 1011: KC的瓷器 (porcelain) 题目描述 KC来到了一个盛产瓷器的国度.他来到了一位商人的店铺.在这个店铺中,KC看到了一个有n(1<=n<=100)排的柜子,每 ...

  7. root Android 模拟器

    参考文档:http://blog.csdn.net/xbalien29/article/details/22661479 本文以2.3.3版本系统为目标. 一 准备工作 首先我们需要准备3样工具:su ...

  8. jackson 的UnrecognizedPropertyException错误

    阅读更多 前段时间,使用jackson封装了json字符串转换为javabean的方法,代码如下: public static <T> T renderJson2Object(String ...

  9. URL短网址生成算法原理和php实现案例

    短网址(Short URL),顾名思义就是在形式上比较短的网址. 短链接的好处:1.内容需要:2.用户友好:3.便于管理为什么要这样做的,原因我想有这样几点:微博限制字数为140字一条,那么如果我们需 ...

  10. hdu 2243 考研路茫茫——单词情结 AC自动机 矩阵幂次求和

    题目链接 题意 给定\(N\)个词根,每个长度不超过\(5\). 问长度不超过\(L(L\lt 2^{31})\),只由小写字母组成的,至少包含一个词根的单词,一共可能有多少个? 思路 状态(AC自动 ...