redis集群
集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。
准备工作:安装依赖包
[root@localhost ~]#yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool 集群机台都要做
1.下载源码包并解包编译安装
wget http://download.redis.io/releases/redis-5.0.5.tar.gz #安装redis5.0.5版本
tar -zvxf redis-5.0.5.tar.gz -C /usr/local/ #解包
2.进入redis目录里,开始编译并安装
cd /usr/local/redis-5.0.5 #进入目录里如果有这个Makefile就可以编译安装了
make #编译
make install
3.修改配置文件
vim /usr/local/redis-5.0.5/redis.conf
配置文件的修改路径为:
1)port 7001 #端口
2)cluster-enabled yes #启用集群模式
3)cluster-config-file nodes.conf #设置对应端口,不输入的话就是默认port端口
4)cluster-node-timeout 5000 #超时时间
5)appendonly yes #开启持久化模式
6)daemonize yes #后台运行
7)protected-mode no #非保护模式
8)pidfile /var/run/redis_7001.pid #防止启动多个进程副本,只启动7001
(知识扩展:进程运行后会给.pid文件加一个文件锁,只有获得该锁的进程才有写入权限(F_WRLCK),
把自身的pid写入该文件中,其他试图获得该锁的进程会自动退出。)
9)bind 172.20.10.7 #127.0.0.1改为本机ip地址,可用 ifconfig 或 ip a 查看ip
启动脚本
脚本改好后 传给其他几台集群机台 scp -r /usr/local/redis-5.0.5 192.168.17.10:/usr/local/
修改内容:
1)port 7002
2)pidfile /var/run/redis_7002.pid
3) bind 192.168.17.11
mv /usr/local/bin/redis-server /usr/local/redis-5.0.5/
cd /usr/local/redis-5.0.5
./redis-server redis.conf 启动集群 每台机都要做
ps aux | grep redis 查看节点是否启动成功
cd redis-5.0.5/src/
cp redis-cli /usr/local/redis-5.0.5
/usr/local/redis-5.0.5/redis-cli --cluster create 192.168.17.10:7001 192.168.17.11:7002 192.168.17.12:7003 192.168.17.13:7004 192.168.17.14:7005 192.168.17.15:7006 --cluster-replicas 1 #启动集群命令(注意:根据自己的IP启动)
测试集群
cd /usr/local/redis-5.0.5
/usr/local/redis-5.0.5/redis-cli -h 192.168.17.10 -p 7001 -c 进入192.168.17.10redis里面
cluster nodes #查询集群结点信息
cluster info # 查询集群状态信息
(知识扩展:设置主从密码)
需要在redis01~redis06的配置文件里redis.conf修改这两行
masterauth 123456 #主从密码
requirepass 123456 #访问密码
然后重启服务