IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis 主从复制集群部署记录 -> 正文阅读

[大数据]Redis 主从复制集群部署记录

Redis 主从复制集群部署记录

本文档依赖于 中标麒麟 centos 7 操作系统部署

redis-5.0.7.tar.gz

predixy-1.0.5-bin-amd64-linux.tar.gz

关闭防火墙

因为是多个服务器做主从复制,服务器之间必须可以链通,需要关闭所有服务器的防火墙,如果现场不允许关闭,请酌情配置端口

[root@localhost ~]# systemctl stop  firewalld
[root@localhost ~]# systemctl disable   firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Redis实例的安装

  • 升级yum 源 (内网环境无法升级可以先略过)yum update

  • 安装 gccyum install gcc

  • 获取安装包自己带了安装包直接上传即可,没有安装包可以下载

    • Redis安装包下载地址: http://download.redis.io/releases/redis-5.0.7.tar.gz
mkdir /home/archser/soft 
cd /home/archser/soft 
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
  • 解压软件tar -xzvf redis-5.0.7.tar.gz

  • 安装 Redis

cd ./redis-5.0.7
make  ## 编译
make install  ## 迁出工具文件
mkdir /home/archser/redis_6379 ## 创建Redis专用文件夹
./utils/install_server.sh ## 将Redis作为服务安装,安装过程如下
[root@localhost utils]# ./install_server.sh 
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]  ## 设置端口号,默认即可,直接回车
Selecting default: 6379
## 设置 conf文件位置,直接复制创建的文件夹 + /6379.conf 
## 注意:这里删除输入错误需要使用 ctrl + 删除键
Please select the redis config file name [/etc/redis/6379.conf] /home/archser/redis_6379/6379.conf 
## 设置日志文件位置
Please select the redis log file name [/var/log/redis_6379.log] /home/archser/redis_6379/6379.log
## 设置 Redis 数据文件位置
Please select the data directory for this instance [/var/lib/redis/6379] /home/archser/redis_6379/data
## 服务文件位置,默认即可,直接回车
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /home/archser/redis_6379/6379.conf
Log file       : /home/archser/redis_6379/6379.log
Data dir       : /home/archser/redis_6379/data
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
## 这里是让我们确认配置,配置无误直接回车即可
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

## 这时系统中就应该有一个 Redis 进程,且此进程默认 *** 开机自启 ***
[root@localhost utils]# ps -ef|grep redis 
root      17591      1  0 10:30 ?        00:00:00 /usr/local/bin/redis-server 127.0.0.1:6379
root      17656  12909  0 10:36 pts/1    00:00:00 grep --color=auto redis
  • 修改Redis配置文件
cd /home/archser/redis_6379
vi 6379.conf
## 注释  bind 127.0.0.1,不指定允许链接的IP地址
# bind 127.0.0.1
## protected-mode 改为 no ,允许其他服务器链接
protected-mode no
## daemonize 改为 yes ,在后台运行
daemonize yes
## 解开 requirepass 注释,添加 Redis 密码
requirepass archser_redis
  • 重启Redis
[root@localhost redis_6379]# redis-cli  -p 6379
127.0.0.1:6379> SHUTDOWN ## 关闭服务
not connected> 
## 重启服务
[root@localhost redis_6379]# service redis_6379 start 
Starting Redis server...
[root@localhost redis_6379]# ps -ef|grep redis 
root      17991      1  0 10:53 ?        00:00:00 /usr/local/bin/redis-server *:6379
root      17996  12909  0 10:53 pts/1    00:00:00 grep --color=auto redis
[root@localhost redis_6379]# redis-cli -p 6379 
## 重新链接需要密码
127.0.0.1:6379> AUTH archser_redis 
OK
127.0.0.1:6379> keys * 
(empty list or set)
127.0.0.1:6379> 

从节点的配置

  • 主从复制集群是由一个主节点,多个从节点组成,我们按照这个架构配置主从复制集群

  • 我这里有三台服务器,分别为151、153、154 ,我们选择 151 为主节点,153、154 为从节点,并共同追随 151

修改从节点的配置

注意:这里说的是从节点是为了更好的理解配置的含义,如果主节点宕机,Redis哨兵则会选举新的主节点,当宕机的主节点重启后则会变成从节点,所以无论主从节点都需要配置

  • 进入 153 服务器

  • 修改Redis 配置文件(这里是针对从节点功能的修改)

vi /home/archser/redis_6379/6379.conf
## 主节点信息
replicaof 192.168.31.151 6379
## 主节点密码
masterauth archser_redis
## 可以规定最少在几个节点存活的状态下主节点可以继续写入,保证有足够多的健康的节点提供服务 

修改主节点的配置

注意:这里说的是主节点是为了更好的理解配置的含义,但是如果主节点宕机,则哨兵会选举出新的主节点,也就是之前的从节点,那么新的从节点也应该有以下的配置,所以无论主从节点都需要配置

# min-replicas-to-write 3
min-replicas-to-write 2
# min-replicas-max-lag 10
## 延迟小于这里配置的秒数的节点才被认为是健康的节点
min-replicas-max-lag 3
  • 重启 Redis
[root@localhost redis_6379]# redis-cli -p 6379
127.0.0.1:6379> SHUTDOWN  ## 关闭redis
(error) NOAUTH Authentication required.
127.0.0.1:6379> 
[root@localhost redis_6379]# ll
总用量 176
-rwxr-xr-x 1 root root  62000 222 11:15 6379.conf
-rwxr-xr-x 1 root root 113968 222 11:29 6379.log
drwxr-xr-x 2 root root     22 222 11:29 data
## 启动Redis
[root@localhost redis_6379]# service redis_6379 start   
## 如果提示 pid 文件存在,删除即可,没有提示可以忽略
/var/run/redis_6379.pid exists, process is already running or crashed
## 删除 pid文件 ,没有提示可以忽略
[root@localhost redis_6379]# rm -f /var/run/redis_6379.pid
[root@localhost redis_6379]# service redis_6379 start   
Starting Redis server...
[root@localhost redis_6379]# ps -ef|grep redis 
root      18203      1  0 11:19 ?        00:00:00 /usr/local/bin/redis-server *:6379
root      18528  13457  0 11:32 pts/0    00:00:00 grep --color=auto redis
[root@localhost redis_6379]# redis-cli -p 6379
127.0.0.1:6379> AUTH archser_redis
OK

  • 成功日志参考可以查看对应日志文件

/home/archser/redis_6379/6379.log

[root@localhost redis_6379]#  tail -f 6379.log 
27223:S 22 Feb 2021 11:40:57.134 * Connecting to MASTER 192.168.31.151:6379
27223:S 22 Feb 2021 11:40:57.134 * MASTER <-> REPLICA sync started
27223:S 22 Feb 2021 11:40:57.134 * Non blocking connect for SYNC fired the event.
27223:S 22 Feb 2021 11:40:57.134 * Master replied to PING, replication can continue...
27223:S 22 Feb 2021 11:40:57.135 * Partial resynchronization not possible (no cached master)
27223:S 22 Feb 2021 11:40:57.135 * Full resync from master: 38e55326217099121a346935616b52972e155074:1331
27223:S 22 Feb 2021 11:40:57.172 * MASTER <-> REPLICA sync: receiving 186 bytes from master
27223:S 22 Feb 2021 11:40:57.173 * MASTER <-> REPLICA sync: Flushing old data
27223:S 22 Feb 2021 11:40:57.173 * MASTER <-> REPLICA sync: Loading DB in memory
27223:S 22 Feb 2021 11:40:57.173 * MASTER <-> REPLICA sync: Finished with success

测试主从复制

测试思路是在主节点添加数据,看从节点中是否有相同的数据

## 主节点 “151”
[root@localhost ~]# redis-cli -p 6379 
127.0.0.1:6379> AUTH archser_redis 
OK
127.0.0.1:6379> keys * 
(empty list or set)
127.0.0.1:6379> set a a 
OK
## 从节点 “153”
[root@localhost redis_6379]# redis-cli -p 6379
127.0.0.1:6379> AUTH archser_redis 
OK
127.0.0.1:6379> keys * 
1) "a" 
  • 测试没有问题则将其他从节点按照上面的步骤修改
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:47:11  更:2022-04-26 11:50:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:55:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码