redis6 集群部署

准备三台虚拟机

下面步骤需要在三台机器上执行 我就其中一台为例,记得修改配置

每一台机器上安装master和slave

3个master 3个slave

1、配置主机名

vim /etc/hosts
192.168.225.128 master
192.168.225.131 node1
192.168.225.132 node2

2、关闭防火墙

[root@node1 html]# systemctl stop firewalld
[root@node1 html]# systemctl disable firewalld

3、下载redis安装包到/usr/local/src  (我是安装的redis6版本以上)  下载地址 Index of /releases/

cd /usr/local/src
-rw-r--r--. 1 root root   2476542 Oct  4  2021 redis-6.2.6.tar.gz

4、安装gcc依赖

因为使用的是6版本以上,需要安装gcc5以上版本可以二进制安装或者yum安装

 源码包 下载地址 Index of /gnu/gcc

以下是yum安装方法

yum -y install gcc tcl
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
gcc -v 查看版本

 版本是根据 9来决定的 你要下载其他版本 可以把9 改成 7或者8 

如果版本没有变化,执行 echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

在进行查看 gcc -v

5、安装redis

#解压
tar -xvf redis-6.2.6.tar.gz -C /usr/local
cd redis-6.2.6
make MALLOC=libc
make install PROFIX=/usr/local/redis

cd /usr/local/redis/bin
[root@node1 bin]# ll
total 8528
-rwxr-xr-x. 1 root root     152 May 10 21:53 cluster_start.sh
-rwxr-xr-x. 1 root root      52 May 10 21:54 cluster_stop.sh
-rwxr-xr-x. 1 root root  958896 May 10 19:46 redis-benchmark
lrwxrwxrwx. 1 root root      12 May 10 19:46 redis-check-aof -> redis-server
lrwxrwxrwx. 1 root root      12 May 10 19:46 redis-check-rdb -> redis-server
-rwxr-xr-x. 1 root root 1204784 May 10 19:46 redis-cli
lrwxrwxrwx. 1 root root      12 May 10 19:46 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 6552312 May 10 19:46 redis-server

#新建目录
cd  /usr/local/redis/
mkdir conf && mkdir data  && mkdir log && make run 
[root@node1 redis]# ll
total 0
drwxr-xr-x. 2 root root 181 May 10 21:54 bin
drwxr-xr-x. 2 root root  50 May 10 21:56 conf
drwxr-xr-x. 3 root root  18 May 10 21:04 data
drwxr-xr-x. 2 root root  50 May 10 21:56 log
drwxr-xr-x. 2 root root  50 May 10 21:56 run

#修改配置文件    7000是文件端口号方便识别
cp /usr/local/redis-6.2.6/redis.conf /usr/local/redis/conf/redis-7000.conf
vim  /usr/local/redis/conf/


修改ip 进入文件 使用 :set nu 显示文件行数
将 75注释 新增76  
75 #bind 127.0.0.1 -::1
76 bind 0.0.0.0

#修改端口号
99 port 7000

#开启守护进程
258 daemonize yes

因为现在的实例安装的是7000 记得文件名也根据端口修改而修改

#pid存储目录
290 pidfile /usr/local/redis/run/redis_7000.pid

#log日志存储目录
303 logfile /usr/local/redis/log/redis_7000.log

#数据目录
mkdir -p  /usr/local/redis/data/7000
455 dir /usr/local/redis/data/7000


#开启集群
1386 cluster-enabled yes

#集群节点配置文件,确定每个节点名称不一样
1394 cluster-config-file nodes-7000.conf

#AOF持久化
1253 appendonly yes









5、新建i启动脚本、停止脚本

cd /usr/local/redis/bin/cluster_start.sh

#!/bin/bash
basedir=`dirname $0`   #获取当前目录
echo "Redis BASE dir:$basedir"
cd $basedir
./redis-server ../conf/redis7000.conf
./redis-server ../conf/redis7001.conf

#wq保存退出

chmod +x /usr/local/redis/bin/cluster_start.sh


cd /usr/local/redis/bin/cluster_stop.sh

#!/bin/bash 
pgrep redis-server |xargs -exec kill -9  #过滤出redis全部pid
chmod +x  /usr/local/redis/bin/cluster_stop.sh

 以上操作在3台节点都都安装部署完成后

开始创建redis集群

./redis-cli --cluster create 192.168.225.128:7000 192.168.225.131:7000 192.168.225.132:7000 192.168.225.128:7001 192.168.225.131:7001 192.168.225.132:7001 --cluster-replicas 1

--cluster-replicas 1 希望每个服务器都有一主一从

验证

[root@node1 bin]# ./redis-cli -c -h 192.168.225.131 -p 7000 cluster nodes
0763365eaf12ca42c648495680bce2523e4da3a1 192.168.225.128:7000@17000 master - 0 1683862327000 1 connected 0-5460
bae399e402ec1642527b7d2a953ddbde2adcca2a 192.168.225.132:7001@17001 slave a72b4b7ecb760a6ccc1bd1555d9d2b4eaddec465 0 1683862324994 2 connected
cf698d9d658e1f4797f8f84a74e5c78fe28a5838 192.168.225.132:7000@17000 master - 0 1683862327138 3 connected 10923-16383
73cc1b4b3f749741d4c86a11b525f7c697ad51fe 192.168.225.131:7001@17001 slave 0763365eaf12ca42c648495680bce2523e4da3a1 0 1683862324000 1 connected
a72b4b7ecb760a6ccc1bd1555d9d2b4eaddec465 192.168.225.131:7000@17000 myself,master - 0 1683862325000 2 connected 5461-10922
e27da267b676ffe0f69de53cae010c51bf3f2340 192.168.225.128:7001@17001 slave cf698d9d658e1f4797f8f84a74e5c78fe28a5838 0 1683862325000 3 connected



 

添加开机自启  自己写的时候注意文件路径 和文件名称

cd /etc/systemd/system
vi  redis7000.service
[Unit]
Description=Redid700

[Service]
User=root
Group=root
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis7000.conf
ExecStop=/usr/local/redis/bin/redis-cli  shutdown
PIDFile=/usr/local/redis/run/redis_7000.pid

[Install]
WantedBy=multi-user.target
 


vi  redis7001.service
[Unit]
Description=Redis In-Memory Data Store

[Service]
User=root
Group=root
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis7001.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
PIDFile=/usr/local/redis/run/redis_7001.pid

[Install]
WantedBy=multi-user.target

加入开机自启

 systemctl enable redis7001.service

 systemctl enable redis7000.service

重启服务器验证就好

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值