2. Redis集群搭建手册
约 758 字大约 3 分钟
之前在使用redis的case中,更多的只是单机的使用;随着业务的增长,为了更好的性能提供,集群是一个必然的发展趋势;下面记录一下搭建集群的步骤
单机安装手册,可以查看: 单机redis安装手册
I. redis集群搭建过程
1. 获取项目并编译
首先是从官网获取最新稳定版的redis包,官网友链 -> https://redis.io/
# 下载redis包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -zxvf redis-5.0.5
# 开始编译
make
make test
通过上面执行完毕之后,在src目录下,会生成常见的操作命令,如redis-cli
redis-server
2. 开始配置
在redis目录下,配置文件redis.conf
是我们需要关注的目标
我们这里在本机搭建三个节点,对应的端口号分别为7000, 7001, 7002
接下来,进入配置文件,进行修改
mkdir -p data/7000 data/7001 data/7002 log/7000 log/7001 log/7002
# 下面的配置,一次操作三遍,分别获得r7000.conf r7001.conf r7002.conf
cp redis.conf r7000.conf
vim r7000.conf
## 下面是我们需要修改的地方
port 7000 # 端口号
pidfile /var/run/redis_7000.pid # pid进程文件
# 日志和数据存储路径
logfile "/home/yihui/redis/log/7000/redis.log"
dir "/home/yihui/redis/data/7000/"
# 后台启动
daemonize yes
# 开启集群
cluster-enabled yes
3. 启动并设置集群
上面设置完毕之后,开始启动redis
src/redis-server r7000.conf
src/redis-server r7001.conf
src/redis-server r7002.conf
启动完毕之后,可以查看到如下的进程
到这里,集群还没有设置完成,还需要通过redis-cli
设置一下集群关系
redis/src/redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 --cluster-replicas 1
执行上面的命名,发现并不能成功,提示如下
*** ERROR: Invalid configuration for cluster creation.
*** Redis Cluster requires at least 3 master nodes.
*** This is not possible with 3 nodes and 1 replicas per node.
*** At least 6 nodes are required.
上面表示redis集群必须有三个主节点,当我们设置主从时,最少需要六个节点;当然我们在本机测试的时候,搞六个必要性不大,这里直接不要从节点
redis/src/redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002
执行上面命令并确认之后,redis集群基本上就搭建完毕
4. 测试
借助redis-cli
进行集群的连接和测试
redis/src/redis-cli -c -p 7000
127.0.0.1:7000> cluster nodes
e1bd930c0b6f42da4af18f5aca551fd26d769330 127.0.0.1:7001@17001 master - 0 1569411511851 2 connected 5461-10922
7b8b9ea9feab9dc1c052c4a6215f211c25776e38 127.0.0.1:7002@17002 master - 0 1569411512853 3 connected 10923-16383
d7b8d578eedf9d1148009b6930e5da6bdbd90661 127.0.0.1:7000@17000 myself,master - 0 1569411512000 1 connected 0-5460
127.0.0.1:7000> set test 123
-> Redirected to slot [6918] located at 127.0.0.1:7001
OK
127.0.0.1:7001> set test2 1342
OK
127.0.0.1:7001> set test3 123
-> Redirected to slot [13026] located at 127.0.0.1:7002
OK
127.0.0.1:7002> set test1 123
-> Redirected to slot [4768] located at 127.0.0.1:7000
OK
127.0.0.1:7000> keys *
1) "test1"
127.0.0.1:7000>
通过keys
命令查看,我们上面设置的几个值分布在三个实例上了
Loading...