Redis安装、主从配置及两种高可用集群搭建
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
redis配置示例
# 设置访问Redis的访问密码 requirepass azi123... # 监听端口 port 6379 # 设置允许访问的地址,默认是127.0.0.1,会导致只能在本地访问,设置为0.0.0.0就可以在任何IP下访问 bind 0.0.0.0 # 数据库数量,设置为1,代表只使用一个数据库,默认有16个库 databases 1 # 设置redis最大使用的内存 maxmemory 512mb # 日志文件,默认为空,不记录日志,可以指定日子文件名 # logfile "文件名" # 快照持久化配置 save 900 1 save 300 10 save 60 10000 dbfilename dump.rdb dir /redis/data/ # AOF持久化配置 appendonly no appendfilename appendonly.aof appendfsync everysec
浙公网安备 33010602011771号