Redis集群部署3主3从

环境linux下部署redis

一、redis下载

1、可以从官网下载:Download | Redis

2、官网下载不下来,可以使用其他下载地址,我使用华为的地址:Index of redis-local

二、实验环境

使用3台centos7.6的服务器来部署redis集群:

192.168.92.140        redis主:6379        redis从:6380

192.168.92.141        redis主:6379        redis从:6380

192.168.92.142        redis主:6379        redis从:6380

三、部署redis

1、上传redis包到服务器上,使用版本redis-6.0.16(生产环境建议使用5.x或者其他稳定版本)

# 安装编译需要的库
yum -y install centos-release-scl
# 安装相关编译依赖
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils gcc automake autoconf libtool make
# centos7默认的 gcc 版本为:4.8.5 < 5.3 无法编译(redis6.x开启了多线程代码依赖)
#临时有效,退出 shell 或重启会恢复原 gcc 版本
scl enable devtoolset-9 bash
# 永久有效(重启或者source /etc/profile)
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
# 解压到/usr/local/目录下并做软连接
tar xf redis-6.0.16.tar.gz -C /usr/local/
ln -s /usr/local/redis-6.0.16/ /usr/local/redis
# 指定安装目录
cd /usr/local/redis
make PREFIX=/usr/local/redis install 
cd src && make install
# 默认已经在/usr/local/bin已经有了
# 环境变量
vim /etc/profile
export PATH=/usr/local/redis/bin:$PATH
source /etc/profile
# 启动
redis-server &(默认文件)
# 指定文件启动(一般用这个)
redis-server /usr/local/redis/123.conf
# 关闭
redis-cli shutdown 

2、bin目录下解释

redis-benchmark    # 性能测试工具,查看本地性能如何
redis-check-aof    # 修复有问题的AOF文件
redis-check-rdb    # 修复有问题的rdb文件
redis-sentinel     # redis 集群使用
redis-server       # redis服务启动命令
redis-cli          # 客服端连接

3、配置文件

# 创建目录(data是数据目录,logs是日志目录,conf是配置文件目录)
mkdir -p /redis-data/6379/{data,logs,conf}
mkdir -p /redis-data/6380/{data,logs,conf}
-------------------------------------------------
port 6379			# 端口
bind 0.0.0.0    	# 写自己的IP
daemonize yes		#  后台守护模式,默认no
requirepass 123			# 认证密码
masterauth 123			# 密码认证(主节点开机密码,从节点需要认证)
appendonly yes			# 开启AOF持久化模式,默认no
dir /redis-data/6379/data	# 数据保存位置,默认./(那启动,保存在哪)
logfile "/redis-data/6379/logs/redis.log"	# 日志
cluster-enabled yes		# 开启集群
cluster-config-file nodes.conf		#集群信息数据
cluster-node-timeout 15000		#超时时间
cluster-announce-ip	192.168.92.140	# 集群节点IP
cluster-announce-port 6379			# 集群节点映射端口
cluster-announce-bus-port 16379		# 集群节点总线端口
cluster-replica-validity-factor 10	#0立刻尝试转移 10*15000 故障不会转移
cluster-migration-barrier 1		# 主节点维持最少可用从节点数(默认是1,默认就行)
# 某段插槽主从都挂了,(no)该段插槽数据不能使用,(默认yes,集群都挂了)
cluster-require-full-coverage no
------------------------------------------------
redis有两个节点需要打开TCP连接,一个用于为客户端提供服务的正常redisTCP端口,还有一个是基于6379端口加了10000的端口,比如16379。
第二个端口用于集群总线,使用二进制协议节点到节点通信,节点之间的故障检查,迁移,授权等等

4、部署和启动

# 拷贝一份配置文件作为6380配置文件
cp reids-6379.conf /redis-data/6380/conf/
# 修改端口和配置文件名字
mv reids-6379.conf reids-6380.conf
sed -i 's/6379/6380/g' /redis-data/6380/conf/reids-6380.conf
------------------------------------------------
# 配置文件拷贝到另外两台服务器起
scp reids-6379.conf root@192.168.92.141:/redis-data/6379/conf/
scp reids-6380.conf root@192.168.92.141:/redis-data/6380/conf/
scp reids-6379.conf root@192.168.92.142:/redis-data/6379/conf/
scp reids-6380.conf root@192.168.92.142:/redis-data/6380/conf/
------------------------------------------------
# 不同主机把集群主机IP修改下141和142上执行
sed -i 's#192.168.92.140#192.168.92.141#g' /redis-data/6379/conf/reids-6379.conf
sed -i 's#192.168.92.140#192.168.92.141#g' /redis-data/6380/conf/reids-6380.conf
sed -i 's#192.168.92.140#192.168.92.142#g' /redis-data/6379/conf/reids-6379.conf
sed -i 's#192.168.92.140#192.168.92.142#g' /redis-data/6380/conf/reids-6380.conf
------------------------------------------------
# 启动redis
redis-server /redis-data/6379/conf/reids-6379.conf 
redis-server /redis-data/6380/conf/reids-6380.conf 

5、生成集群

# 启动6个redis分别写出IP和port 1表示3主3从  写2表示2主4从
redis-cli --cluster create 192.168.92.140:6379 192.168.92.140:6380 192.168.92.141:6379 192.168.92.141:6380 192.168.92.142:6379 192.168.92.142:6380 --cluster-replicas 1 -a 123
# 会提示是否接受上面配置,输入yes就可以了,就开始初始化集群

6、进去redis查看集群

# 客户端集群连接(加上 -c  其他跟普通的一样)
redis-cli -c -p 6379 -a 123	# -c 集群方式登录 -h 主机IP -p 端口 -a 认证
# 查看集群信息
cluster info
# 集群当前已知的所有节点( node)
cluster nodes

redis集群部署成功

验证设置键值,第一次没有成功是因为分配到192.168.92.142节点上去了,需要认证。前面配置文件有注释

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值