哨兵模式
以前使用的主从模式
一旦主节点挂了,那么就需要手动切换到从节点,这个过程需要人为的监控
redis3.0之前使用了哨兵模式
而哨兵默认则使用机器代替了人工
在连接的时候连接的哨兵节点,哨兵会帮我们去连接redis,哨兵还有选举主节点,主从复制等功能
具体参考http://www.redis.cn/topics/sentinel.html
这种模式的缺陷
- 读写都只针对master节点,并发不高
- 数据量特别大的时候,占用成倍的空间
集群模式
redis3.0后使用的模式
具体参考http://www.redis.cn/topics/cluster-tutorial.html
redis单机模式安装
服务器环境: Centos8
# 安装gcc
yum install gcc
# 创建一个文件夹,下载redis 版本自己改
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
tar zxvf redis-6.2.6.tar.gz
# 加入到解压目录编译与安装
cd redis-6.2.6
make & make install
# 启动并指定配置文件 如果需要后台启动,修改配置文件中的daemonize该为yes
src/redis-server redis.conf
# 设置密码 修改配置 不设置密码会连接不了
requirepass 111111 # 设置reids访问密码
# 如果要在外网访问到 注释掉下面这段 线上可以再打开
bind 127.0.0.1
# 验证是否启动成功
ps -ef | grep redis
# 进入redis客户端
/usr/local/redis/bin/redis-cli
# 退出客户端
quit
# 退出redis服务
1. pkill redis-server
2. kill 进程号
3. src/redis-cli shutdown
redis集群模式安装步骤
服务器环境: Centos8
redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,这里用一台机器部署6个redis实例,一共三组一主一从集群
# 安装gcc
yum install gcc
# 创建一个cluster文件夹,再在其下创建8001文件夹
mkdir -p cluster/8001
# 下载redis到cluster文件夹 版本自己改
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
tar zxvf redis-6.2.6.tar.gz
# 加入到解压目录编译与安装
cd redis-6.2.6
make & make install
# 将解压后目录里的redis.conf复制到8001文件夹中,修改以下内容 (搜索命令 /搜索的内容)
1. daemonize yes
2. port 8001 # 分别对每个机器的端口进行设置
3. dir /root/redis/cluster/8001/ # 指定数据文件存放的位置,必须指定不同的目录位置,不然会丢失数据
4. cluster-enabled yes # 启动集群模式
5. cluster-config-file nodes-8001.conf # 集群节点信息文件,这里的800x最好与port对应上,注意这里不是用户可编辑文件,而是redis集群节点每次发生更改时自动保留集群配置
5. cluster-node-timeout 5000 # 超时时间
7. # bind 127.0.0.1 # 注释掉bind绑定访问ip信息
8. protected-mode no # 关闭保护模式
9. appendonly yes # 开启数据同步
设置密码
10. requirepass 111111 # 设置reids访问密码
11. masterauth 111111 # 设置集群节点间访问密码,跟上面一致
# 将配置好的文件夹8001复制五份8002-8006
略
# 修改复制后每个配置文件的redis.conf的2,3,5项,可以使用批量替换命令 :%s/源字符串/目标字符串/g
略(:%s/8001/8002/g)
# 分别将六个redis启动,然后检查是否启动成功
/root/redis/cluster/src/redis-server /root/redis/cluster/800*/redis.conf
# 查看是否启动成功
ps -ef | grep redis
# 用redis-cli创建整个redis集群 redis5以前的版本时依靠ruby脚本redis-trib.rb实现
/root/redis/cluster/src/redis-cli -a 111111 --cluster create --cluster-replicas 1
127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003 127.0.0.1:8004 127.0.0.1:8005 127.0.0.1:8006
代表为每个创建的主服务器节点创建一个从服务节点(-- replicas 1 1代表的时副本的个数)
# 验证集群
1.任意连接一个客户端即可
./redis-cli -a -c -h -p (-a 访问服务端密码 -c表示集群模式 -h -p 指定IP地址和端口号)
如 /root/redis/cluster/src/redis-cli -a 111111 -c -h 192.168.6.154 -p 8001
2. 进行验证
cluster info # 查看集群信息
cluster nodes # 查看节点列表
3. 进行数据操作验证
4. 关闭集群则需要逐个关闭 使用命令
/root/redis/cluster/src/redis-cli -a 111111 -c -h 192.168.6.154 -p 800* shutdown
忘记了命令可以用redis-cli --cluster help 查看
. 关闭集群则需要逐个关闭 使用命令
/root/redis/cluster/src/redis-cli -a 111111 -c -h 192.168.6.154 -p 800* shutdown
忘记了命令可以用redis-cli --cluster help 查看