redis集群,单机搭建
硬件环境:centos6.4虚拟机1台
软件环境:redis-3.0.0,ruby,rubygems,redis3.0.0.gem
虚拟机地址:192.168.40.130
搭建背景:虚拟机已经安装了redis3.0.0,并且为了方便运行redis在/usr/local下创建了redis文件夹,redis-cli,redis-server,redis-trib.rb都单独放在/usr/local/redis/bin下。安装的redis主体文件都在redis-3.0.0下。配置文件redis.conf放在/usr/local/redis/etc/下。
以上就是本次搭建前就一个做好的准备工作,下面正式开始:
在/usr/local下创建集群节点文件夹,-p命令是迭代创建:
mkdir -p /usr/local/redis_cluster/7001
mkdir -p /usr/local/redis_cluster/7002
mkdir -p /usr/local/redis_cluster/7003
mkdir -p /usr/local/redis_cluster/7004
mkdir -p /usr/local/redis_cluster/7005
mkdir -p /usr/local/redis_cluster/7006
创建6个节点文件夹,3个作为master,3个作为slave,然后把redis.conf复制到7001到7006下面,并修改配置,需要修改的项有如下:
daemonize yes //这个配置为yes之后就可以后台运行(关闭终端redis服务不会停)
pidfile /var/run/redis_7001.pid //pid文件名改为对应的节点端口(存储进程id)
port 7001 //redis服务需要占用的端口号
dir /usr/local/redis_cluster/7001/ //redis的数据存储位置
appendonly yes //开启aof日志模式,数据安全性比较高,但是性能稍微低一点
cluster-enabled yes //开启集群
cluster-config-file nodes-7001.conf //集群的配置 配置文件首次启动自动生成 7001等
cluster-node-timeout 5000 //请求超时 默认15秒
修改好各个节点的配置文件后就可以启动redis服务了,分别启动加载6个节点的配置文件,具体如下:
redis-server /usr/local/redis_cluster/7001/redis.conf
redis-server /usr/local/redis_cluster/7002/redis.conf
redis-server /usr/local/redis_cluster/7003/redis.conf
redis-server /usr/local/redis_cluster/7004/redis.conf
redis-server /usr/local/redis_cluster/7005/redis.conf
redis-server /usr/local/redis_cluster/7006/redis.conf
启动完成用ps -ef | grep redis查看下redis服务运行是否正常,结果如下图:

6个redis服务均启动正常。
接下来就可以利用redis提供的redis-trib.rb工具来创建集群了,大体功能可以从截图中看出,可以创建,添加节点,本次只使用create创建:

当然,因为这个工具是用ruby写的,没安装ruby之前是不能执行的,所以需要安装以下三个工具:
1.安装ruby,用命令yum install ruby.
2.安装rubygems,用命令yum install rubygems.
3.安装redis和gem的接口,一般都是用gem install redis命令,但是我用此命令安装失败,推测原因可能是被墙了,直接访问不到redis.gem的地址。
网上提供了几种方式,有直接下载的,有修改gem源地址的,比如gem sources -add https://ruby.taobao.org/,可能我使用的是错误的打开方式,都没有解决问题。最后我还是通过手动下载的方式解决的,命令是:wget https://rubygems.global.ssl.fastly.net/gems/redis-3.0.0.gem,特别要注意的是redis.gem文件的版本要和redis的版本一致,否则依然不能安装成功. 网上的例子大多是3.2.1版本的,下下来也不能用。对应我redis的版本下载好redis-3.0.0.gem后执行gem instal redis就成功了。
然后就可以执行创建集群的命令了:
./redis-trib.rb create --replicas 1 192.168.40.130:7001 192.168.40.130:7002 192.168.40.130:7003 192.168.40.130:7004 192.168.40.130:7005 192.168.40.130:7006 //其中replicas 1代表的是master和slave是1:1的关系
执行完,如果没错集群就已经创建成功了,如下图,有slots的是master,没有的就是slave:

至此一个基本的redis集群就已经配置完成了。
关于redis集群的网上很多了,看了几个都没有配置dir,这个是需要注意的,一定要配置,不然重启后没数据。写这个过程的最主要目的还是作为记录并加深记忆。
浙公网安备 33010602011771号