用到的ip和端口
ip | 端口 |
---|---|
192.168.101.65 | 6379 |
192.168.101.65 | 8100 |
192.168.101.75 | 6379 |
192.168.101.75 | 8101 |
192.168.101.85 | 6379 |
192.168.101.85 | 8102 |
配置ip地址和网关
主机
第一台虚拟机配置
记得su root不然权限不够
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
#重启生效
systemctl restart network
看一下能不能ping通
安装redis
#进到指定目录
cd /home/soft/redis
#下载
wget https://download.redis.io/releases/redis-7.0.2.tar.gz
#解压
tar -zxf redis-7.0.2.tar.gz -C /home/soft/redis
#编译
make
#安装
make install PREFIX=/home/soft/redis
配置redis的环境变量
不要在超级管理员下面配置,后面如果遇到权限不足就chmod 777 <路径文件>改权限(但是我改烦就su root了)
#编辑配置文件
vi ~/.bash_profile
添加下面的内容
#配置文件生效
source ~/.bash_profile
配置redis
#编辑配置文件
vi redis.conf
查找文本
esc后输入/+单词(n键是往下翻)
修改下面内容
#设置后台启动,如果不是后台启动,每次推出redis就关闭了
daemonize yes
#设置端口号
port 6379
#允许访问的ip,改为0.0.0.0就是所有ip均可
bind 0.0.0.0
#日志
logfile "/home/soft/redis/log/redis-6379.log"
# 900秒内至少1个key值改变(生成RDB文件)
save 900 1
# 指定rdb文件的名称
dbfilename dump.rdb
# 指定本地数据库存放目录(dump.rdb文件存放目录),rdb、aof文件都是写在这个目录
dir ./
# 指定aof文件名,默认为appendonly.aof
appendfilename appendonly.aof
# AOF持久化策略
appendfsync everysec
#允许集群
cluster-enabled yes
#集群配置文件
cluster-config-file nodes-6379.conf
#超时时限
cluster-node-timeout 15000
再复制一份,改掉里面的端口、日志和集群配置文件
cp redis.conf redis8100.conf
启动redis
启动要用超级管理员,集群配置文件要权限,到redis日志里面看
看自己的文件位置
启动集群
../bin/redis-server redis.conf
../bin/redis-server redis8100.conf
这里复制的时候搞错了,看到多余8101.conf删掉
rmr -r 8101.conf
查看进程(多余的进程kill -9 pid)
ps -ef|grep redis
其它两台虚拟机复制一下,然后改一下配置文件就行了
开启集群
redis-cli在src下面(/home/soft/redis/redis-7.0.2/src)
redis-cli --cluster create 192.168.101.65:6379 192.168.101.75:6379 192.168.101.85:6379 192.168.101.65:8100 192.168.101.75:8101 192.168.101.85:8102 --cluster-replicas 1
只输入y不行
redis会均分哈希槽
测试
进入交互(-c表示集群模式启动)
redis-cli -c -h 192.168.101.75 -p 8101
在第二台虚拟机的8101端口设置key-value
在第一台虚拟机的6379端口获取value