启停 Redis 集群脚本

启停 Redis 集群脚本

因为redis集群在停止和启动上都存在很大的繁琐性,所以就写了一个简单的启停redis集群的脚本

关闭脚本
stop-redis.sh
#!/bin/bash
PORT=($1 $2)

for port in ${PORT[@]}
do
PID=$(netstat -ntulp | grep :$port | awk '{print $7}' | awk -F"/" '{print $1}')

if [ $? -eq 0 ]; then
    echo "process id: $PID"
else
    echo "process process not exist"
    exit
fi

kill -9 ${PID}

if [ $? -eq 0 ]; then
    echo "kill $port success"
else
    echo "kill $port fail"
fi
done
stop-redis-cluster.sh
#!/bin/bash
ssh yangqi@xiaoer > /dev/null 2>&1 << eeooff
stop-redis.sh $1 $2
exit
eeooff
echo xiaoer:redis-cluster done!

ssh yangqi@yangqi1 > /dev/null 2>&1 << eeooff
stop-redis.sh $3 $4
exit
eeooff
echo yangqi1:redis-cluster done!

ssh yangqi@yangqi2 > /dev/null 2>&1 << eeooff
stop-redis.sh $5 $6
exit
eeooff
echo yangqi2:redis-cluster done!

在进行运行之前,一定要注意自己的主机的hostname,和我的可能不一样,需要进行调整,之后将stop-redis.sh脚本一定要放在每台redis节点的主机的用户目录的bin目录下,并且授予脚本可执行权限。

# 授予可执行权限
[yangqi@xiaoer bin]$ chmod 764 stop-redis.sh
[yangqi@yangqi1 bin]$ chmod 764 stop-redis.sh
[yangqi@yangqi2 bin]$ chmod 764 stop-redis.sh

[yangqi@xiaoer bin]$ chmod 764 stop-redis-cluster.sh
运行脚本

运行stop-redis-cluster.sh脚本时,可以传入参数:

# redis 集群节点和端口号如下:
xiaoer -> 7000 7001
yangqi1 -> 7002 7003
yangqi2 -> 7004 7005

# 启动脚本命令:注意,一定要按照 stop-redis-cluster.sh 脚本中远程连接主机的顺序输入端口号,避免造成主机和端口号不匹配,导致关闭失败
[yangqi@xiaoer bin]$ stop-redis-cluster.sh 7000 7001 7002 7003 7004 7005
启动脚本
start-redis-cluster.sh
#!/bin/bash
ssh yangqi@xiaoer > /dev/null 2>&1 << eeooff
cd /opt/apps/redis-cluster
./redis-server ./7000/redis.conf
./redis-server ./7001/redis.conf
exit
eeooff
echo xiaoer:redis-cluster start done!

ssh yangqi@yangqi1 > /dev/null 2>&1 << eeooff
cd /opt/apps/redis-cluster
./redis-server ./7002/redis.conf
./redis-server ./7003/redis.conf
exit
eeooff
echo yangqi1:redis-cluster start done!

ssh yangqi@yangqi2 > /dev/null 2>&1 << eeooff
cd /opt/apps/redis-cluster
./redis-server ./7004/redis.conf
./redis-server ./7005/redis.conf
exit
eeooff
echo yangqi2:redis-cluster start done!

授予可执行权限:

[yangqi@xiaoer bin]$ chmod 764 start-redis-cluster.sh
一键配置Redis集群通常涉及到使用自动化工具和配置管理脚本来简化集群的部署过程。以下是一个概述: 1. **Redis源码编译**:首先,你需要从Redis官网下载源代码,并按照官方文档编译带有集群支持的版本。 2. **安装和配置**: - **安装**:安装所有需要的依赖,如编译器、系统库等。 - **配置**:创建一个Redis配置文件(例如`/etc/redis/redis.conf`),设置相关参数,如`cluster-enabled yes`开启集群模式,`bind`设置监听地址等。 3. **启动 Sentinel**:Sentinel是Redis的高可用解决方案,用于监控集群节点。你需要安装并配置Sentinel服务,指定被监控的集群节点。 4. **创建集群**: - 使用`redis-cli`或`redis-trib`命令行工具,创建一个新的Redis集群。例如:`redis-trib create --replicas N`,其中`N`是副本数量。 - 分配节点到Sentinel监控组,确保它们可以自动发现故障并进行替换。 5. **脚本自动化**: - 利用Shell、Python或Ansible、Puppet等配置管理工具编写脚本,自动化上述步骤。脚本可能会包括检查节点状态、配置同步、加入或移除节点等操作。 6. **验证和测试**: - 验证集群是否正常运行,通过客户端连接各个节点,执行一些操作以确认数据一致性。 相关问题: 1. Redis集群中Sentinel的主要职责是什么? 2. 如何通过脚本自动化处理Redis节点的添加或删除? 3. 有没有现成的工具或包可以直接一键部署Redis集群
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yanko24

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值