【个人技术经验及开发技巧分享】 【个人技术经验及开发技巧分享】
首页
  • 操作系统初识
  • JAVA基础
  • JVM
  • 开发框架
  • Redis
  • Zookeeper
  • 消息中间件
  • 持久化
  • 算法
  • 网络
  • 系统架构
  • 并发编程
  • 框架
  • 开发杂货
  • 线上排查
  • 技巧备忘
  • 部署指南
  • 版本管理
  • 工作流程
  • 发版流程
  • 友情链接
  • 网站备忘
  • 在线工具
  • 学习
  • 各种云
  • 应用下载

Louis

首页
  • 操作系统初识
  • JAVA基础
  • JVM
  • 开发框架
  • Redis
  • Zookeeper
  • 消息中间件
  • 持久化
  • 算法
  • 网络
  • 系统架构
  • 并发编程
  • 框架
  • 开发杂货
  • 线上排查
  • 技巧备忘
  • 部署指南
  • 版本管理
  • 工作流程
  • 发版流程
  • 友情链接
  • 网站备忘
  • 在线工具
  • 学习
  • 各种云
  • 应用下载
  • 开发杂货

  • 线上排查

  • 技巧备忘

  • 部署指南

    • Nginx安装
    • Nginx Https证书安装
    • ElasticSearch安装
    • Kibana安装
    • SkyWalking链路追踪
    • Zookeeper安装
    • RabbitMQ安装
    • Kafka集群搭建
    • Kafka Manager安装
    • MySQL安装
    • Canal数据同步
    • Redis高可用集群搭建
      • 1 解压安装包
      • 2 修改配置文件
      • 3 启动服务(单机)
      • 4 集群搭建
        • 4.1 修改配置
        • 4.2 复制配置
        • 4.3 启动各节点服务
        • 4.4 验证集群
        • 4.5 关闭集群
    • XXL-JOB本地部署
    • ELk+Filebeat部署
    • Nacos源码本地运行
  • 技术应用
  • 部署指南
luoxiaofeng
2022-05-23
目录

Redis高可用集群搭建

# 1 解压安装包

提示

redis-7.0.0.tar.gz 安装包已先上传到 / 根目录上。

redis下载地址:https://redis.io/download/

# 解压
tar -zxvf redis-7.0.0.tar.gz -C /louis
1
2

# 2 修改配置文件

修改配置文件/louis/redis-7.0.0/redis.conf

daemonizeyes#后台启动
protected‐modeno#关闭保护模式,开启的话,只有本机才可以访问redis
# 需要注释掉bind,bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可
# bind127.0.0.1
1
2
3
4

# 3 启动服务(单机)

启动服务

src/redis‐serverredis.conf

# 验证启动是否成功
ps‐ef|grepredis

# 进入redis客户端
src/redis‐cli

# 退出客户端
quit
1
2
3
4
5
6
7
8
9
10

退出服务

pkill redis‐server

kill 进程号

src/redis‐cli shutdown
1
2
3
4
5

# 4 集群搭建

提示

由于资源有限,只有一个虚拟机,在一台虚拟机上搭建3主3从(模拟3台机器,每台机器一主一从)。

mkdir /louis/redis-cluster-1
cd /louis/redis-cluster-1
mkdir 8001 8004
# 把之前的redis.conf配置文件copy到8001下
cp /louis/redis.conf /louis/redis-cluster-1/8001/redis.conf
1
2
3
4
5

# 4.1 修改配置

vi redis.conf
#####################

daemonize yes

# 分别对每个机器的端口号进行设置
port 8001

# 把pid进程号写入pidfile配置的文件
pidfile /var/run/redis_8001.pid

# 指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /usr/local/redis‐cluster/8001/(

# 启动集群模式
cluster‐enabled yes

#集群节点信息文件,这里800x最好和port对应上
cluster‐config‐file nodes‐8001.conf

cluster‐node‐timeout 10000

# bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind
# bind 127.0.0.1

# 关闭保护模式
protected‐mode no

appendonly yes

# 如果要设置密码需要增加如下配置:
# 设置redis访问密码
requirepass louis
# 设置集群节点间访问密码,跟上面一致
masterauth louis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

把修改后的配置文件,copy到8004,修改端口号相关信息,可以用批量替换:

:%s/源字符串/目的字符串/g
1

即:

:%s/8001/8004/g
1

# 4.2 复制配置

复制配置作为另外“两台机器”的配置

cp -r redis-cluster-1 redis-cluster-2
cp -r redis-cluster-1 redis-cluster-3
1
2
cd /louis/redis-cluster-2
mv 8001 8002
mv 8004 8005

cd 8002
vi redis.conf
:%s/8001/8002/g
redis-cluster-1替换为redis-cluster-2

cd 8005
vi redis.conf
:%s/8004/8005/g
redis-cluster-1替换为redis-cluster-2
1
2
3
4
5
6
7
8
9
10
11
12
13
cd /louis/redis-cluster-3
mv 8001 8003
mv 8004 8006

cd 8003
vi redis.conf
:%s/8001/8003/g
redis-cluster-1替换为redis-cluster-3

cd 8006
vi redis.conf
:%s/8004/8006/g
redis-cluster-1替换为redis-cluster-3
1
2
3
4
5
6
7
8
9
10
11
12
13

# 4.3 启动各节点服务

/louis/redis-7.0.0/src/redis-server /louis/redis-cluster-1/8001/redis.conf
/louis/redis-7.0.0/src/redis-server /louis/redis-cluster-1/8004/redis.conf

/louis/redis-7.0.0/src/redis-server /louis/redis-cluster-2/8002/redis.conf
/louis/redis-7.0.0/src/redis-server /louis/redis-cluster-2/8005/redis.conf

/louis/redis-7.0.0/src/redis-server /louis/redis-cluster-3/8003/redis.conf
/louis/redis-7.0.0/src/redis-server /louis/redis-cluster-3/8006/redis.conf
1
2
3
4
5
6
7
8

查看启动情况

ps -ef |grep redis
root       6430      1  0 23:07 ?        00:00:00 /louis/redis-7.0.0/src/redis-server *:8001 [cluster]
root       6436      1  0 23:07 ?        00:00:00 /louis/redis-7.0.0/src/redis-server *:8004 [cluster]
root       6466      1  0 23:09 ?        00:00:00 /louis/redis-7.0.0/src/redis-server *:8002 [cluster]
root       6472      1  0 23:09 ?        00:00:00 /louis/redis-7.0.0/src/redis-server *:8005 [cluster]
root       6478      1  0 23:09 ?        00:00:00 /louis/redis-7.0.0/src/redis-server *:8003 [cluster]
root       6484      1  0 23:09 ?        00:00:00 /louis/redis-7.0.0/src/redis-server *:8006 [cluster]
root       6490   6261  0 23:09 pts/1    00:00:00 grep --color=auto redis
1
2
3
4
5
6
7
8

使用redis‐cli创建redis集群

/louis/redis-7.0.0/src/redis-cli --cluster create --cluster-replicas 1 172.16.227.132:8001 172.16.227.132:8002 172.16.227.132:8003 172.16.227.132:8004 172.16.227.132:8005 172.16.227.132:8006

# 不加-a 密码的话,会出现报错,中途有个地方需要手动输入yes即可。
1
2
3

提示

上面的命令只能在新创健集群的时候执行一次,目的是为了建立内部各个节点的对应关系,比如主从关系。

# 4.4 验证集群

连接任意一个客户端即可: ./redis‐cli ‐c ‐h ‐p (‐a访问服务端密码,‐c表示集群模式,-h指定ip地址, -p端口号)

/louis/redis-7.0.0/src/redis-cli -h 172.16.227.132 -p 8001
1

查看集群信息

cluster info
1

查看节点列表

cluster nodes
1

# 4.5 关闭集群

ps -ef | grep redis
root       6430      1  0 23:07 ?        00:00:07 /louis/redis-7.0.0/src/redis-server *:8001 [cluster]
root       6436      1  0 23:07 ?        00:00:08 /louis/redis-7.0.0/src/redis-server *:8004 [cluster]
root       6466      1  0 23:09 ?        00:00:07 /louis/redis-7.0.0/src/redis-server *:8002 [cluster]
root       6472      1  0 23:09 ?        00:00:07 /louis/redis-7.0.0/src/redis-server *:8005 [cluster]
root       6478      1  0 23:09 ?        00:00:07 /louis/redis-7.0.0/src/redis-server *:8003 [cluster]
root       6484      1  0 23:09 ?        00:00:07 /louis/redis-7.0.0/src/redis-server *:8006 [cluster]

kill -9 6430 6436 6466 6472 6478 6484
1
2
3
4
5
6
7
8
9
#安装部署#Redis
Canal数据同步
XXL-JOB本地部署

← Canal数据同步 XXL-JOB本地部署→

最近更新
01
SpringBoot
10-21
02
Spring
10-20
03
Sentinel
10-14
更多文章>
Copyright © 2022-2023 Louis | 粤ICP备2022060093号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式