centos7下安装redis集群(一主两从,三哨兵)
环境说明:
1.centos7
2.redis的版本信息:redis-5.0.5
集群的环境信息
角色 | IP地址 | 端口号 | redis的安装目录 | redis的配置文件位置 | 哨兵的配置文件位置 |
---|---|---|---|---|---|
主库 | 192.168.234.158 | 6379 | /root/soft/redis-5.0.5 | /usr/local/bin | /usr/local/bin |
从库一 | 192.168.234.159 | 6379 | /root/soft/redis-5.0.5 | /usr/local/bin | /usr/local/bin |
从库二 | 192.168.234.160 | 6379 | /root/soft/redis-5.0.5 | /usr/local/bin | /usr/local/bin |
说明:redis的安装,默认的安装位置都是/usr/local/bin/目录下,但是刚安装完redis时的redis的redis.conf和哨兵的配置文件sentinel.conf都是在你解压的redis的目录下;
如图所示;
手动的把两个配置文件拷贝到/usr/local/bin/目录下,这样做可以方便的管理配置文件
如下图所示,这里的文件比较少
第一步:安装前的准备工作
1.关闭centos7的防火墙,实际生产的环境可以对外开放端口号
2.安装gcc的环境
命令:yum install gcc gcc-c++
确认是否安装成功
命令:gcc -v
第二步:开始安装redis
上传redis-5.0.5.tar.gz的安装包到soft文件夹下
我用的是rz的上传方式,如果你的rz命令不好用,看我的安装命令或者利用其它上传工具
安装rz的命令:yum -y install lrzsz
解压这个安装包到当前的目录下
解压命令:tar -zxvf redis-5.0.5.tar.gz
解压成功后,显示如下,生成了一个redis-5.0.5文件夹
然后进入这个目录下,直接编译即可
命令:make
其实上面的这些步骤就可以了,redis就成功安装了,你可以试着启动一下,在当前目录下执行下面的这个命令
启动redis的命令:redis-server
验证redis是否正常启动
命令:ps -ef|grep redis
第三步:克隆其它两台机器
克隆的步骤
1.关闭当前的机器,在机器名上右键选择管理,在选择克隆
如图所示;
点击下一步;
点击下一步,这里默认的是选择创建链接克隆,但是我们要创建完整的克隆
选择完整克隆后,选择下一步,填写你要起的虚拟机的名称和你要安装虚拟机的位置
第四步:修改redis的配置文件redis.conf
修改redis.conf的配置文件为
主机器的配置文件修改如下 | 配置文件解释 |
---|---|
#bind 127.0.0.1 | 这一行注释掉就可以了,才能实现不同机器间的通信 |
daemonize no 改成 yes | 意思是后台运行 |
logfile “/usr/local/src/redis-5.0.5/log/server.log” | 这一行是配置redis的日志文件 |
masterauth “123456” | 配置密码为123456 |
requirepass “123456” | 配置密码为123456 |
两台从机器redis的配置文件redis.conf修改如下
从机器的配置文件修改如下 | 配置文件解释 |
---|---|
#bind 127.0.0.1 | 这一行注释掉就可以了,才能实现不同机器间的通信 |
daemonize no 改成 yes | 意思是后台运行 |
logfile “/usr/local/src/redis-5.0.5/log/server.log” | 这一行是配置redis的日志文件 |
masterauth “123456” | 配置密码为123456 |
requirepass “123456” | 配置密码为123456 |
slaveof 192.168.234.158 6379 | 依赖的主机IP和端口号 |
注意:1.从机器redis的配置文件比主机器多了一个slaveof 的配置
2.主机器和从机器的密码要设置成一样,要不然后面的设置的哨兵就会有问题
第五步:启动各个节点的redis,看是否能实现通信
redis.conf的配置文件已经改好了,可以拷贝到/usr/local/bin/目录下
然后以配置文件的方式启动三个节点的redis
命令:redis-server redis.conf
然后用客户端连接
命令:redis-cli -c -h 127.0.0.1 -p 6379
-c的意思是以集群的方式启动,-h是连接哪个服务端,-p是连接哪个端口