#!/bin/bash
#使用说明
#脚本保存为 iredis.sh,然后把redis 安装包 redis-3.2.13.tar.gz 放在同一个路径下,执行 sh iredis.sh $(hostname -i)
#redis 5也可以参考
if [ $# -ne 1 ]; then
echo "error number of args"
exit 1
fi
masterip=$1
ip=$(ip -4 a|grep -i 'inet 10'|head -1|awk '{print $2}'|awk -F '/' '{print $1}')
mem=`cat /proc/meminfo|grep MemTotal|awk '{print $2}'`
mem=`expr $mem / 1024 / 2 `
mem="$mem"M
groupadd -g 6380 redis
useradd -g redis -u 6380 -d /home/redis -p Redis123 -m redis -s /bin/bash
echo "redis soft nofile 65536" >> /etc/security/limits.conf
echo "redis hard nofile 65536" >> /etc/security/limits.conf
echo "redis soft nproc 65536" >> /etc/security/limits.conf
echo "redis hard nproc 65536" >> /etc/security/limits.conf
echo "redis soft core unlimited" >> /etc/security/limits.conf
echo "redis hard core unlimited" >> /etc/security/limits.conf
umask 022
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 511 > /proc/sys/net/core/somaxconn
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "echo 511 > /proc/sys/net/core/somaxconn" >> /etc/rc.local
mkdir -p /data/middleware/redis/conf
mkdir -p /data/middleware/redis/dump
mkdir -p /log/redis
cd /root
tar -zxvf redis-3.2.13.tar.gz
cd /root/redis-3.2.13
make PREFIX=/data/middleware/redis install
cd /root/redis-3.2.13
sed -i "s/bind 127.0.0.1/bind 127.0.0.1 ${ip}/g" redis.conf
sed -i 's/port 6379/port 6380/g' redis.conf
sed -i 's/daemonize no/daemonize yes/g' redis.conf
sed -i 's/pidfile \/var\/run\/redis_6379.pid/pidfile \/log\/redis\/redis.pid/g' redis.conf
sed -i 's/logfile ""/logfile "\/log\/redis\/redis.log"/g' redis.conf
if [ $masterip = $ip ]; then
sed -i 's/save 900 1/\#save 900 1/g' redis.conf
sed -i 's/save 300 10/\#save 300 10/g' redis.conf
sed -i 's/save 60 10000/\#save 60 10000/g' redis.conf
else
sed -i 's/save 900 1/save 1800 1/g' redis.conf
sed -i 's/save 300 10/save 600 10/g' redis.conf
fi
sed -i 's/dir \.\//dir \/data\/middleware\/redis\/dump/g' redis.conf
sed -i 's/\# masterauth /masterauth Redis123/g' redis.conf
sed -i 's/repl\-diskless\-sync no/repl\-diskless\-sync yes/g' redis.conf
sed -i 's/\# requirepass foobared/requirepass Redis123/g' redis.conf
sed -i 's/\# maxclients 10000/maxclients 2000/g' redis.conf
sed -i "s/\# maxmemory /maxmemory ${mem}/g" redis.conf
sed -i 's/\# maxmemory-policy noeviction/maxmemory-policy noeviction/g' redis.conf
echo "bind 127.0.0.1 ${ip}" > /root/redis-3.2.13/sentinel.conf
echo "protected-mode yes" >> /root/redis-3.2.13/sentinel.conf
echo "port 26380" >> /root/redis-3.2.13/sentinel.conf
echo "daemonize yes" >> /root/redis-3.2.13/sentinel.conf
echo "pidfile /log/redis/sentinel.pid" >> /root/redis-3.2.13/sentinel.conf
echo "logfile /log/redis/sentinel.log" >> /root/redis-3.2.13/sentinel.conf
echo "sentinel monitor mymaster $masterip 6380 2" >> /root/redis-3.2.13/sentinel.conf
echo "sentinel auth-pass mymaster Redis123" >> /root/redis-3.2.13/sentinel.conf
echo "sentinel down-after-milliseconds mymaster 180000" >> /root/redis-3.2.13/sentinel.conf
echo "sentinel parallel-syncs mymaster 1" >> /root/redis-3.2.13/sentinel.conf
echo "sentinel failover-timeout mymaster 180000" >> /root/redis-3.2.13/sentinel.conf
cp /root/redis-3.2.13/*.conf /data/middleware/redis/conf
chown -R redis:redis /data/middleware/redis /log/redis
su - redis -c "/data/middleware/redis/bin/redis-server /data/middleware/redis/conf/redis.conf"
su - redis -c "/data/middleware/redis/bin/redis-sentinel /data/middleware/redis/conf/sentinel.conf"
exit 0
复制
最后修改时间:2022-10-22 10:35:13
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
国产非关系型数据库 Eloqkv 初体验
JiekeXu
81次阅读
2025-04-10 23:51:35
融合Redis缓存的PostgreSQL高可用架构
梧桐
69次阅读
2025-04-08 06:35:40
缓存监控治理在游戏业务的实践和探索
vivo互联网技术
48次阅读
2025-03-20 09:51:10
Redis 集群主备切换原因分析
wzf0072
41次阅读
2025-03-20 17:51:42
Redis 高可用方案
天翼云开发者社区
36次阅读
2025-03-24 17:09:54
Redis Cluster集群模式:构建大规模高性能分布式存储系统
老王两点中
34次阅读
2025-03-17 09:00:28
Redis概要
听溪
29次阅读
2025-04-11 10:23:10
安装与配置Redis
鲁鲁
23次阅读
2025-04-11 10:26:10
高并发场景下的库存管理,理论与实战能否兼得?
京东云开发者
23次阅读
2025-03-24 16:54:56
使用Jedis访问Redis数据库
怀念和想念
22次阅读
2025-04-11 15:08:30