Redis三主三从集群搭建
Redis 官网:https://redis.io/
1 redis单节点安装
1.1 redis下载和安装
https://redis.io/download
下载:redis-xxx(版本).tar.gz
解压缩:
tar -zxvf redis-6.2.6.tar.gz
进入解压后的目录:
cd redis-6.2.6
安装gcc:
yum install gcc-c++ yum
清空上次编译失败残留文件:
make distclean
编译、安装:
make && make PREFIX=/usr/local/redis install (PREFIX指定安装路径)
1.2 启动和关闭
使用默认配置启动:
/usr/local/redis/bin/redis-server
指定配置文件启动:
/usr/local/redis/bin/redis-server ./redis-6377.conf(配置文件路径)
关闭:
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
-h <主机ip>,默认是127.0.0.1 -p <端口>,默认是6379 -a <密码>,如果redis加锁,需要传递密码 --help,显示帮助信息
查看 redis 的信息:
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info
1.3 配置文件说明
# 添加绑定ip,开放除本机外的机器访问 bind 192.168.x.x 127.0.0.1 # 关闭保护模式 protected-mode no # 修改客户端连接端口 port [port] # 后台启动 daemonize yes # pid 保存文件位置 pidfile /var/run/node_[port].pid # 日志文件位置 logfile "/var/log/redis/redis-[port].log" # The filename where to dump the DB dbfilename dump-[port].rdb # 开启aop模式 appendonly yes # append only file name (default: "appendonly.aof") appendfilename "appendonly-[port].aof" # 是否开启集群 cluster-enabled yes # 集群配置文件保存位置 cluster-config-file nodes_port.conf
2 集群搭建
本次搭建使用三台服务器,每台服务器上启动两个redis节点
192.168.0.1
192.168.0.2
192.168.0.3
依次启动redis节点:
/usr/local/redis/bin/redis-server …/6377/redis-6377.conf
/usr/local/redis/bin/redis-server …/6379/redis-6379.conf
2.1 redis_3.x版本创建集群
redis 3.x 版本需要使用 ruby 脚本 redis-trib.rb 创建集群,所以需要先安装 ruby 语言环境,然后通过 ruby 的包管理器 Gems 安装 redis 插件。
ruby 环境依赖 zlib-devel、openssl-devel:
yum install zlib-devel openssl-devel
安装 ruby:
tar -zxvf ruby-2.5.1.tar.gz
./configure
make && make install查看 ruby、gem 版本:
ruby -v/ gem -v
安装 redis 插件:
从 Gem 源安装
gem install redis
从本地安装
gem install -l redis-3.2.1.gem
创建集群:
/usr/local/redis-3.2.11/src/redis-trib.rb create --replicas 1 192.168.0.1:6377 192.168.0.1:6379 192.168.0.2:6377 192.168.0.2:6379 192.168.0.3:6377 192.168.0.3:6379
查看集群状态:
redis-cli -p 6379 cluster info
设置集群密码:
临时密码(redis重启后失效):
config set masterauth [password]
config set requirepass [password]建议在配置文件(集群每个节点的配置文件)中设置密码:
requirepass P@ssw0rd
masterauth P@ssw0rd #节点间密码认证
2.2 高于3.x版本创建集群
使用 redis-clie 命令创建集群:
/usr/local/redis/bin/redis-cli -a P@ssw0rd --cluster create --cluster-replicas 1 192.168.0.1:6377 192.168.0.1:6379 192.168.0.2:6377 192.168.0.2:6379 192.168.0.3:6377 192.168.0.3:6379
查看集群状态:
redis-cli -p 6379 cluster info
参考
- 【redis-trib.rb和redis-cli部署redis主从集群的异同】https://blog.csdn.net/Mr_rsq/article/details/105839761
- 【redis redis-trib.rb使用密码管理集群】http://www.jdccie.com/?p=3794
- 【gem install redis报错的解决方案】:http://www.zzvips.com/article/32465.html