1.安装redis
1.1安装gcc
redis是用C语言编写的,编译redis需要使用到gcc,所以需要先安装gcc
yum install gcc
1.2下载redis
此处下载的是redis3.0.0,3.0版本以上支持集群
下载地址:Index of /releases/ (redis.io)
在/usr/local/目录下创建soft目录,将redis-3.0.0.tar.gz放入soft目录下。
1.解压:tar -zxvf redis-3.0.0.tar.gz
1.3.进入redis,编译
cd redis-3.0.0/
make
进入src目录查看命令是否生成,常用的有redis-cli,redis-server
如已经生成,使用下面命令再次验证,当出现以下提示,则表示安装成功。
make install
1.4运维redis小tips
我们会发现redis下的文件特别多,我们经常使用到的就是redis-cli、redis-server与配置文件redis.conf。这时候我们可以创建单独的redis文件夹,把一些常用命令复制进去。
1.5启动redis
redis默认是控制台启动,关闭控制台就停止服务,需要修改配置文件后台启动daemonize改为yes
daemonize yes
启动redis
redis-server ../etc/redis.conf
查看启动进行,看到6379端口表示已经启动完成。
ps -ef|grep redis
进入redis,执行redis命令。执行redis-cli进入redis,执行相关命令
./redis-cli
2.部署redis集群
当前部署的是高可用高并发情况的redis集群,由三个主从集群共同组成一个大的集群。三个子集群数据是完全分离的,将16384个槽平均分布。
本次使用一台服务器模拟在六台服务器部署redis,通过设置不同端口号来实现。有条件大家可以在不同服务器上部署。
1.复制redis配置文件
首先在/usr/local/redis/etc/目录下创建六个目录,对应六台redis,将原redis.conf配置文件复制到六个目录下。
mkdir 8001 8002 8003 8004 8005 8006
cp -r redis.conf 8001/
cp -r redis.conf 8002/
cp -r redis.conf 8003/
cp -r redis.conf 8004/
cp -r redis.conf 8005/
cp -r redis.conf 8006/
2.修改配置文件
修改如下配置,首先配置8001端口的配置文件,其余文件只需要将8001端口替换为需要的端口即可
vi redis.conf
:%s/8001/8002/g
- 后台运行
daemonize yes
- 修改端口,不同端口的配置文件要配置不同的端口
port 8001
- 必须绑定当前机器
bind 127.0.0.1
- 指定数据文件位置
dir /usr/local/redis/etc/8001/
- 启动集群模式
cluster-enabled yes
- 配置文件
cluster-config-file nodes-8001.conf
- 集群节点超时时间
cluster-node-timeout 5000
- 开启aof
appendonly yes
3.启动集群
redis集群需要ruby命令,所以需要先安装ruby
yum install ruby
yum install rubygems
安装redis与ruby的接口,此处我使用的是redis3.0.0,如果是其他版本修改版本号即可
gem install redis --version 3.0.0
安装的ruby在原redis目录,也就是/usr/local/soft/redis-3.0.0/src/redis-trib.rb
3.启动redis集群
/usr/local/redis/bin/redis-server 8001/redis.conf
/usr/local/redis/bin/redis-server 8002/redis.conf
/usr/local/redis/bin/redis-server 8003/redis.conf
/usr/local/redis/bin/redis-server 8004/redis.conf
/usr/local/redis/bin/redis-server 8005/redis.conf
/usr/local/redis/bin/redis-server 8006/redis.conf
4.使用ruby命令启动整个集群
启动【1】表示的是主/从服务器数量,我的主服务器为3,从服务器也为3,所以此处为1,后面不同redis默认先写主服务,再写从服务,主服务第一个对应从服务第一个
主 | 从 |
127.0.0.1:8001 | 127.0.0.1:8004 |
127.0.0.1:8002 | 127.0.0.1:8005 |
127.0.0.1:8003 | 127.0.0.1:8006 |
./redis-trib.rb create --replicas 1 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003 127.0.0.1:8004 127.0.0.1:8005 127.0.0.1:8006