前言
Codis 是什么
Codis 是 Wandoujia Infrastructure Team 开发的一个分布式 Redis 服务,用户可以看成是一个无限内存的 Redis 服务, 有动态扩/缩容的能力。
Codis 的好处
Redis 有获得动态扩容/缩容的能力,增减 Redis 实例对 client 完全透明,不需要重启服务,业务方不需要担心 Redis 内存爆掉的问题和申请太大而造成浪费,也不需要自己维护 Redis。
准备
系统硬件
滴滴云 服务器 (DC2): 安全可靠,拥有极高的性价比高,为开发者的需求而设计。适合大中小型用户购买使用。
弹性公网 IP (EIP): 计费灵活,适配各类应用架构。可以满足用户各类应用场景需求。
云盘 (EBS): 采用分布式三副本设计的,为云服务器 DC2 提供基于网络连接的持久化块级数据存储服务的设备。
本文示例采用通用型 2核 CPU 4GB内存 500G的 EBS 云盘的服务器配置。
依赖软件
系统:CentOS 7.4
Golang 1.11.2
Codis 3.2.2
OpenJDK 1.8.0
ZooKeeper 3.4.13
安装过程
1.登录服务器
SSH 登录购买的 滴滴云 DC2 主机。
ssh dc2 - user @ ip
由于安装软件需要 root 权限,切换到 root 账户。
sudo - i
2.安装 Golang
下载 Golang 安装包
wget https : //dl.google.com/go/go1.11.2.linux-amd64.tar.gz
解压到 /usr/local
tar - C / usr / local - xzf go1 . 11.2.linux - amd64 . tar . gz
添加 Golang的环境变量
vi / etc / profile
source / etc / profile
出现如下提示则安装成功。
3.安装 Codis
创建 Codis目录
mkdir - p $ GOPATH / src / github . com / CodisLabs
下载 Codis源码
cd $ GOPATH / src / github . com / CodisLabs / && git clone https : //github.com/CodisLabs/codis.git -b release3.2
编译
cd codis && make
出现如下提示则编译成功
查看编译后的文件
编写启动脚本
vi load . sh
启动服务
sh load . sh start
4.配置 Codis
通过浏览器打开 ip:9090 即可查看和操作 Codis。(如果服务器启动正常,但是 9090 端口无法访问,需查看 DC2 对应的安全组规则。如果 9090 端口不在开放的列表中,需要添加对应的开放规则)
选择左侧的 codis-demo 集群
创建 Group 1 并向 Group 1 添加 Server
初始化 Slot:输入并点击 Rebalance All Slots 按钮,等待初始化完成。
这样一个简单的 Codis 服务就搭建好了。通过 Redis-cli 可直连 Proxy 地址查看数据
5.配置集群状态外部储存为 ZooKeeper
安装 ZooKeeper( 由于 ZooKeeper 非本文重点,如需 ZooKeeper 集群搭建请参考本博客另一篇文章:《在滴滴云DC2云服务器上搭建 ZooKeeper 集群实战(一)》)
安装 Java
cd / data /
yum install java
启动 ZooKeeper
cd / data / zookeeper - 3.4.13 / bin /
sh zkServer . sh start
如下提示即为启动成功
修改 Codis的配置为 ZooKeeper。对应下文中的 jodis_name、jodis_addr。
cd $ GOPATH / src / github . com / CodisLabs / codis /
vi config / proxy . toml
重启服务,即可通过 Codis Client 连接 ZooKeeper 来进行 Codis 操作。
参考文献:
codis官方文档:https://github.com/CodisLabs/codis/blob/release3.2/doc/tutorial_zh.md
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2221768/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31559758/viewspace-2221768/