redis搭建集群并用TreeSoft管理

redis搭建集群并用TreeSoft管理前言 redis 作为一款高效的 NOSQL 数据库已经深入贯彻和落实到我们的日常开发代码中 作为缓存 时间控制 数据仓库 队列等使用方法层出不穷 简直是开写代码 居家旅行之必备良药 曾经 我们的项目都是单体的 直到后来逐渐演变为微服务 一个将我们的工程解耦成多个工程的体系 然后随着我们项目的访问量越来越高 后台的吞吐量也越来越大 如果我们还采用的单体 redis 性能很容易形成瓶颈 如何突破单体 r

前言:

redis作为一款高效的NOSQL数据库已经深入贯彻和落实到我们的日常开发代码中,作为缓存、时间控制、数据仓库、队列等使用方法层出不穷,简直是开写代码、居家旅行之必备良药。曾经,我们的项目都是单体的,直到后来逐渐演变为微服务—— 一个将我们的工程解耦成多个工程的体系。然后随着我们项目的访问量越来越高,后台的吞吐量也越来越大。如果我们还采用的单体redis,性能很容易形成瓶颈。如何突破单体redis带来的功能受限?如何突破性能带来的问题?这时我们就可以考虑横向扩展,搭建redis集群。正所谓:众人拾柴火焰高,原来一颗小火柴不足以照亮整个房子,一旦人多了,火柴多了,那么散发出来的火焰就会更亮、更热,集群其实就是这个道理,更多的服务器参与工作就会摆脱单体应用带来的性能上的局限。本篇博客就来从零开始搭建一个redis集群。注:本篇博客搭建的redis集群采用的linux服务器是centos6.5,redis版本是4.0.6,因为没有多台服务器,所以采用的是一台服务器模拟安装多个redis节点的方式搭建服务器;

一:准备

1.1:安装单体redis

首先下载redis的安装包,然后解压、 编译,依次执行以下指令:

[root@host /]# mkdir /usr/software/ [root@host software]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz [root@host software]# tar -xzvf redis-4.0.6.tar.gz [root@host software]# cd redis-4.0.6/ [root@host redis-4.0.6]# make && install 
[root@host redis-4.0.6]# vi /usr/software/redis-4.0.6/redis.conf no-->yes 
[root@host src]# ./redis-server ../redis.conf 

二:搭建redis集群

2.1:复制配置文件到多个redis

之前有提到我们的服务器资源有限,所以将采用的是一台服务器安装多个redis节点的方式。再具体到安装过程,那就是采用多配置文件的方式,将每个配置文件配置成不同的端口号和目录等,然后依次启动,使用redis-trib来管理这个集群。

首先我们需要先创建一个redis集群文件夹,起名redis-cluster,然后准备6个节点,复制配置文件到这个文件夹里面:

[root@host software]# mkdir redis-cluster [root@host redis-cluster]# mkdir 6001 [root@host redis-cluster]# mkdir 6002 [root@host redis-cluster]# mkdir 6003 [root@host redis-cluster]# mkdir 6004 [root@host redis-cluster]# mkdir 6005 [root@host redis-cluster]# mkdir 6006 [root@host redis-cluster]# cp /usr/software/redis-4.0.6/redis.conf /usr/software/redis-cluster/6001/ [root@host redis-cluster]# cp /usr/software/redis-4.0.6/redis.conf /usr/software/redis-cluster/6002/ [root@host redis-cluster]# cp /usr/software/redis-4.0.6/redis.conf /usr/software/redis-cluster/6003/ [root@host redis-cluster]# cp /usr/software/redis-4.0.6/redis.conf /usr/software/redis-cluster/6004/ [root@host redis-cluster]# cp /usr/software/redis-4.0.6/redis.conf /usr/software/redis-cluster/6005/ [root@host redis-cluster]# cp /usr/software/redis-4.0.6/redis.conf /usr/software/redis-cluster/6006/ 

以上命令是建立了6个节点,然后将单体的redis节点的配置文件复制到每个节点中,接下来我们就要用这些配置文件来配置集群了

2.2:修改配置文件

以下是最小的Redis群集配置文件,根据此我们需要修改每个配置文件中的这些属性:

port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes 

依次执行命令,修改每个配置文件

[root@host 6001]# vi redis.conf 
2.3:配置多个redis

按照2.2中给出的步骤,依次配置6个节点,注意节点、conf每个配置的不同

2.4:安装ruby

因为redis的集群管理工具需要用到ruby,接下来我们需要安装ruby依赖库:

这里我们不采用yum安装,因为yum安装的ruby默认版本号是1.9。而redis的集群管理工具trib的最小ruby版本号要求是2.2.2.(版本低于2.2.2会无法启动)所以我们采用手动的方式安装ruby

依次执行一下命令

[root@host software]# mkdir ruby [root@host ruby]# wget https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz [root@host ruby]# tar xf ruby-2.2.2.tar.gz [root@host ruby-2.2.2]# cd ruby-2.2.2 [root@host ruby-2.2.2]#./configure --prefix=/usr/local/ruby-2.2.2 [root@host ruby-2.2.2]# make && make install 
2.5:安装gem redis
[root@host ~]# yum install rubygems [root@host ruby]# gem install redis 
2.6使用redis-trib启动集群

2.6.1 依次启动redis节点

[root@host src]# cd /usr/software/redis-4.0.6/src [root@host src]# ./redis-server /usr/software/redis-cluster/6001/redis.conf [root@host src]# ./redis-server /usr/software/redis-cluster/6002/redis.conf [root@host src]# ./redis-server /usr/software/redis-cluster/6003/redis.conf [root@host src]# ./redis-server /usr/software/redis-cluster/6004/redis.conf [root@host src]# ./redis-server /usr/software/redis-cluster/6005/redis.conf [root@host src]# ./redis-server /usr/software/redis-cluster/6006/redis.conf 

2.6.2:搭建redis集群

[root@host src]# /usr/software/redis-4.0.6/src/redis-trib.rb create --replicas 1 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 

三:安装TreeSoft界面化管理工具

3.1:测试redis集群

首先我们用redis客户端启动一个节点,可以看出redis将值重定向到节点6002上面去了

[root@host src]# ./redis-cli -c -h 127.0.0.1 -p 6001 

redis搭建集群并用TreeSoft管理
关于redis的集群分片问题:
redis搭建集群并用TreeSoft管理
这段描述表示了redis的集群是如何工作的,通过将节点进行划分不同的hash槽来实现数据的存储,每次当进行set值的时候,redis集群会对键进行crc16的算法校验,然后再取模,这样可以保证键可以落在16384范围中的某一个点上。然后再取不同的范围,定位到具体的节点上,这种结构的伸缩兴比较好,会避免删除或者增加节点的时候导致集群不可用。






3.2:安装treeSoft

3.2.1:简介 treesoft是redis的一个界面化管理工具,可以通过它来查看redis的key和vlaue的集合,进行简单配置就可以,界面简单操作方便,因此我们来安装一下treeSoft:

首先必须得安装tomcat(7.0+)、jdk(1.7+),然后下载treesoft,下载地址:http://www.treesoft.cn/dms.html。

下载之后解压,然后将treenms放入到tomcat到webapps目录下,再启动tomcat,我的目录是:/usr/software/tomcat/apache-tomcat-7.0.92/webapps/treenms

就可以运行了

注:因为篇幅原因,本篇博客不介绍安装tomcat、jdk的详细教程,不会的同学可以自行google

3.2.2:treesoft管理

四:总结

本篇博客讲述了redis如何搭建集群,以及redis集群的基本运行原理,还有后来的使用treesoft进行管理集群,redis是我们在编程开发中不可或缺的一个中间件,如何使用好它、管理好它、最大化它的性能都是我们需要探索的问题。而这些的第一步就是我们先亲自手动去搭建这样一个集群,并了解它的基本运行机制,在以后的编程工作中,才能更高的发挥它的优点。

Java_supermanNO1:专注于Java开发技术的研究与知识分享!

————END————

  • 点赞(编辑不易,感谢您的支持)
  • 转发(分享知识,传播快乐)
  • 关注(每天更新Java开发技术)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220482.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:22
下一篇 2026年3月17日 下午8:23


相关推荐

  • 正态qq图怎么判断分布_怎么判断是不是QQ小号

    正态qq图怎么判断分布_怎么判断是不是QQ小号一、正态QQ图的原理QQ图通过把测试样本数据的分位数与已知分布相比较,从而来检验数据的分布情况。[1]分位数:亦称分位点,是指将一个随机变量的概率分布范围分为几个等份的数值点。常用的有一个分位数叫,百分位数,它是指如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。QQ图是一种散点图,对应于正态分布的QQ图,就是由标准正态分布的分位

    2022年8月10日
    9
  • 对角矩阵单位矩阵_矩阵乘单位矩阵等于

    对角矩阵单位矩阵_矩阵乘单位矩阵等于importnumpyasnp'''创建矩阵''''''创建矩阵:2维数组'''

    2022年8月6日
    9
  • mysql 时区设定_mysql的时区设置「建议收藏」

    mysql 时区设定_mysql的时区设置「建议收藏」IDEA配置mysql数据库时,地址,用户名,密码,数据库名填写之后,点测试连接,提示Serverreturnsinvalidtimezone.Goto’Advanced’tabandset’serverTimezone’prope如图翻译过来就是:服务器返回无效时区。进入“高级”选项卡,手动设置“serverTimezone”属性。网上查询了一下解决方案,原来是要设置时区…

    2025年7月4日
    3
  • anaconda与pip 清华镜像源

    anaconda与pip 清华镜像源condaconfiga mirrors tuna tsinghua edu cn anaconda pkgs free condaconfiga mirrors tuna tsinghua edu cn anaconda pkgs main condaconfigs channel urlsyespip 设置清华镜像源 方法 1 设为默认镜像源 推荐 pipconfigs

    2026年3月16日
    3
  • pycharm配置flask环境_pycharm集成Django

    pycharm配置flask环境_pycharm集成Django参考:使用Pycharm+Flask开启DEBUG模式的坑pycharm创建flask应用Flask在Pycharm开启调试模式

    2025年6月28日
    5
  • Java 入门知识

    Java 入门知识

    2021年10月6日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号