文章目录
- 前言
- 一、卸载已经安装的Redis
- 二、将下载好的redis进行解压
- 三、启动单机Redis
- 四、搭建Redis集群
- 1.拷贝三个redis.conf
- 2.修改三个redis.conf
- 3.分别启动三个redis服务
- 4.将6380和6381变成6379的从节点
- 五、启用哨兵模式
前言
入门必读文章。手把手帮你安装搭建Redis集群
一、卸载已经安装的Redis
就是把redis安装目录,和bin下的redis相关的都删除,redis-serve或者redis-cli等等吧。
pkill redis //停止redis
rm -rf /opt/redis-6.0.9 //删除安装目录(根据你自己情况看)
rm -rf /usr/local/bin/redis-* //删除所有redis相关命令脚本
rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹
这些命令就基本删除完毕。
二、将下载好的redis进行解压
安装的位置是 /opt
解压命令:tar -zxvf redis-6.0.9.tar.gz
安装完成后,多了redis目录
进入redis安装目录文件夹
输入make指令
[root@chedxstudy redis-6.0.9]# make
耐心等待一会。。。。
继续执行:
[root@chedxstudy redis-6.0.9]# make install
如果没有问题,/usr/local/bin中会多一些redis的命令。
以上操作中,这里可能出现的问题就是gcc版本问题。使用下边的命令进行升级gcc。
#升级到 5.3及以上版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
#注意:scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。
#如果要长期生效的话,执行如下:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
make成功以后我们就可以启动redis单机了。
三、启动单机Redis
[root@chedxstudy redis-6.0.9]# cd /usr/local/bin/
到bin目录,创建dxconfig专门存放redis.conf 配置文件。
将安装目录的redis.conf 复制到dxconfig目录。
接下来就到了激动人心的时刻了。我们来启动Redis。
启动:[root@chedxstudy bin]# redis-server dxconfig/redis.conf
查看进程:已经启动了。
接下来我们连接下:
[root@chedxstudy bin]# redis-cli -h 127.0.0.1 -p 6379
最后你就可以操作单机的redis了。哈哈哈
四、搭建Redis集群
我们准备搭建的是一主两从集群。我们使用同一台服务器开三个窗口来进行操作。需要准备的是三个redis.conf 文件,我们准备使用的端口是6379、6380、6381。
1.拷贝三个redis.conf
拷贝到dxconfig文件夹中。
2.修改三个redis.conf
6379服务
port 6379
pidfile /var/run/redis_6379.pid
logfile "6379.log"
dbfilename dump6379.rdb
6380服务
port 6380
pidfile /var/run/redis_6380.pid
logfile "6380.log"
dbfilename dump6380.rdb
6381服务
port 6381
pidfile /var/run/redis_6381.pid
logfile "6381.log"
dbfilename dump6381.rdb
3.分别启动三个redis服务
[root@chedxstudy bin]# redis-server dxconfig/redis79.conf
[root@chedxstudy bin]# redis-server dxconfig/redis80.conf
[root@chedxstudy bin]# redis-server dxconfig/redis81.conf
启动后连接,并查看信息
6379:
6380:
6381:
可以看到启动以后他们的角色都是master。
4.将6380和6381变成6379的从节点
在6380和6381上输入指令:
127.0.0.1:6380> SLAVEOF 127.0.0.1 6379
127.0.0.1:6381> SLAVEOF 127.0.0.1 6379
再次查看info信息:
6380:
6381:
可以清楚的看到两个从节点的master都是6379节点。这样我们的集群就搭建完了。接下来进行简单的操作下。
在6379里set k1 v1;在6380和6381中都是可以获取的。
但是想使用6380和6381set数据的话,就会爆出问题。这里从节点只允许读,不允许写。
127.0.0.1:6380> set k2 v2
(error) READONLY You can't write against a read only replica.
127.0.0.1:6380>
接下来,我们给我们的集群添加一个哨兵。
五、启用哨兵模式
创建配置文件sentinel.conf
内容为基本内容:
# sentinel monitor 被监控的名称 host port 1
sentinel monitor myredis 127.0.0.1 6379 1
# 1是有多少哨兵认为挂了,master才是真的挂了
接下来我们启动哨兵:
[root@chedxstudy bin]# redis-sentinel dxconfig/sentinel.conf
可以看到打印出的日志信息,很明显的一主二从结构。
演示下哨兵的作用:我们把master节点shutdown,看看哨兵什么反应。
6379shutdown:
哨兵已经帮我们把master切换成了6380节点
接下来我们查看下两个节点的信息:
6380:可以看到,他已经变成master了,而他的从节点正是6381
6381:可以 难道他还是slave节点,但是他的master变成了6380
接下来我们把6379重新连接回去,看看会发生什么?
可以看到,哨兵把他转换成了slave节点。(回来还想做爸爸,怎么可能哈哈哈)
读到这里 ,相信你已经对redis环境搭建有了一定的了解。