手把手搭建一个redis集群

文章目录

  • 前言
  • 安装的含义
  • 安装redis
  • redis编译安装
  • redis集群
  • redis集群的使用
  • C++工程连接使用redis-cluster
    • hiredis-cluster
  • 总结

前言

所谓“难者不会,会者不难”,这不只是一句简简单单的俗语,而是历经人类进化史而得到的历史经验,只有亲身体会过才会越发了解这句话的意义。当你苦思冥想几天几夜难以解决的问题,一句过来人的点拨便可瞬间化解,这是人生路上的需要经历的,愿每个人在关键时刻都能得到善良人的点拨。

人生有四个境界:①不知道自己不知道;②知道自己不知道;③不知道自己知道,④知道自己知道。不同的境界对应着不同的人生,仔细想想这四种境界并没有哪一种是绝对的好与坏,具体怎么选择取决于你想要什么样的人生,想想坐井观天的那只青蛙,属于“不知道自己不知道”的典型,如果它每天逍遥快活,完全没必要非得跳出井来卷入井外的纷争。

长久以来自给自足的小农经济,如果没有战乱,没有暴政,没有入侵,耕田织布的生活不也挺好,但是人性是贪婪的,欲望促使人们侵略、扩张,使得一些人进入了“知道自己不知道”的境界,于是加速了人与人之间的交流。进入现代社会以后,信息爆炸,越来越多的人“觉醒”了,但只是“觉醒”而不付出努力就会使自己陷入焦虑,其实焦虑不可怕,重要的是你要采取什么措施来缓解焦虑。

题外话扯多了,回归正题,写这篇总结的主要还是一个学习记录,也希望这样的记录可以解决一些人的困惑,这些东西并不复杂,也许只是我这个初学者才会关心的问题,但是现在有一种现象,就是大佬们不愿写基础的东西,而小白们想成为大佬从基础学习,却发现路上的坑让他们头破血流。一句学神们口中的“不难证明”,可能你几个月都证明不出来,这个问题是双方面的,一方面小白认为这东西很难,不知道怎么入手,另一方面大神感觉这东西这么简单还需要学/p>

屠龙勇士中成恶龙,大神们经过时间的洗礼,很多人已经忘记了自己曾经的头破血流,忘记了自己怎么从小白一步步走来,所以遇到困惑的人不要先入为主,不要认为这个东西太简单了怎么可能有人不会心聆听给出建议,或许可以瞬间打通他的任督二脉。

好了,好了,又跑题了,拉回来,我们从头来搭建一个redis集群,不过搭建之前我们先来看看“安装”这个词。

安装的含义

安装软件、安装程序、安装APP,自从电子设备飞入寻常百姓家,我们每天都在安装、安装、安装。但是这个词并不是电子设备出现后才诞生的。这个词自古就有,安装——本意是:把机件、器材等固定在一定的位置。那么软件、APP的安装就是把它们放在一定的位置。

软件是什么今我都记得初中的一道计算机的题目,我是04年在学校机房第一次接触到真的计算机,当时有一道题是问:Windows是系统软件,还是应用软件时这种题目真的是死记硬背啊,脑子里完全没有概念,每周只有一节课,还不一定每个人都有机器,那时的软件对我来说就是一个迷。

现在接触计算机也这么多年了,对软件也有了一些认识。软件可以说是用来向发出计算机发出任务的东西,当我们对一个人发号任务指令时,能通过声音传递给人,然后接到指令的人可以完成相应的任务,当我们给计算机发送指令时,可以通过键盘、鼠标等把指令输进去,也可以运行软件来完成某些计算机任务,其实软件就是一些提前编好的任务指令的集合。

那么安装软件就是把软件放到对应的地方,为什么要安装什么要放到指定的地方便放有什么问题实还是为了方便。就像生活中我们把床安装在卧室,把马桶安装在厕所一样,大家都是这样,已经成了习惯。如果你把床安装在厕所,并不是不能用来睡觉,只是其他人在来到厕所睡觉这件事上有些不太习惯。

因为软件并不只是一个东西,他还有数据啊、配置啊、服务啊等等,所以这些东西都要放在相应的位置,并且做一个登记,就像你把床放到厕所一样,这种不一样的习惯更要登记下来,否则对于一个普通人来说,肯定会去卧室找床,而不是厕所。

windows中软件的傻瓜式安装降低了软件的安装难度,它有一个注册表,里面记录了很多奇奇怪怪的东西,在windows上安装软件也就是把软件的各部分发到对应的位置,然后通过注册表这个总管登记入册,但是有些软件不太友好,安装的时候一顿乱放,卸载的时候不自己清理干净,导致出现很多问题,比如当年的SQLServer和3DMax,当时为了再次安装不得不重做了好多次系统。

在linux中安装软件就没有注册表这个东西,只要把软件各部分按照类型分别放好就行,比如可执行程序放,库文件放,配置文件放 等等,卸载就是把这些新加的东西删除就可以了,相比windows的注册表要简单一些。

好了,接下来我们就来安装配置一下redis-cluster,看了一下,本地机器真的很干净,什么都没有,现在从安装redis开始吧。

安装redis

  1. 系统是ubuntu16.04,偷个懒,直接通过命令 安装吧,当然你也可以通过源码编译安装,这都是可以的,输出信息如下:
  1. 安装完查找一下命令安装的位置,redis服务器和客户端应该都在
  1. 修改配置文件,设置密码,通过 命令打开文件搜索 requirepass 找到下面这一行,把前面的#去掉,requirepass 后面的就是密码,可以自己修改。
  1. 启动redis,直接运行 ,redis服务器就起来了
  1. 启动客户端使用redis,连接默认的6379端口,密码
  1. 至此redis就可以使用了,测试了和两个命令如上

redis编译安装

忽然发现Ubuntu16.04自带的 版本太低了,无法自动配置集群,所以决定编译安装,如果自动安装完redis版本在5以上,那就不需要编译安装了。

  1. 新建目录并进入,然后下载redis源码redis-6.2.4.tar.gz
  1. 运行 命令解压文件

  2. 运行 进入 redis-6.2.4 目录

  3. 直接运行 即可,如果遇到了 ‘/bin/sh: 1: pkg-config: not found’ 错误,先通过 安装 ,再运行 即可。

  4. 这次 和 都被安装到了 目录,版本是 ,接下来我们就用这个版本来搭建redis集群

redis集群

为什么要用redis集群直接的原因就是一个redis不够用了,需要使用好几个来组合分摊数据量和压力,那么搭建redis集群其实就是启动多个redis程序实例,让他们配合工作就好了,他们之间的配合是redis本身实现的,我们只需要配置启动多个实例就行了,因为redis集群最少需要三主三从,所以我们启动6个实例,:

  1. 新建 目录并进入
  1. 为了彼此的配置、数据、日志不相互影响,6个实例需要分别配置,我们建立如下的目录结构,按照端口号配置6个配置文件
  1. 修改redis配置文件,需要修改的配置文件中的内容如下,首先把下面几项前面的#去掉,然后按照端口号命名相互影响的目录和文件名,以第一个实例端口6301为例:

文件 修改后的文件内容如下,接下来5个配置文件分别按照6302, 6303, 6304, 6305, 6306来配置:

  1. 进入 目录并启动实例:

此时查看目录已经生成了默认的节点文件:

  1. 虽然实例都启动起来了,但是现在每个实例是单独的,需要把它们连接到一起,运行如下命令 即可,命令中的 表示为每个主节点都提供一个从节点,中间还需要输入 yes,这样运行完就形成了一个三主三从的redis集群:

来源:AlbertS

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月23日
下一篇 2021年5月23日

相关推荐