1.安装依赖
yum install gcc-c++ -y
#查看gcc版本:
gcc -v
2.下载redis
在 https://download.redis.io/releases/ 网站下载需要的redis版本
官网:https://redis.io/download
#下载redis安装包
wget https://download.redis.io/releases/redis-6.0.7.tar.gz
#解压
tar -xvf redis-6.0.7.tar.gz
cd redis-6.0.7/
#编译
make
#安装
make install PREFIX=/app/redis
#复制配置文件到/app/redis
cp redic.conf /app/redis
cd /app/redis
修改redis_8001.conf配置文件,修改内容如下
port 8001 #端口
protected-mode no
daemonize yes #后台启动
pidfile /app/redis/redis_8001.pid #pid文件路径
cluster-enabled yes #开启集群模式
cluster-config-file nodes-8001.conf #保存集群节点配置文件,无需认为修改
cluster-node-timeout 5000 #集群节点超时时间
dbfilename dump_8001.rdb #rdb文件
logfile "/app/redis/logs/redis_8001.log" #日志路径
masterauth 123456 #master节点设置了密码时slave接口配置
注释掉 bind 127.0.0.1 -::1,不注释只能当前机器访问
主从同步可以直接连接到各个节点设置密码:
bin/redis-cli -p 6379-c
config set masterauth 123456
config set requirepass 123456
config rewrite
复制2份配置如下:
启动redis
./bin/redis-server ./redis_8001.conf
./bin/redis-server ./redis_8002.conf
./bin/redis-server ./redis_8003.conf
#停止redis
./bin/redis-cli -p 8001 shutdown
./bin/redis-cli -p 8002 shutdown
./bin/redis-cli -p 8003 shutdown
查看是否启动成功:
ps -ef|grep redis
分配redis实例端口号
主 备
8001 9001
8002 9002
8003 9003
按照上面步骤在备机上操作搭建三个从节点
创建集群主从节点:
./bin/redis-cli --cluster create 10.0.0.190:8001 10.0.0.190:8002 10.0.0.190:8003 --cluster-replicas 0
# ./bin/redis-cli --cluster create 10.0.0.190:8001 10.0.0.190:9001 10.0.0.190:8002 10.0.0.190:9002 10.0.0.190:8003 10.0.0.190:9003 --cluster-replicas 1
#--cluster-replicas 0 不为集群的master节点创建slave。
#--cluster-replicas 1 表示为集群的master节点创建1个slave。那么6个实例里,有三个master,有三个是slave
#加入主节点
./bin/redis-cli -a password --cluster add-node 172.31.110.12:6379 172.31.110.15:6479
# -a password 有密码使用,无密码去掉
#加入从节点
./bin/redis-cli --cluster add-node --cluster-slave --cluster-master-id d06590267dfc22eb2de5e43b93982138f53514b1 10.0.0.113:9001 10.0.0.190:8001
#d06590267dfc22eb2de5e43b93982138f53514b1 主节点id
#10.0.0.113:9001 从节点ip端口
#10.0.0.190:8001 集群中任意一台机器ip端口
# 移除节点
./bin/redis-cli -a password --cluster del-node 172.31.110.15:6479 f8c04e53a74a1fe4b67bfa44eda2dc40d13c9722
创建集群主节点成功成功
设置开机启动
vi /usr/lib/systemd/system/redis6379.service
[Unit]
Description=redis6379
After=network.target
[Service]
Type=forking
PIDFile=/app/redis-cluster/6379/redis.pid
ExecStart=/app/redis-cluster/bin/redis-server /app/redis-cluster/6379/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
RestartSec=5
User=redis
Group=redis
RuntimeDirectory=redis6379
RuntimeDirectoryMode=0755
PrivateTmp=true
[Install]
WantedBy=default.target
systemctl daemon-reload
systemctl enable redis6379.service
systemctl status redis6379
systemctl restart redis6379