【Redis】部署脚本 - 主从模式

以下是一个简单的Redis主从模式部署脚本,可以用于快速安装和配置Redis主从服务:

部署Redis主节点

#!/bin/bash

# 安装依赖库
sudo apt-get update
sudo apt-get install -y build-essential tcl wget

# 下载并编译Redis
cd /tmp
wget http://download.redis.io/releases/redis-6.0.11.tar.gz
tar xzf redis-6.0.11.tar.gz
cd redis-6.0.11
make

# 安装Redis
sudo make install

# 配置Redis主节点
sudo mkdir /etc/redis
sudo cp /tmp/redis-6.0.11/redis.conf /etc/redis/
sudo sed -i 's/^supervised no/supervised systemd/' /etc/redis/redis.conf
sudo sed -i 's/^dir .\//dir \/var\/lib\/redis/' /etc/redis/redis.conf
sudo sed -i 's/^logfile ""/logfile \/var\/log\/redis.log/' /etc/redis/redis.conf
sudo sed -i 's/^# replicaof <masterip> <masterport>/replicaof 127.0.0.1 6380/' /etc/redis/redis.conf

# 创建服务启动文件
sudo tee /etc/systemd/system/redis.service > /dev/null <<EOF
[Unit]
Description=Redis Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
PIDFile=/var/run/redis.pid
Restart=always
User=root

[Install]
WantedBy=multi-user.target
EOF

# 启动Redis服务
sudo systemctl start redis

# 设置开机自启动
sudo systemctl enable redis

部署Redis从节点

#!/bin/bash

# 安装依赖库
sudo apt-get update
sudo apt-get install -y build-essential tcl wget

# 下载并编译Redis
cd /tmp
wget http://download.redis.io/releases/redis-6.0.11.tar.gz
tar xzf redis-6.0.11.tar.gz
cd redis-6.0.11
make

# 安装Redis
sudo make install

# 配置Redis从节点
sudo mkdir /etc/redis
sudo cp /tmp/redis-6.0.11/redis.conf /etc/redis/
sudo sed -i 's/^supervised no/supervised systemd/' /etc/redis/redis.conf
sudo sed -i 's/^dir .\//dir \/var\/lib\/redis/' /etc/redis/redis.conf
sudo sed -i 's/^logfile ""/logfile \/var\/log\/redis.log/' /etc/redis/redis.conf
sudo sed -i 's/^# slaveof <masterip> <masterport>/slaveof 127.0.0.1 6379/' /etc/redis/redis.conf

# 创建服务启动文件
sudo tee /etc/systemd/system/redis.service > /dev/null <<EOF
[Unit]
Description=Redis Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
PIDFile=/var/run/redis.pid
Restart=always
User=root

[Install]
WantedBy=multi-user.target
EOF

# 启动Redis服务
sudo systemctl start redis

# 设置开机自启动
sudo systemctl enable redis

注意事项

主节点故障时,需要手动将从节点切换为主节点,可能会出现数据丢失。
主节点的性能影响整个系统的性能,因此需要适当配置主节点的硬件资源。
由于从节点只接收主节点的更新操作,因此在写入负载较高的情况下,从节点可能会出现延迟。

优点

可以增加读取性能,因为所有的读操作可以被重定向到从节点。
可以实现数据备份和灾难恢复。
可以扩展系统的读容量,简单易用,不需要大量编程工作来实现。

缺点

不支持自动故障恢复,需要手动干预。
不能解决数据冲突问题。如果两个节点同时修改同一个键值,则必须进行人工干预以确定正确的值。
在写入负载较高的情况下,从节点可能会出现延迟。

猜你喜欢

转载自blog.csdn.net/qq_38428623/article/details/129947700