redis--生产环境搭建--05--集群模式的安装和配置

redis–生产环境搭建–05–集群模式的安装和配置


代码位置

使用hd用户登陆
完成基础环境搭建
	https://blog.csdn.net/zhou920786312/article/details/118212302

一、介绍

  1. 设置Redis服务访问密码,各集群节点都必须设置相同密码

  2. redis以多节点分工的方式工作,数据访问分摊到不同节点,可以提高系统在重载时的处理能力,配合上从节点后可以具有高可用特性,适用于生产环境等要求较高的场合。

  3. redis集群的节点个数必须为奇数,至少要有3个节点;

    1. 如果需要集群具有高可用功能,每个节点至少需要一个从节点, 因此在生产环境使用时,至少需要6个节点。

二、集群模式的安装和配置

以下以在同一机器机安装6个节点为例说明,其中3个为主节点,3个为主节点的从节点,6个节点的监听端口为7000-7005。

在正式环境中,Redis集群节点一般应该分散部署在不同机器上,比如,3个一组,分别部署在两台机器上

2.1、安装各节点自启动脚本

执行命令,完成6个节点(7000,7001,7002,7003,7004,7005)的安装

cd /home/hd/redis-6.2.6

sudo REDIS_PORT=7000 REDIS_CONFIG_FILE=/etc/redis/7000.conf  REDIS_LOG_FILE=/var/log/redis_7000.log  REDIS_DATA_DIR=/var/lib/redis/7000  REDIS_EXECUTABLE='command -v redis-server'  ./utils/install_server.sh

sudo REDIS_PORT=7001 REDIS_CONFIG_FILE=/etc/redis/7001.conf  REDIS_LOG_FILE=/var/log/redis_7001.log  REDIS_DATA_DIR=/var/lib/redis/7001  REDIS_EXECUTABLE='command -v redis-server'  ./utils/install_server.sh

sudo REDIS_PORT=7002 REDIS_CONFIG_FILE=/etc/redis/7002.conf  REDIS_LOG_FILE=/var/log/redis_7002.log  REDIS_DATA_DIR=/var/lib/redis/7002  REDIS_EXECUTABLE='command -v redis-server'  ./utils/install_server.sh

sudo REDIS_PORT=7003 REDIS_CONFIG_FILE=/etc/redis/7003.conf  REDIS_LOG_FILE=/var/log/redis_7003.log  REDIS_DATA_DIR=/var/lib/redis/7003  REDIS_EXECUTABLE='command -v redis-server'  ./utils/install_server.sh

sudo REDIS_PORT=7004 REDIS_CONFIG_FILE=/etc/redis/7004.conf  REDIS_LOG_FILE=/var/log/redis_7004.log  REDIS_DATA_DIR=/var/lib/redis/7004  REDIS_EXECUTABLE='command -v redis-server'  ./utils/install_server.sh

sudo REDIS_PORT=7005 REDIS_CONFIG_FILE=/etc/redis/7005.conf  REDIS_LOG_FILE=/var/log/redis_7005.log  REDIS_DATA_DIR=/var/lib/redis/7005  REDIS_EXECUTABLE='command -v redis-server'  ./utils/install_server.sh
 

Please select the redis executable path []

/usr/local/bin/redis-server

在这里插入图片描述

效果

ps -ef | grep redis

在这里插入图片描述

2.2、调整redis配置

2.2.1、逐一编辑/etc/redis目录下的7000.conf-7005.conf

sudo vim  /etc/redis/7000.conf

修改内容如下


# 是否在后台执行,yes:后台以守护进程运行;no:不是后台运行(老版本默认),docker里面需要配no
daemonize yes


appendonly yes
notify-keyspace-events "Egx"
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000


# 去掉本地ip绑定  
#bind 127.0.0.1
# 设置redis连接密码
requirepass 123456


# 设置集群各主从节点的访问密码,其中123456假设为访问密码
masterauth 123456

注意

1. 集群节点redis服务端口及所在服务器IP需要与以下云服务应用中的redis连接配置保持一致;
2. redis服务设置了访问密码,云服务中还需要增加密码的相关配置。

2.2.2、修改启动脚本

逐一编辑/etc/init.d/目录下的redis_7000-redis_7005

如果redis服务没有设置访问密码,此步骤跳过

sudo vim /etc/init.d/redis_7000

在图示中位置添加如下一行

PASSWORD=$(cat $CONF|grep '^\s*requirepass'|awk '{print $2}'|sed 's/"//g')

在这里插入图片描述

在下图示中位置把以下一行注释掉

$CLIEXEC -p $REDISPORT shutdown

并添加以下行

if [ -z $PASSWORD ]
then
    $CLIEXEC -p $REDISPORT shutdown
else
    $CLIEXEC -a $PASSWORD -p $REDISPORT shutdown
fi


2.3、重新启动所有节点的redis服务

sudo /etc/init.d/redis_7000 restart
sudo /etc/init.d/redis_7001 restart
sudo /etc/init.d/redis_7002 restart
sudo /etc/init.d/redis_7003 restart
sudo /etc/init.d/redis_7004 restart
sudo /etc/init.d/redis_7005 restart

ps -ef | grep redis

在这里插入图片描述

2.3.1、建立集群(非密码方式)

要使用具体IP

redis-cli --cluster create  192.168.187.139:7000 192.168.187.139:7001 192.168.187.139:7002 192.168.187.139:7003  192.168.187.139:7004 192.168.187.139:7005 --cluster-replicas 1

2.3.2、建立集群(密码方式)

redis-cli -a 123456 --cluster create 192.168.187.139:7000 192.168.187.139:7001 192.168.187.139:7002 192.168.187.139:7003 192.168.187.139:7004 192.168.187.139:7005 --cluster-replicas 1


所有节点的密码必须设置为同一密码, 上述命令需要增加参数"-a 密码"的方式传入(以下假设密码为:123456)

2.3.3、解释

  1. “–cluster-replicas 1”:表示每个主节点具有1个从节点

2.3.4、效果

在这里插入图片描述

在这里插入图片描述

三、验证

3.1、7000机器(以下是正常情况)

# 使用-c参数来启动集群模式

[hd@zhoufei redis]$ redis-cli -c -p 7000
127.0.0.1:7000> auth 123456
OK
127.0.0.1:7000> set a 1
# 集群转向到7002端口
-> Redirected to slot [15495] located at 127.0.0.1:7002
(error) NOAUTH Authentication required.
127.0.0.1:7002> set a 1
(error) NOAUTH Authentication required.
# 通过密码授权
127.0.0.1:7002> auth 123456
OK
127.0.0.1:7002> set a 1
OK
127.0.0.1:7002> get a 
"1"
127.0.0.1:7002> 
 
# 查看节点信息

127.0.0.1:7002> cluster nodes
0ad3c8c2c092f0918373f37bf1a3689c8f6d2c37 127.0.0.1:7001@17001 master - 0 1619677213000 2 connected 5461-10922
c882d9eff56564d4148fa66e2a5e36f0239ae3b1 127.0.0.1:7000@17000 master - 0 1619677214575 1 connected 0-5460
48c8befd2eb224709d63570df334486ab41eee84 127.0.0.1:7004@17004 slave 0ad3c8c2c092f0918373f37bf1a3689c8f6d2c37 0 1619677214675 5 connected
0b4c5974581ffab6b592ee5d21fb3bfe15b6d358 127.0.0.1:7002@17002 myself,master - 0 1619677213000 3 connected 10923-16383
44d0347d8d586bd4120cb01517e7d2568442d763 127.0.0.1:7003@17003 slave c882d9eff56564d4148fa66e2a5e36f0239ae3b1 0 1619677214575 4 connected
5796f3f594f78bf09c38a1ae2b57376b9968532b 127.0.0.1:7005@17005 slave 0b4c5974581ffab6b592ee5d21fb3bfe15b6d358 0 1619677213673 6 connected



四、集群关闭命令


redis-cli -a 123456 -c  -p 7001 shutdown
redis-cli -a 123456 -c  -p 7002 shutdown
redis-cli -a 123456 -c  -p 7003 shutdown
redis-cli -a 123456 -c  -p 7004 shutdown
redis-cli -a 123456 -c  -p 7005 shutdown
redis-cli -a 123456 -c  -p 7000 shutdown

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值