Redis安装、主从配置及两种高可用集群搭建
一、 准备
Kali Linux虚拟机
三台:192.168.154.129、192.168.154.130、192.168.154.131
用户名/密码:root/。。。
ssh设置
修改sshd_config文件,命令为:vim /etc/ssh/sshd_config
将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes
将PermitRootLogin without-password修改为PermitRootLogin yes
启动SSH服务:/etc/init.d/ssh start或者service ssh start
设置系统自动启动SSH服务:sysv-rc-conf ssh on或者update-rc.d ssh enable
Redis安装(三节点同时操作)
- 切换目录:cd /opt/
- 下载:wget http://download.redis.io/releases/redis-5.0.6.tar.gz
- 解压:tar -zxvf redis-5.0.6.tar.gz
- 切换目录:cd redis-5.0.6
- 编译:make
- 新建文件夹:madir config
- 复制配置文件: cp redis.conf ./config/redis.conf
cp sentinel.conf ./config/ sentinel.conf
- 设置全局启动:cp redis-benchmark redis-cli redis-server redis-sentinel /usr/bin/
- 设置别名: alias rs=redis-server
alias rc=redis-cli
二、 Redis一主二从(三节点同时操作)
切换目录:cd config
修改redis.conf
- 将88行protected-mode yes改为protected-mode no
- 将136行daemonize no改为daemonize yes
- 在最后加一行(主节点不加):replicaof 192.168.154.129 6379
- 将69行注释ip端口绑定:# bind 127.0.0.1 ::1
启动:rs redis.conf &
进入客户端:rc
测试: set k 1 (只有主节点成功)
get k (‘1’)
三、 哨兵模式(redis +sentinel,三节点一起)
修改sentinel.conf:
- 将26行daemonize no改为daemonize yes
- 配置121行主节点信息:sentinel monitor mymaster 192.168.154.129 6379 2
- 在最后加一行:protected-mode no
启动:root@kali:/opt/redis-5.0.6/config# redis-sentinel sentinel.conf
查看sentinel信息(主节点挂了会自动产生主节点,启动后变从节点):
- redis-sentinel sentinel.conf或者rc -p 26379 --sentinel
- info sentinel
查看节点信息:
- rc
- info replication
四、 redis-cluster集群(三主三从)
redis3.0集群采用P2P模式,完全去中心化,采用虚拟槽分区算法将redis所有的key分成了16384个槽位,每个redis实例负责一部分slot,集群中的所有信息通过节点数据交换而更新
集群搭建,需要6个实例(三主节点,三从节点)才能保证高可用的集群
继续修改redis.conf,取消832行cluster-enabled yes前的注释
启动(三个节点一起):
- rs redis.conf &
- rs redis.conf --port 6380 &
创建集群:rc --cluster create 192.168.154.129:6379 192.168.154.130:6379 192.168.154.131:6379 192.168.154.130:6380 192.168.154.131:6380 192.168.154.129:6380 --cluster-replicas 1
查看集群信息:cluster info