1.安装redis
解压redis-3.0.5.tar.gz$ tar -zxvf redis-3.0.5.tar.gz
进入到redis-3.0.5目录,执行make命令
$ make
redis.conf是redis的主要配置文件,在src/下redis-server,redis-cli是redis的服务端和客户端
2.启动多个实例
为了方便,新建redis目录,将redis-3.0.5移动到redis下,并重命名redis-6379
$ mkdir redis $ mv redis-3.0.5 ./redis/redis-6379
再在redis目录下,创建文件夹redis-6380,redis-6381,redis-6382,redis-6383,redis-6384,在每个目录下,创建logs文件夹
将redis-6379下的redis.conf都拷贝一份到这五个目录下
$ cp ./redis-6379/redis.conf ./redis-6380/redis-6380.conf
修改redis.conf文件,按照下面的配置,配置6379,6380,6381,6382,6383,6384六个端口
daemonize yes #设置redis后台启动 pidfile /home/icore/redis/redis-6380/redis_6380.pid #redis的pid存放文件,集群时,每个redis的pid必须不同 port 6380 #redis的端口号 bind 127.0.0.1 logfile /home/icore/redis/redis-6380/redis_6380.log #redis的日志文件 dir /home/icore/redis/redis-6380/logs/ #redis的数据文件存放路径 appendonly yes #开启redis的aof cluster-enabled yes #开启集群配置 cluster-config-file nodes-6380.conf #redis的集群节点配置 cluster-node-timeout 15000 #redis的节点访问超时时间
启动实例
$ ./redis-6379/src/redis-server ./redis-6379/redis.conf $ ./redis-6379/src/redis-server ./redis-6380/redis-6380.conf $ ./redis-6379/src/redis-server ./redis-6381/redis-6381.conf $ ./redis-6379/src/redis-server ./redis-6382/redis-6382.conf $ ./redis-6379/src/redis-server ./redis-6383/redis-6383.conf $ ./redis-6379/src/redis-server ./redis-6384/redis-6384.conf
启动成功后,查看进程
$ netstat -ntlp | grep redis
3.集群环境配置
Redis3.0以上的集群方式是通过redis安装目录下的./src/redis-trib.rb脚本搭建,这个脚本使用ruby编写的,尝试运行
$ ruby ./redis-6379/src/redis-trib.rb
如果报错,说明需要安装ruby环境
以下环境安装,需要切换到管理员账号,并且连接外网
# yum -y install ruby ruby-devel rubygems rpm-build
# gem install redis
此处如果报redis requires Ruby version >= 2.2.2. 错误,需要升级ruby版本
安装curl
# yum install curl
安装rvm
# curl -L get.rvm.io | bash -s stable
此处可能会报错,根据提示,执行
# gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
再重新执行,安装成功
# curl -L get.rvm.io | bash -s stable
然后,source环境,让rvm可用
# source /usr/local/rvm/scripts/rvm
查看ruby可用版本,选择一个版本安装
# rvm list known
# rvm install 2.4.4
此处可能会报错,curl: (35) SSL connect error,需要升级网络安全服务
# yum update nss
重新执行,即可升级ruby版本成功
# rvm install 2.4.4
安装gem redis接口, 成功
# gem install redis
安装rubygems, 成功
# yum install -y rubygems
4.开启集群
# ruby ./redis-6379/src/redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
--replicas 1表示为集群的master节点创建1个副本。那么6个实例里,有三个master,有三个是slave。
后面跟上6个实例就好了,形式就是ip:port
5.验证集群状态
登录集群客户端 -c标识以集群方式登录
$ ./redis-6379/src/redis-cli -c -h 127.0.0.1 -p 6379 127.0.0.1:6379> cluster info 127.0.0.1:6379> cluster nodes