redis集群最少需要6个redis服务才能部署,下面介绍如何在一台Linux机器部署一个redis集群
1、部署6个redis服务
首先虚获取redis的安装包,如 redis-3.2.1.tar.gz
对其解压,执行命令 tar -xvf redis-3.0.7.tar.gz
编译,进入到redis的主目录,执行命令 make
将redis-cli等命令所在目录加入到环境变量,方便后面redis的操作,编辑文件.bash_profile,增加以下内容
REDIS_HOME=$HOME/redis
PATH=$REDIS_HOME/src:$PATH
export REDIS_HOME
export PATH
执行source .bash_profile使其生效
为每个redis创建主目录,执行命令 mkdir -p 6380/logs
修改redis的配置文件,$REDIS_HOME/redis.conf,拷贝6个,分别修改相应的端口和文件名
,如cp $REDIS_HOME/redis.conf $REDIS_HOME/conf/redis_6380.conf
#修改绑定IP,为了防止机器有多个IP,别的机器连过来会有问题,不做绑定也可
bind {本虚拟机IP}
# Redis主目录
dir /home/redis/6380/
# Deamon模式
deamonize yes
# PID文件
pidfile /home/redis/6380/redis.pid
# Log日志文件
logfile /home/redis/6380/logs/redis.log
# Dump数据文件
dbfilename dump_6380.rdb
#开启集群功能,默认不开启
cluster-enabled yes
#存放redis集群各节点信息的文件
cluster-config-file nodes-6380.conf
#节点间超时时间,设为5秒
cluster-node-timeout 5000
# AOF日志开启,用于碰到错误的时候,做数据恢复用的
appendonly yes
启动redis服务,redis-server $REDIS_HOME/conf/redis6380.conf
如果六台服务都可以启动并且可以通过redis-cli链接就说明redis已经全部安装成功
2、安装redis集群需要的环境,注意此步骤要切换到root用户执行,否则可能没有安装的权限(ruby、gem)
分别执行下面的命令
rpm -ivh http://yum.puppetlabs.com/el/5/products/x86_64/puppetlabs-release-5-6.noarch.rpm
yum install ruby ruby-devel rubygems rpm-build
查看ruby的版本
ruby -v
检查rubygem是否安装成功,执行下面的命令,如果有rubygems-版本的字样就说明安装成功了
rpm -qa|grep ruby
gem安装redis ruby 接口
gem install redis
3、执行建集群语句
redis-trib.rb create --replicas 1 ip1:port ip2:port ip3:port ip4:port ip5:port ip6:port
至此redis集群搭建成功,可登陆客户端插入数据,或查看节点状态
redis-cli -c -h ip -p 6379
注意此命令连接集群中任意一个端口均可
redis-trib.rb check ip:port
清空redis集群数据
redis-trib.rb call 10.24.1.65:6379 flushall
redis-trib.rb info 10.24.1.65:6379
使用下面的命令(后面-C的参数),即可连接到整个redis集群
redis-cli -h 10.24.1.66 -p 6385 -C
slave节点后面的replicates的内容就是当前slaver节点对应的master节点的id