普通部署redis伪集群模式
1.准备
一台机子部署六个节点的redis伪集群,机子ip为192.168.58.112
六个节点8001,8002,8003,8004,8005,8006,
创建主目录redis,子目录6个
mkdir redis
cd redis
mkdir 8001 8002 8003 8004 8005 8006
把redis压缩包拉进xshell并解压
tar -xzvf redis-5.0.5.tar.gz
因为C语言编写,所以一定要先装C的编译器
yum -y install gcc-c++
使用的源码安装
cd /redis-5.0.5/
make
make install PREFIX=/usr/redis
2 编辑配置
cp redis-5.0.5/redis.conf /root/redis/8001/
vim /root/redis/8001/redis.conf
:69 bind 192.168.58.112 不改识别不到
:92 port 8001 端口号
:136 daemonize yes 后台运行
:158 pidfile /var/run/redis_8001.pid
pidfile /var/run/redis_8001.pid
这一行配置是在 Redis 的配置文件 redis.conf
中指定 Redis 服务进程 ID (PID) 文件的位置。这个 PID 文件的作用是存储运行时的 Redis 服务器进程的 ID。
:699 appendonly yes aof日志开启
:703 appendfilename "appendonly-8001.aof" AOF 持久化使用的文件名称
:832 cluster-enabled yes 开启集群
:840 cluster-config-file nodes_6001.conf
当 Redis 以集群模式运行时,它需要一个持久化的配置文件来保存集群状态信息,例如:
- 节点(nodes)的 ID
- 每个节点的状态
- 主从关系
- 数据槽(slot)映射到各个节点的情况
:846 cluster-node-timeout 15000
心跳检测:Redis 集群中的每个节点会定期向其他节点发送心跳消息,以确认它们是否仍然活跃。如果一个节点在 cluster-node-timeout
时间内没有接收到另一个节点的心跳消息,它就会认为那个节点可能已经失败了
cp /root/redis/8001/redis.conf /root/redis/8002/
cp /root/redis/8001/redis.conf /root/redis/8003/
cp /root/redis/8001/redis.conf /root/redis/8004
cp /root/redis/8001/redis.conf /root/redis/8005
cp /root/redis/8001/redis.conf /root/redis/8006
vim 8002/redis.conf
vim 8003/redis.conf
vim 8004/redis.conf
vim 8005/redis.conf
vim 8005/redis.conf
vim 8006/redis.conf
vim 进去后
:%s/8001/8002/g
:%s/8001/8003/g
:%s/8001/8004/g
:%s/8001/8005/g
:%s/8001/8006/g
3.启动节点,创建集群
/usr/redis/bin/redis-server /root/redis/8001/redis.conf
/usr/redis/bin/redis-server /root/redis/8002/redis.conf
/usr/redis/bin/redis-server /root/redis/8003/redis.conf
/usr/redis/bin/redis-server /root/redis/8004/redis.conf
/usr/redis/bin/redis-server /root/redis/8005/redis.conf
/usr/redis/bin/redis-server /root/redis/8006/redis.conf
ps -ef |grep redis |grep -v grep
/usr/redis/bin/redis-cli --cluster create 192.168.58.112:8001 192.168.58.112:8002 192.168.58.112:8003 192.168.58.112:8004 192.168.58.112:8005 192.168.58.112:8006 --cluster-replicas 1
4.测试
/usr/redis/bin/redis-cli -c -h 192.168.58.112 -p 8003
cluster nodes