一、概要
1、折腾codis集群已经快两个月了,感谢一直以来codis的作者刘奇和黄东旭的耐心支持,在这里给你们点个赞,现在我司已经有一个业务跑在了codis集群上,目前只是切了整个业务的10%的量,预计下周会全量切到codis上,这个时候大家肯定特别想知道codis稳定吗?有没有什么bug啊,你想知道的也是我想知道的,搞起吧,用了才知道,反正目前我们这没发现啥问题,一些小的问题已经及时联系作者改掉了,好吧,不扯淡了,写这篇文章的目的是帮助想了解codis的初学者快速部署(官方的部署文档对应运维知识弱一点的童鞋看来还是有点费力)还有就是给自己做一个备录以便后期集群的部署。
2、Codis 是一个分布式Redis解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (有一些命令不支持), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis服务,当然,前段时间redis官方的3.0出了稳定版,3.0支持集群功能,codis的实现原理和3.0的集群功能差不多,我了解的现在美团、阿里已经用了3.0的集群功能了,我们这边的业务主要是php,3.0集群的sdk目前貌似还没有支持php语言的,大家谁的php应用上了3.0集群,请联系我,我去取经,有关redis常见的集群技术,请移步到 @萧田国 萧老师的infoq专栏Redis集群技术及Codis实践
二、架构
三、角色分批
codis-config、codis-ha: 10.10.32.42:6379、10.10.32.43:6380(主、从) 10.10.32.43:6379、10.10.32.44:6380(主、从) 10.10.32.44:6379、10.10.32.42:6380(主、从) |
四、部署
1、安装zookeeper
yum-y install zookeeperjdk ##安装服务 |
vim /etc/hosts ##添加host 10.10.0.47ZooKeeper-node1 10.10.0.48ZooKeeper-node2 10.10.1.76ZooKeeper-node3 |
vim /etc/zookeeper/conf/zoo .cfg ##撰写zk的配置文件 maxClientCnxns=50 dataDir= /data/zookeeper/ clientPort=2181 server.1=ZooKeeper-node1:2888:3888 server.2=ZooKeeper-node2:2888:3888 server.3=ZooKeeper-node3:2888:3888 |
mkdir /data/zookeeper/ ##创建zk的datadir目录 echo "2" > /data/zookeeper/myid ##生成ID,这里需要注意,myid对应的zoo.cfg的server.ID,比如ZooKeeper-node2对应的myid应该是2 /usr/lib/zookeeper/bin/zkServer .shstart ##服务启动 |
2、go安装(codis是go语言写的,所以那些机器需要安装你懂得)
wgethttps: //storage .googleapis.com /golang/go1 .4.1.linux-amd64. tar .gz tar -zxvfgo1.4.1.linux-amd64. tar .gz mv go /usr/local/ cd /usr/local/go/src/ cat >>~/.bashrc<<_bashrc_export export GOROOT= /usr/local/go export PATH=\$PATH:\$GOROOT /bin export GOARCH=amd64 export GOOS=linux source ~/.bashrc |
3、下载并编译codis(codis-config、codis-proxy、codis-server所在的机器)
export GOPATH= /data/go /usr/local/go/bin/go getgithub.comlinux下的数据备份工具rsync讲解 阅读原文» |
没有评论:
发表评论