CentOS 7单机安装Redis Cluster(3主3从伪集群),仅需简单五步
Posted 李子捌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7单机安装Redis Cluster(3主3从伪集群),仅需简单五步相关的知识,希望对你有一定的参考价值。
首先安装单机版Redis(如下有全部教程)
VMware+CentOS 7 静态IP设置方法 —保姆级教程,建议收藏
安装配置:
服务IP | Redis安装目录 |
---|---|
192.168.211.107 | /usr/local/soft/redis-6.2.4/ |
第一步:创建数据目录
创建不同的数据目录
cd /usr/local/soft/redis-6.2.4/
mkdir redis-cluster
cd redis-cluster/
mkdir 6319 6329 6339 6349 6359 6369
第二步:配置文件修改
拷贝Redis配置文件redis.conf到创建的第一个文件夹下
cp /usr/local/soft/redis-6.2.4/redis.conf /usr/local/soft/redis-6.2.4/redis-cluster/6319
修改配置文件
cd /usr/local/soft/redis-6.2.4/redis-cluster/6319
vim redis.conf
如下配置文件配置项如有不懂的,可以去我的单机版安装Redis实例中查看,这里搜索这些配置可以退出编辑模式 使用/xxx(斜杆+部分字符) 来搜索,或者直接从服务器拿下来修改
port 6319
protected-mode no
daemonize yes
dir "/usr/local/soft/redis-6.2.4/redis-cluster/6319/"
cluster-enabled yes
cluster-config-file nodes-6319.conf
cluster-node-timeout 15000
appendonly yes
pidfile "/var/run/redis_6319.pid"
外网集群需要增加如下配置
# 各节点网卡分配的IP(公网IP)
cluster-announce-ip xx.xx.xx.xx
# 节点映射端口
cluster-announce-port ${PORT}
# 节点总线端口
cluster-announce-bus-port ${PORT}
拷贝配置文件到其余5个创建的目录
cd /usr/local/soft/redis-6.2.4/redis-cluster/6319/
cp redis.conf ../6329/
cp redis.conf ../6339/
cp redis.conf ../6349/
cp redis.conf ../6359/
cp redis.conf ../6369/
批量替换配置文件内容
sed -i 's/原字符串/新字符串/' /xxx/xx.xx
cd /usr/local/soft/redis-6.2.4/redis-cluster/
sed -i 's/6319/6329/g' 6329/redis.conf
sed -i 's/6319/6339/g' 6339/redis.conf
sed -i 's/6319/6349/g' 6349/redis.conf
sed -i 's/6319/6359/g' 6359/redis.conf
sed -i 's/6319/6369/g' 6369/redis.conf
第三步:启动节点
启动6个Redis节点
./src/redis-server redis-cluster/6319/redis.conf
./src/redis-server redis-cluster/6329/redis.conf
./src/redis-server redis-cluster/6339/redis.conf
./src/redis-server redis-cluster/6349/redis.conf
./src/redis-server redis-cluster/6359/redis.conf
./src/redis-server redis-cluster/6369/redis.conf
ps -ef|grep redis
第四步:创建集群
使用绝对IP地址启动集群
cd /usr/local/soft/redis-6.2.4/src/
redis-cli --cluster create 192.168.211.107:6319 192.168.211.107:6329 192.168.211.107:6339 192.168.211.107:6349 192.168.211.107:6359 192.168.211.107:6369 --cluster-replicas 1
Redis对6个节点分配3主3从,我们直接yes确认
slot分配图,这里记录下来,后续测试有用
节点 | IP | 槽范围 |
---|---|---|
Master[0] | 192.168.211.107:6319 | Slots 0 - 5460 |
Master[1] | 192.168.211.107:6329 | Slots 5461 - 10922 |
Master[2] | 192.168.211.107:6339 | Slots 10923 - 16383 |
集群创建完成
第五步:测试集群
通过脚本批量插入key,来根据key的分布测试集群节点是否正常
创建脚本
cd /usr/local/soft/redis-6.2.4/redis-cluster/
vim batchKeyInsert.sh
脚本内容是循环十万次往Redis中插入key
redis-cli -h {host} -p {port} {command} 是一种客户端连接执行命令方式
redis-cli -h 192.168.211.107 -p 6319 -c -x set name$i >>redis.log
-c
连接集群结点时使用,此选项可防止moved和ask异常
-x
代表从标准输入读取数据作为该命令的最后一个参数
#!/bin/bash
for((i=0;i<100000;i++))
do
echo -en "Come on, i love java" | redis-cli -h 192.168.211.107 -p 6319 -c -x set name$i >>redis.log
done
文件赋予权限
chmod +x batchKeyInsert.sh
执行脚本(需要一点时间)
./batchKeyInsert.sh
进入三个主节点,连接客户端,查看节点的数据分布情况
cd /usr/local/soft/redis-6.2.4/src
redis-cli -p 6319
dbsize
从上面看出节点数据分布较为均匀,集群部署成功!
以上是关于CentOS 7单机安装Redis Cluster(3主3从伪集群),仅需简单五步的主要内容,如果未能解决你的问题,请参考以下文章
虚拟机搭建redis单机版及redis-cluster,使用redis desktop manager和java(eclipse)连接redis过程遇到问题汇总