Linux部署redis集群

环境:

  • redis版本:6.2.1
  • linux服务器:centos7.6

安装
1、redis需要进行C语言编译环境,安装gcc
yun install gcc

2、切换到 /usr/local目录下创建redis目录进入redis目录中进行下载redis-6.2.1.tar.gz
cd usr/local

mkdir redis

cd redis

wgt http://download.redis.io/releases/redis-6.2.1.tar.gz

3、解压,会生成redis-6.2.1文件
tar xzf redis-6.2.1.tar.gz

4、进入到redis-6.2.1目录下进行编译
cd redis-6.2.1

make

5、安装(PREFIX是编译时用于指定程序存放的路径)
make PREFIX=/usr/local/redis-6.2.1

6、在redis目录下创建redis_cluster目录,并在该目录下创建6个文件夹
mkdir ../redis_cluster/node7{1,2,3,4,5,6}

7、在redis_cluster目录下将redis配置文件复制到node7001目录下
cp ../redis-6.2.1/redis.conf node7001/

8、修改node7001目录下redis.conf配置文件
vi node7001/redis.conf

port 7001                                 --设置端口
bind IP4 127.0.0.1                           --设置服务器的内网ip4地址和127.0.0.1
protected-mode                            --保护模式关闭
dir /usr/local/redis/redis_cluster/node7001/  --指定数据存储位置,指定不同目录好区分
pidfile /usr/local/redis/redis_cluster/node7001/nodes-7001.pid --指定pid进程文件存放目录
logfile /usr/local/redis/redis_cluster/node7001/nodes-7001.log  --指定log日志存放目录
cluster-enabled yes                        --集群启动开启
cluster-config-file nodes-7001.conf        --集群节点配置文件,各个节点必须区分开
cluster-node-timeout 15000                 --集群节点超时时间,超过这个时间则认为该节点为宕机
appendonly yes                             --开启aof持久化

设置密码,看个人需求
requirepass 123456                         --连接redis的密码
masterauth  123456                         --节点之间通讯的访问密码

9、保存后将node7001目录下配置文件复制到每个节点目录下
cp node7001/redis.conf -a node7002/
cp node7001/redis.conf -a node7003/
cp node7001/redis.conf -a node7004/
cp node7001/redis.conf -a node7005/
cp node7001/redis.conf -a node7006/

10、将每个节点下的配置文件进行一一修改,将7001替换成对应的port,进入对应配置文件命令模式执行
%s/7001/7002(对应每个节点端口)/g

11、启动各个节点

../redis-6.2.1/src/redis-server node7001/redis.conf

12、查看节点启动进程
ps -ef|grep redis

13、搭建集群,进入一个客户端,输入命令连接不同开启集群的节点
../redis-6.2.1/src/redis-cli -a 123456 -p 7001

cluster meet 127.0.0.1 7002
cluster meet 127.0.0.1 7003
cluster meet 127.0.0.1 7004
cluster meet 127.0.0.1 7005
cluster meet 127.0.0.1 7006

14、在客户端查看集群节点信息,cluster_state:fail,发现并没有启动成功。
cluster info

15、退出客户端分配槽位

../redis-6.2.1/src/redis-cli -a 123456 -p 7001 cluster addslots {0..5461}

../redis-6.2.1/src/redis-cli -a 123456 -p 7002 cluster addslots {5462..10922}

../redis-6.2.1/src/redis-cli -a 123456 -p 7003 cluster addslots {10923..16383}

`
16、查看集群信息和集群节点信息,cluster_state:ok,代表集群已经起来,但是没有主从关系。

../redis-6.2.1/src/redis-cli -a 123456 -p 7003 cluster info

../redis-6.2.1/src/redis-cli -a 123456 -p 7003 cluster nodes

17、开始配置主从节点,7006设置成7001从、7005设置成7002从,7004设置成7003从 ,(/usr/bin/redis-cli -h 从节点IP -p 从节点端口 cluster replicate 主节点NodeID )

../redis-6.2.1/src/redis-cli -a 123456 -h 172.25.41.229 -p 7006 cluster replicate 78dcab14f537b483cbe9f31b9906b4c007ae2558

../redis-6.2.1/src/redis-cli -a 123456 -h 172.25.41.229 -p 7005 cluster replicate 86cd32d1da14d12afb820935ca593a3380140f8d

../redis-6.2.1/src/redis-cli -a 123456 -h 172.25.41.229 -p 7004 cluster replicate 9d28b7ff19015e22085976a75c55bf5785774073

18、查看集群节点,发现主从关系已经成立,代表集群已经搭建成功

../redis-6.2.1/src/redis-cli -a 123456 -p 7003 cluster nodes

19、以集群的形式存入数据,-c表示连接集群,为什么会出现moved而且客户端还自动连接了7003,下一章会进行详细说明

../redis-6.2.1/src/redis-cli -a 123456 -p 7001 -c

20、登录任何节点查看存入的数据

../redis-6.2.1/src/redis-cli -a 123456 -p 7002 -c

21、redis集群搭建成功,,具体其他配置根据公司实际业务配置

恭喜恭喜搭建Redis集群成功

posted @ 2023-11-05 22:49  Be_Your_Sun  阅读(2026)  评论(0编辑  收藏  举报