Redis6集群搭建
当前redis最新版本已经是6.2.6,在集群搭建上和redis3.x、redis4.x区别很大。redis5以后,就不需要安装ruby了,并且新版本redis创建集群不再使用redis-trib.rb,而使用redis-cli。以下为新版redis6.2.6集群搭建记录。本文使用三台服务器,6个redis服务实例(redis集群会自动尽量使同一台机器的两个实例不互为主从关系)。
文章目录
一、环境准备
ip | 端口 |
---|---|
10.0.0.101 | 7001 、7002 |
10.0.0.102 | 7001 、7002 |
10.0.0.103 | 7001 、7002 |
二、搭建和启动redis实例
1.1 将redis-6.2.6.tar.gz(下载地址:https://redis.io/download)上传到服务器上,解压并编译
yum -y install gcc
tar xzf redis-6.2.6.tar.gz -C home/
cd home/redis-6.2.6
make MALLOC=libc
make PREFIX=/home/redis-6.2.6 install #如make PREFIX=/usr/local/redis install,关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径,假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。
其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。
1.2 创建相关目录,修改配置文件
mkdir home/rediscluster/{7000,7001} -p
mkdir home/rediscluster/7000/{conf,data,log} -p
mkdir /home/rediscluster/7001/{conf,data,log} -p
cp /home/redis-6.2.6/redis.conf /home/rediscluster/7000/conf/
cp /home/redis-6.2.6/redis.conf /home/rediscluster/7001/conf/
1.3 修改配置文件
修改/home/rediscluster/7000/conf/redis.conf(以下集群配置为必须修改,其余配置根据实际情况修改):
bind 10.0.0.101
port 7000
daemonize yes
pidfile "/home/rediscluster/7000/data/redis_7000.pid"
logfile "/home/rediscluster/7000/log/redis_7000.log"
dbfilename dump-7000.rdb
dir "/home/rediscluster/7000/data/"
masterauth "myredis" #设置密码,做测试可以不设置
requirepass "myredis" #设置密码,做测试可以不设置
cluster-enabled yes
cluster-node-timeout 5000
将7000目录的配置文件拷贝到7001实例并注意将配置文件的7000改为7001:
cp /home/rediscluster/7000/conf/redis.conf /home/rediscluster/7001/conf/redis.conf
sed -i 's#7000#7001#g' /home/rediscluster/7001/conf/redis.conf
1.4 配置环境变量
echo 'export REDIS_HOME=/home/redis-6.2.2' >> /etc/profile
echo 'export PATH=$REDIS_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
1.5 启动redis
redis-server /home/rediscluster/7000/conf/redis.conf
redis-server /home/rediscluster/7001/conf/redis.conf
1.6 其它两台服务器
在其它两台服务器重复上述搭建步骤,注意将redis.conf里面的bind IP改为本机IP。
保证三台服务器的redis节点正常启动:
三、创建redis集群
在三台服务器的redis实例成功启动后,在第一台服务器上执行命令创建集群(注意如果在redis.conf中设置了密码,这里就要加上-a ‘密码’,如果没有密码,就不加-a参数):
有密码:
redis-cli --cluster create --cluster-replicas 1 10.0.0.101:7000 10.0.0.101:7001 10.0.0.102:7000 10.0.0.102:7001 10.0.0.103:7000 10.0.0.103:7001 -a myredis
无密码:
redis-cli --cluster create --cluster-replicas 1 10.0.0.101:7000 10.0.0.101:7001 10.0.0.102:7000 10.0.0.102:7001 10.0.0.103:7000 10.0.0.103:7001
/usr/local/redis/bin/redis-cli --cluster create 10.11.0.148:7001 10.11.0.149:7002 10.11.0.149:7001 10.11.0.150:7002 10.11.0.150:7001 10.11.0.148:7002 --cluster-replicas 1
创建过程截图,注意图中确认输入“yes”。
四、验证redis集群
集群创建成功后,登录redis验证,注意加上集群参数 -c:
redis-cli -h 10.0.0.101 -p 7000 -a myredis -c #登录redis集群
10.0.0.101:7000> cluster nodes #查看集群节点
10.0.0.101:7000> cluster info #查看集群信息
验证OK,redis6.2.2 集群搭建完毕。