CentOS7.4安装部署redis5.0.5及主从复制,哨兵机制搭建
成功没有捷径可言!!!
- 前往https://redis.io/,下载redis安装包redis-5.0.5.tar.gz。
- 将redis安装包上传到Linux服务器上,并执行tar -zxvf redis-5.0.5.tar.gz命令进行加压缩安装包。
- 将解压后的redis文件夹移动到/usr/local/redis/目录下。命令如下:mv redis-5.0.5 /usr/local/redis/。
- 由于redis是用C语言编写,因此需要安装gcc进行编译。安装gcc命令如下:yum -y install gcc gcc-c++(需要网络)。
- gcc安装完成之后,进入到/usr/local/redis/目录下。执行make命令进行编译,编译完成之后会在该目录下生成src、conf文件夹。
- 编译完成之后进入到src目录下,进行安装执行make install PREFIX=/usr/local/redis命令进行安装。
- 在src目录下创建etc目录,mkdir etc 移动redis.conf到etc目录下 mv redis.conf /usr/local/redis/etc/。
注:建这两个文件夹其实是为了方便使用和管理
bin:用于存放主要命令
etc:用于存放redis 的核心配置文件 redis.conf
部署
- 前端模式启动redis 进入/usr/local/redis/bin目录下:cd /usr/local/redis/bin
执行./redis-server 此种方式启动缺点在于一旦客户端关闭,则redis服务也将关闭。 - 后端模式启动 修改redis.conf配置文件,将daemonize属性改为yes(允许后台启动) vi
/usr/local/redis/etc/redis.conf 找到 daemonize 按i 进入编辑模式 把no 改为 yes
按ESC + :wq 保存退出 - 再次启动redis,并指定启动服务配置文件 cd /usr/local/redis/bin/ ./redis-server …/etc/redis.conf
- 查看是否启动成功
ps -ef | grep redis - 关闭redis 如果是前端模式启动,则直接Ctrl+C关闭。 如果是后端模式启动,即客户端连接成功后,首先输入 exit
退出redis客户端,然后进入到bin目录下,输入 ./redis-cli shutdown
注意:强行终止redis进程,则不会进行持久化操作,并可能会导致redis持久化数据丢失。
正确停止Redis的方式应该是向Redis发送SHUTDOWN命令。
Redis主从复制(一主双从)
配置redis.conf文件
- 更改主从服务器端口号port
- *更改主从服务器的IP绑定bind
- 更改主从服务器的日志目录logfile
- 更改主从服务器的pidfile
- *更改主从服务器的dbfilename
- *更改主从服务器的requirepass
- *更改从服务器的replicaof 主服务器IP 端口
- *更改从服务器请求主服务器的访问密码masterauth
- *更改主从服务器的firedwall 防火墙,开启服务端口
- 更改主从服务器dir
- 配置防火墙
输入firewall-cmd --query-port=6379/tcp,如果返回结果为no,那么证明6379端口没有开启。
输入firewall-cmd --add-port=6379/tcp,将6379端口临时开启,返回success。
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=26379/tcp --permanent
(–permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
删除
firewall-cmd --zone=public --remove-port=6379/tcp --permanent
哨兵模式
- 进入/usr/local/redis/目录下,配置sentinel.conf,更改如下:
protected-mode no
daemonize yes
sentinel monitor mymaster 192.168.198.91 6379 2
sentinel auth-pass mymaster 123456
pidfile 可不改
logfile 可不改
dir 可不改 - 启动节点
从主到从一次启动redis服务
进入到/usr/local/redis/bin/目录下,输入下列命令启动:
./redis-server …/etc/redis.conf
netstat -ntlp | grep redis - 依次启动哨兵
./redis-sentinel …/sentinel.conf - 登录客户端检查
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
info replication
./redis-cli -h 127.0.0.1 -p 26379 -a 123456
info sentinel
记得检查:防火墙(端口号),安全组,redis密码,绑定的ip,各文件的存放目录。