安装redis-5.0.9版本,一主二从三哨兵集群

5 篇文章 0 订阅
1 篇文章 0 订阅

shell脚本安装三哨兵模式集群,一主二从。

脚本如下

#!/bin/bash
echo "本地yum源是否配置完毕,是请忽略,否请按CTRL+C退出!"
sleep 3
echo "自动化安装redis-5.0.9版本,一主二从三哨兵集群:"
read -p "请根据实际数据挂载盘输入redis哨兵集群安装的主目录(譬如/wls或是/data):" maindir
ip addr
echo "redis5哨兵集群配置:"
read -p "请输入本地内网IP地址(参考上面输出信息,非127.0.0.1):" ip
read -p "请输入 master ip : " masterip
read -p "请输入 slave1 ip : " slave1ip
read -p "请输入 slave2 ip : " slave2ip
read -p "请输入加密密码:" password
read -p "请输入当前节点是 master 或者 slave:" kind
if [ -f /root/redis-5.0.9.tar.gz ];then

echo "系统内核参数优化!"
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "net.core.somaxconn=551" >> /etc/sysctl.conf
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl -p

mkdir $maindir

yum -y install zlib-devel openssl-devel gcc-c++
echo "redis编译安装!"
cd /root
tar xf redis-5.0.9.tar.gz
cd redis-5.0.9
make PREFIX=$maindir/redis install
mkdir -pv $maindir/redis/{etc,logs,data,pid}
cp redis.conf $maindir/redis/etc/
cp sentinel.conf $maindir/redis/etc/

echo "如有异常,请按CTRL+C退出!如正常,将继续执行下一步!"
sleep 2

if [ $kind = master ];then

cat >$maindir/redis/etc/redis.conf <<EOF
daemonize yes
port 6379
bind $ip 127.0.0.1
dir $maindir/redis
pidfile $maindir/redis/pid/redis.pid
logfile $maindir/redis/logs/redis.log
appendonly yes
appendfsync everysec
requirepass $password
masterauth $password
EOF
cat >$maindir/redis/etc/sentinel.conf <<EOF
daemonize yes
port 26379
bind 0.0.0.0 
dir $maindir/redis/
pidfile $maindir/redis/pid/redis-sentinel.pid
logfile "$maindir/redis/logs/redis-sentinel.log"
sentinel monitor mymaster $masterip  6379 2
sentinel auth-pass mymaster $password
sentinel down-after-milliseconds mymaster 30000 
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
EOF
else
cat >$maindir/redis/etc/redis.conf <<EOF
daemonize yes
port 6379
bind $ip 127.0.0.1
dir $maindir/redis
pidfile $maindir/redis/pid/redis.pid
logfile $maindir/redis/logs/redis.log
appendonly yes
appendfsync everysec
requirepass $password
slaveof  $masterip 6379
slaveof  $slave1ip 6379
slaveof  $slave2ip 6379
masterauth $password
EOF
cat >$maindir/redis/etc/sentinel.conf <<EOF
daemonize yes
port 26379
bind 0.0.0.0 
dir $maindir/redis/
pidfile $maindir/redis/pid/redis-sentinel.pid
logfile "$maindir/redis/logs/redis-sentinel.log"
sentinel monitor mymaster $masterip  6379 2
sentinel auth-pass mymaster $password
sentinel down-after-milliseconds mymaster 30000 
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
EOF
fi

echo "如有异常,请按CTRL+C退出!如正常,将继续执行下一步!"
sleep 2
cat > /etc/profile.d/redis.sh <<EOF
PATH=$maindir/redis/bin:\$PATH
export PATH
EOF
source /etc/profile.d/redis.sh
$maindir/redis/bin/redis-server $maindir/redis/etc/redis.conf &
$maindir/redis/bin/redis-sentinel $maindir/redis/etc/sentinel.conf &
sleep 2
ps -ef|grep redis
else
echo "请把相应的包上传到/root目录,再进行下一步!"
exit 0
fi
echo "三个节点配置完成之后启动哨兵验证
		$maindir/redis/bin/redis-sentinel $maindir/redis/etc/sentinel.conf
		redis-cli -h $masterip -p 26379 #登录 检查哨兵数量是否正确
			info 命令查看"

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值