redis7.x集群部署
背景介绍
- redis 常用集群方案一般分为两种:主从(哨兵)模式 和 redis cluster 方案,因为 cluster亦支持并且官方推荐将node配置成主从结构,即一个master主节点,挂n个slave从节点,所以本方案针对的所有说的集群方案均是指cluster方案;
- Redis Cluster是一种服务器Sharding技术,3.0版本开始正式提供。Redis Cluster中,Sharding采用slot(槽)的概念,一共分成16384个槽,这有点儿类pre sharding思路。对于每个进入Redis的键值对,根据key进行散列,分配到这16384个slot中的某一个中。使用的hash算法也比较简单,就是CRC16后16384取模。 Redis集群中的每个node(节点)负责分摊这16384个slot中的一部分,也就是说,每个slot都对应一个node负责处理。当动态添加或减少node节点时,需要将16384个槽做个再分配,槽中的键值也要迁移。 Redis集群,要保证16384个槽对应的node都正常工作,如果某个node发生故障,那它负责的slots也就失效,整个集群将不能工作。
- 本次集群部署,三台服务器分别为192.168.0.3、192.168.0.4、192.168.0.5,三个主节点,无从节点。
一、软件下载
二、解压安装包
cd /web
tar xf redis-7.0.3.tar.gz
三、编译安装
cd redis-7.0.3
make
make install PREFIX=/web/redis-7.0.3
四、修改配置文件
- 创建所需目录
mkdir logs conf
mv redis.conf conf/
- 修改配置,并设置密码
vim redis.conf
bind 0.0.0.0
protected-mode no
port 6379
daemonize yes
pidfile /web/redis-7.0.3/conf/redis_6379.pid
logfile "/web/redis-7.0.3/logs/redis_6379.log"
appendonly yes
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
masterauth redis123!@#
requirepass redis123!@#
五、启动redis服务
/web/redis-7.0.3/bin/redis-server /web/redis-7.0.3/conf/redis.conf
六、加入到集群
/web/redis-7.0.3/bin/redis-cli --cluster create 192.168.0.3:6379 192.168.0.4:6379 192.168.0.5:6379 -a redis123!@#
七、配置开机自启动
cp utils/redis_init_script /etc/init.d/redis
chmod +x /etc/init.d/redis
vim /etc/init.d/redis
#!/bin/bash
REDISPORT=6379
EXEC=/web/redis-7.0.3/bin/redis-server
CLIEXEC=/web/redis-7.0.3/bin/redis-cli
PIDFILE=/web/redis-7.0.3/conf/redis_${REDISPORT}.pid
CONF="/web/redis-7.0.3/conf/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT -a 'qixiao@redis456#$%' shutdown >/dev/null 2>&1
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
八、开机自启动
chkconfig redis on
chkconfig redis --list
九、查看集群状态
/web/redis-7.0.3/bin/redis-cli -h 192.168.0.3 -p 6379 -a redis123!@# -c
至此,redis集群安装完成,谢谢观看!
本文来自博客园,作者:霸都运维,转载请注明原文链接:https://www.cnblogs.com/wangjie20200529/p/16474170.html