Redis下载地址
官网地址:http://redis.io/
中文官网地址:http://www.redis.cn/
下载地址:http://download.redis.io/releases/
Redis安装环境
Redis没有官方的window版本,所以建议在linux环境下安装。此次安装在centos7中。
Redis安装单机版
第一步:安装 C 语言需要的 GCC 环境
yum install -y gcc-c++
yum install -y wget
第二步:下载并解压缩 Redis 源码压缩包
cd /opa/lagou/software --进入下载目录
wget http://download.redis.io/releases/redis-5.0.5.tar.gz --下载压缩包 tar -zxvf /opt/lagou/software/redis-5.0.5.tar.gz -C /opt/lagou/servers/ --解压文件到指定文件夹
第三步:编译 Redis 源码,进入 redis-5.0.5 目录,执行编译命令
cd /opt/lagou/servers/redis-5.0.5/src
make --编译
第四步:安装 Redis ,需要通过 PREFIX 指定安装路径
mkdir /opt/lagou/servers/redis-cluster/master1 -p --创建安装目录
make install PREFIX=/opt/lagou/servers/redis-cluster/master1 指定安装路径并安装
第五步:启动
(1)前段启动
启动命令: redis-server ,直接运行 bin/redis-server 将以前端模式启动
./redis-server
(2)后端启动(守护进程启动)
第一步:拷贝 redis.conf 配置文件到 Redis 安装目录的 bin 目录
cp redis.conf /usr/redis/bin/
cp /opt/lagou/servers/redis-5.0.5/redis.conf /opt/lagou/servers/redis-cluster/master1/bin/
第二步:修改 redis.conf
vim redis.conf
69 # bind 127.0.0.1 # 注掉bind 允许外界访问
88 protected-mode no # 将yes改成no,允许外界访问
92 port 6379 # 端口号
136 daemonize yes # 将no改成yes,允许后台启动
832 cluster-enabled yes # 开启cluster
第三步:启动服务
./redis-server redis.conf
集群部署
需求:
(1)搭建Redis5.0集群,要求三主三从,记录下安装步骤
(2)能够添加一主一从(Master4和Slaver4),记录下安装步骤
(3)能够通过JedisCluster向RedisCluster添加数据和取出数据
集群规划
虚拟机名称及IP | 持有角色 | 端口 |
centos7-1:192.168.80.100 | master1 slaver1 |
6379 6380 |
centos7-2:192.168.80.101 | master2 slaver2 |
6379 6380 |
centos7-3:192.168.80.102 | master3 slaver3 |
6379 6380 |
centos7-1:192.168.80.100 | master4 slaver4 |
7000 7001 |
集群安装
按照如上步骤安装主机Redis;
安装从机Redis:
拷贝Redis从机: cp -r /opt/lagou/servers/redis-cluster/master1/ /opt/lagou/servers/redis-cluster/slaver1
修改Redis.conf中的端口号
vim redis.conf
port 7980
拷贝Redis主、从机至其他两台服务器
rsync -rvl /opt/lagou/servers/redis-cluster root@centos7-2:/opt/lagou/servers/
rsync -rvl /opt/lagou/servers/redis-cluster root@centos7-3:/opt/lagou/servers/
修改其他两台服务器中的master和slave文件夹名称
连接到centos7-2并修改文件夹名称
ssh root@centos7-2 mv /opt/lagou/servers/redis-cluster/master1/ /opt/lagou/servers/redis-cluster/master2/ ssh root@centos7-2 mv /opt/lagou/servers/redis-cluster/slaver1/ /opt/lagou/servers/redis-cluster/slaver2/
连接到centos7-2并修改文件夹名称
ssh root@centos7-3 mv /opt/lagou/servers/redis-cluster/master1/ /opt/lagou/servers/redis-cluster/master3/
ssh root@centos7-3 mv /opt/lagou/servers/redis-cluster/slaver1/ /opt/lagou/servers/redis-cluster/slaver3/
启动
编写启动脚本start-rediscluster.sh
vim /opt/lagou/server/redis-cluster/start-rediscluster.sh
#!/bin/bash pdir='/opt/lagou/servers/redis-cluster' user=`whoami` echo $pdir for((i=1; i<4; i++)); do echo ---------------- centos7-$i starting ------------------- ssh $user@centos7-$i 'cd '$pdir'/master'$i'/bin; ./redis-server ./redis.conf' ssh $user@centos7-$i 'cd '$pdir'/slaver'$i'/bin; ./redis-server ./redis.conf' echo ---------------- centos7-$i end ------------------- done
启动集群
chmod 777 start-rediscluster.sh --赋予脚本文件权限 ./ start-rediscluster.sh -- 启动集群
添加三台主机、三台从机的主从关系
./master1/bin/redis-cli --cluster create 192.168.80.100:6379 192.168.80.101:6379 192.168.80.102:6379 192.168.80.100:6380 192.168.80.101:6380 192.168.80.102:6380 --cluster-replicas 1
查看节点信息
扩容
准备扩容的master4和slave4
复制master和slave
cp -r /opt/lagou/servers/redis-cluster/master1/ /opt/lagou/servers/redis-cluster/master4 cp -r /opt/lagou/servers/redis-cluster/master1/ /opt/lagou/servers/redis-cluster/slaver4
修改端口 vim /opt/lagou/servers/redis-cluster/master4/bin/redis.conf port 7000 vim /opt/lagou/servers/redis-cluster/master4/bin/redis.conf port 7001
启动master4并加入集群
# 启动 master4 cd /opt/lagou/servers/redis-cluster/master4/bin ./redis-server redis.conf # 连接集群 ## 添加 master4 cd /opt/lagou/servers/redis-cluster/master4/bin/ ./redis-cli --cluster add-node 192.168.80.100:7000 192.168.80.100:6379
启动slave4 并加入集群
# 启动 slaver4 cd /opt/lagou/servers/redis-cluster/slave4/bin ./redis-server redis.conf
将slave4从节点加入集群
./redis-cli --cluster add-node 192.168.80.100:7001 192.168.80.100:7000 --cluster-slave --cluster-master-id 292b16ffa783245ebb49f45617222ab7a57d48c
加入命令格式:
./redis-cli --cluster add-node 新节点的ip和端口 旧节点ip和端口 --cluster-slave --cluster-master-id 主节点id
结果查看