redis-cluster 部署创建及学习配置文件

本文详细介绍了如何在Linux环境下部署Redis Cluster,包括安装依赖、安装Redis、环境配置、启动Redis服务,以及创建和管理集群的步骤。通过这些操作,你可以设置并管理多个Redis节点,实现数据的高可用性和分布式存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

## Redis cluster 部署
#1.安装依赖;
yum -y install wget vim telnet
yum groupinstall 'Development Tools'
#2.安装tcl
cd /root/
wget https://udomain.dl.sourceforge.net/project/tcl/Tcl/8.6.10/tcl8610-src.zip 
unzip tcl8610-src.zip 
cd tcl8.6.10/unix/ && make && make install 

#3.安装redis 
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
cd /root/redis-5.0.7 && make MALLOC=libc && make install PREFIX=/usr/local/redis-5.0.7

#4.环境配置
cd /usr/local/
ln -sf redis-5.0.7 redis-cluster
cd redis-cluster && mkdir log data conf
#授权给tomcat启动
chown tomcat:tomcat /usr/local/redis-5.0.7/ -R
#系统环境优化
echo "net.core.somaxconn = 5012" >> /etc/sysctl.conf
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
echo never > /sys/kernel/mm/transparent_hugepage/enabled
ulimit -n 65535
#添加到开机启动
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
or 
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then    echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
echo '*  -  nofile  65535' >> /etc/security/limits.conf       

##开机启动
echo "/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/conf/redis.conf" >> /etc/rc.local

##启动redis
/usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/conf/redis.conf

## 创建集群
/usr/local/redis-cluster/bin/redis-cli  -a "XXXXX" --cluster  create 10.190.19.31:6388  10.190.19.57:6388  10.190.19.106:6388 10.190.19.147:6388 10.190.19.189:6388 10.190.19.214:6388 --cluster-replicas 1

##获取所有key 
/usr/local/redis-cluster/bin/redis-cli -c -a "ELF2mIgQbMXY3ABn=external" --cluster call 10.230.192.57:6388 keys \*

##获取集群信息
/usr/local/redis-cluster/bin/redis-cli -p 6388 -h 10.230.192.61 -c  -a "ELF2mIgQbMXY3ABn=external" cluster info
/usr/local/redis-cluster/bin/redis-cli -p 6388 -h 10.230.192.61 -c  -a "ELF2mIgQbMXY3ABn=external"  info
/usr/local/redis-cluster/bin/redis-cli -p 6388 -h 10.230.192.61 -c  -a "ELF2mIgQbMXY3ABn=external"      cluster nodes 
##删除匹配开头的行
redis-cli  -c -a "password" -h 10.190.19.31 -p 6388 keys "test*" |xargs redis-cli  -c -a "password" -h 10.190.19.31 -p 6388 del {}

##删除当前数据库中的所有Key
flushdb

##删除所有数据库中的key
flushall

 /usr/local/redis-cluster/bin/redis-cli -a "ELF2mIgQbMXY3ABn=external" --cluster add-node 10.230.192.58:6388 10.230.192.57:6388

/usr/local/redis-cluster/bin/redis-cli -a "ELF2mIgQbMXY3ABn=external" --cluster add-node 10.230.192.58:6388 10.230.192.57:6388
--确保防火墙方形6388和16388端口
--关闭selinux 
--firewall-cmd --state #查看firewalld状态 

#删除以a开头的行
sed -i '/^a.*/d' tmp.txt##################配置文件
 

# 端口号
port 6388  
# 绑定的主机地址
bind 10.190.16.11  
# 后台启动
daemonize yes  
# 开启集群
cluster-enabled yes  
# 集群节点配置文件
cluster-config-file "/usr/local/redis-5.0.7/conf/nodes-6388.conf"  
# 集群连接超时时间
cluster-node-timeout 8000 
#客户端空闲多久后关闭连接
timeout 43200 
#当客户端闲置多长时间后发送tcp包确认存活,如果指定为0,表示关闭该功能。示例:
tcp-keepalive 300 
# 槽是否全覆盖,只要由节点宕机导致16384个槽位没全被覆盖,整个集群就全部停止服务,一定要改为no。
cluster-require-full-coverage no  
# 进程pid的文件位置
pidfile "/var/run/redis-6388.pid"  
# 文件存放目录
dir "/usr/local/redis-5.0.7/data/"  
# rdb文件路径
dbfilename "dump-6379.rdb"  
# 900秒内发生1次数据修改,则进行一次RDB快照保存
save 900 1  
# 300秒内发生10次数据修改,则进行一次RDB快照保存
save 300 10  
# 60秒内发生10000次数据修改,则进行一次RDB快照保存
save 60 10000 
# 启用AOF持久化
appendonly yes  
# AOF文件名称
appendfilename "appendonly-6388.aof"  
# AOF同步持久化 每次发生数据变更会被立即记录到磁盘,性能较差但数据完整性比较好。
#appendfsync always
  
# AOF异步操作,每秒记录。如果一秒内宕机,有数据丢失。
appendfsync everysec
  
# AOF从不同步
#appendfsync no  
# AOF重写时是否可以运用Appendfsync,默认no即可,保证数据安全性。
no-appendfsync-on-rewrite no
# 设置AOF重写的基准值
auto-aof-rewrite-min-size 64mb
# 设置AOF重写的基准值
auto-aof-rewrite-percentage 100
# Redis恢复时忽略最后一条可能存在问题的指令
aof-load-truncated yes
#使用压缩rdb文件,rdb文件压缩使用LZF压缩算法,yes:压缩,但是需要一些cpu的消耗。no:不压缩,需要更多的磁盘空

rdbcompression no
#当RDB持久化出现错误后,是否依然进行继续进行工作,yes:不能进行工作,no:可以继续进行工作,可以通
stop-writes-on-bgsave-error no
#是否校验rdb文件。从rdb格式的第五个版本开始,在rdb文件的末尾会带上CRC64的校验和。这跟有利于文件的容错性,但是在保存rdb文件的时候,会有大概10%的性能损耗,所以如果你追求高性能,可以关闭该配置。
rdbchecksum no 
# RDB-AOF混合持久化功能
aof-use-rdb-preamble yes
# 最大内存分配,(最保险的预留是45%,如果业务高峰也只是改动一部分内存,可以考虑预留80%,用于Fork、同步和系统使用。)
maxmemory 1800mb 
# volatile-lru:使用 LRU 算法进行数据淘汰(淘汰上次使用时间最早的,且使用次数最少的 Key),只淘汰设定了有效期的 Key。
# allkeys-lru:使用 LRU 算法进行数据淘汰,所有的 Key 都可以被淘汰。
# volatile-random:随机淘汰数据,只淘汰设定了有效期的 Key。
# allkeys-random:随机淘汰数据,所有的 Key 都可以被淘汰。
# volatile-ttl:淘汰剩余有效期最短的 Key。
# 数据淘汰策略,默认值noeviction,即不进行数据淘汰。
maxmemory-policy volatile-lru
# Redis日志
logfile "/usr/local/redis-5.0.7/log/redis-6388.log"
# 慢查询时间,单位微秒
slowlog-log-slower-than 50000
# 慢查询记录最多多少条
slowlog-max-len 500
masterauth "XXXX"   #密码   使用 openssl rand -base64 12 获得
requirepass "XXXX"
rename-command CONFIG   "FHJ05KK7BF_CONFIG"
rename-command FLUSHDB  "FHJ05KK7BF_FLUSHDB"
rename-command FLUSHALL "FHJ05KK7BF_FLUSHALL"

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值