环境:CentOS7下安装Redis集群,默认已安装好5.0及以上版本,操作包括:
启动redis服务报错:
-bash: redis-server: command not found
原因:
没有配置对应命令,类似于window的环境变量,所以命令找不到
解决办法:
将安装目录下的redis-server执行文件路径配置到系统执行命令里
ln -s /usr/local/redis/redis-4.0.9/src/redis-server /usr/bin/redis-server
其中
/usr/local/redis/redis-4.0.9/src/redis-server 为安装目录下的redis-server服务文件地址
我们在一台服务器上开启三个Redis服务,模拟redis集群,一主两从,结构如下

端口信息为7001,7002,7003(若使用的服务器记得开启端口的防火墙)
1.先创建7001~7003的三个目录,将配置文件放入对应目录并进行配置

Redis.conf配置:
- [root@VM-0-4-centos ~]# redis-cli -p 6379
- # 获取密码
- 127.0.0.1:6379> config get requirepass
- 1) "requirepass"
- 2) ""
- # 设置密码
- >127.0.0.1:6379> config set requirepass 12455
- OK
- # 重新关闭客户端再进入时,输入一下命令,则显示无权限
- 127.0.0.1:6379> keys *
- (error) NOAUTH Authentication required.
- # 输入密码
- 127.0.0.1:6379> auth 12455
- OK
有临时和永久两种模式:
修改配置文件(永久生效)
在redis.conf中添加一行配置:slaveof
使用redis-cli客户端连接到redis服务,执行slaveof命令(重启后失效):
slaveof
- [root@localhost bin]# redis-server /myredis/redis6379.conf
- [root@localhost bin]# redis-server /myredis/redis6380.conf
- [root@localhost bin]# redis-server /myredis/redis6381.conf
- [root@localhost bin]# ps -ef | grep redis
- root 2999 1 0 11:58 ? 00:00:00 redis-server *:6379
- root 3013 1 0 11:59 ? 00:00:00 redis-server *:6380
- root 3019 1 0 11:59 ? 00:00:00 redis-server *:6381
- root 3025 2189 0 11:59 pts/0 00:00:00 grep --color=autoredis
使用命令登录三个redis
redis -p <port> -a 密码 指定端口号登录redis
执行下列操作以测试:
利用redis-cli连接7001,执行set num 123
利用redis-cli连接7002,执行get num,再执行set num 666
利用redis-cli连接7003,执行get num,再执行set num 888
我们对从机进行写操作发现报错
对主机进行写操作,从机可以获取
可以发现,只有在7001这个master节点上可以执行写操作,7002和7003这两个slave节点只能执行读操作。