搭建Redis5.0集群,三主三从,准备六台虚拟机。
192.168.10.130 redis:7001
192.168.10.131 redis:7002
192.168.10.132 redis:7003
192.168.10.133 redis:7004
192.168.10.134 redis:7005
192.168.10.135 redis:7006
安装准备:
安装C语言需要的GCC环境
# 安装gcc-c++
yum install -y gcc-c++
# 安装wget
yum install -y wget
下载Redis5.0,并解压Redis源码压缩包
cd /opt/software
# 创建集群安装目录/usr/redis-cluster/7001
mkdir -p /usr/redis-cluster/7001
# 下载Redis 5.0
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
# 解压缩
tar -zxvf redis-5.0.5.tar.gz
编译Redis源码
cd /opt/software/redis-5.0.5/src
# 编译
make install PREFIX=/usr/redis-cluster/7001
# 拷贝redis.conf文件到7001下
cp /opt/software/redis-5.0.5/redis.conf /usr/redis-cluster/7001/bin
编辑redis.conf文件,修改配置(不绑定ip的话可能会出现链接redis失败)
port 7001
bind 192.168.10.130
# 开启集群支持
cluster-enabled yes
# 关闭保护模式
protecte-mode no
# 打开守护进程
daemonize yes
创建启动集群脚本startup.sh,启动所有的实例vi /usr/redis-cluster/startup.sh
cd 7001/bin
./redis-server redis.conf
给脚本赋权
chmod u+x startup.sh
重复在其他主机上执行以上操作(对应修改端口号和相应目录名称)
启动所有实例
./startup.sh
创建Redis集群(创建时Redis里不要有数据),任意一个bin目录中执行以下命令
./redis-cli --cluster create 192.168.10.130:7001 192.168.10.131:7002 192.168.10.132:7003 192.168.10.133:7004 192.168.10.134:7005 192.168.10.135:7006 --cluster-replicas 1
集群验证
./redis-cli -h 192.168.10.130 -p 7001 -c
# 查看集群信息
cluster info
# 查看集群节点信息
cluster nodes
密码设置 ,修改redis.conf(链接和赋值需要密码)
masterauth 123456
requirepass 123456
登录(切换到/usr/redis-cluster/7001/bin目录,执行以下命令)
./redis-cli -h 192.168.10.130 -p 7001 -c
auth 123456
关于开机自启的相关配置:
创建文件:vim /etc/systemd/system/redis.service(vim /lib/systemd/system/redis.service)
输入文件配置:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/redis-cluster/7001/bin/redis-server /usr/redis-cluster/7001/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
先关闭redis-server
systemctl stop redis.service
开启redis-server
systemctl start redis.service #如果服务是开启状态,使用此命令会启动失败。
将服务加入开机自启
systemctl enable redis.service #注意后面不能跟空格
说明:我之前已经配置好了集群,但是配置开机自启后出现集群异常(登录后只有一个节点,没有其他节点信息,不知道是哪里导致这个问题);所以开机自启配置好后重新执行以下命令。
./redis-cli --cluster create 192.168.10.130:7001 192.168.10.131:7002 192.168.10.132:7003 192.168.10.133:7004 192.168.10.134:7005 192.168.10.135:7006 --cluster-replicas 1
因此,尽量做到一次配置完,不然会出现数据丢失问题。