安装Redis
本次要求是哨兵集群版本
1.下载所需要版本包
[root@app-bj-ali-ecs1 ~]# wget http://download.redis.io/releases/redis-6.0.6.tar.gz [root@app-bj-ali-ecs1 ~]# tar xzf redis-6.0.6.tar.gz [root@app-bj-ali-ecs1 ~]# cd redis-6.0.6 [root@app-bj-ali-ecs1 ~]# make [root@app-bj-ali-ecs1 ~]# make install [root@app-bj-ali-ecs1 ~]# cd [root@app-bj-ali-ecs1 ~]# mv redis-6.0.6 /usr/local/redis [root@app-bj-ali-ecs1 ~]# cd /usr/local/redis/ [root@app-bj-ali-ecs1 redis]# src/redis-server # 可以正常启动,安装成功 58034:C 06 Dec 2024 18:18:34.236 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 58034:C 06 Dec 2024 18:18:34.236 # Redis version=6.0.6, bits=64, commit=00000000, modified=0, pid=58034, just started 58034:C 06 Dec 2024 18:18:34.236 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 6.0.6 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 58034 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 58034:M 06 Dec 2024 18:18:34.237 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower valueof 128. 58034:M 06 Dec 2024 18:18:34.237 # Server initialized 58034:M 06 Dec 2024 18:18:34.237 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 58034:M 06 Dec 2024 18:18:34.237 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 58034:M 06 Dec 2024 18:18:34.237 * Ready to accept connections
2.实现主从集群
由于测试环境仅有一台机器,因此设置6379为主,6380、6381为从,即一主双从
[root@app-bj-ali-ecs1 redis]# vim conf/6379.conf daemonize yes masterauth 123456 min-replicas-to-write 1 min-replicas-max-lag 10 requirepass 123456 appendonly yes [root@app-bj-ali-ecs1 redis]# vim conf/6380.conf daemonize yes port 6380 # 修改端口 replicaof 172.18.169.29 6379 # 设置主信息 masterauth 123456 min-replicas-to-write 1 min-replicas-max-lag 10 requirepass 123456 appendonly yes [root@app-bj-ali-ecs1 redis]# vim conf/6381.conf daemonize yes port 6381 # 修改端口 replicaof 172.18.169.29 6379 # 设置主信息 masterauth 123456 min-replicas-to-write 1 min-replicas-max-lag 10 requirepass 123456 appendonly yes [root@app-bj-ali-ecs1 redis]# src/redis-server conf/6379.conf >> logs/6379.log & [root@app-bj-ali-ecs1 redis]# src/redis-server conf/6380.conf >> logs/6380.log & [root@app-bj-ali-ecs1 redis]# src/redis-server conf/6381.conf >> logs/6381.log & [root@app-bj-ali-ecs1 redis]# src/redis-cli -p 6379 -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> INFO replication # Replication role:master # 身份正常 connected_slaves:2 # 状态正常 min_slaves_good_slaves:2 slave0:ip=172.18.169.29,port=6380,state=online,offset=434,lag=0 # 从6380正常 slave1:ip=172.18.169.29,port=6381,state=online,offset=434,lag=1 # 从6381正常 master_replid:961eaeac79b010b491ea4f2ce75c123c91d1e5ff master_replid2:0000000000000000000000000000000000000000 master_repl_offset:448 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:448
2.实现哨兵
哨兵至少需要三台,由于测试环境仅有一台机器,因此设置26379,26380、26381为不同实例进行实现
[root@app-bj-ali-ecs1 redis]# vim conf/26379.conf daemonize yes sentinel monitor mymaster 172.18.169.29 6379 2 # 改成自己的ip sentinel auth-pass mymaster 123456 [root@app-bj-ali-ecs1 redis]# vim conf/26380.conf daemonize yes port 26380 sentinel monitor mymaster 172.18.169.29 6379 2 sentinel auth-pass mymaster 123456 [root@app-bj-ali-ecs1 redis]# vim conf/26381.conf daemonize yes port 26381 sentinel monitor mymaster 172.18.169.29 6379 2 sentinel auth-pass mymaster 123456 [root@app-bj-ali-ecs1 redis]# src/redis-sentinel conf/26379.conf >> logs/26379.log & [root@app-bj-ali-ecs1 redis]# src/redis-sentinel conf/26380.conf >> logs/26380.log & [root@app-bj-ali-ecs1 redis]# src/redis-sentinel conf/26381.conf >> logs/26381.log & [root@app-bj-ali-ecs1 redis]# src/redis-cli -p 26379 127.0.0.1:26379> INFO Sentinel # Sentinel sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:name=mymaster,status=ok,address=172.18.169.29:6379,slaves=2,sentinels=3 # 6379为主,两从,三个哨兵,状态正常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2019-12-06 决策树