redis搭建集群并用TreeSoft管理

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

本篇博客的目录node

一:准备linux

二:搭建redis集群web

三:使用Treesoft管理redis

四:总结算法

正文数据库

一:准备apache

1.1:安装单体redis编程

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

 
 
[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 

简单解释一下以上命令,首先建立一个redis的目录,而后下载redis4.0.6版本,再解压,而后编译安装,安装完以后的样子大概以下:

 

redis默认是非守护模式,也就是没法在后台运行,咱们须要把其默认的属性给修改了,依次执行如下命令:

 
 
[root@host redis-4.0.6]# vi /usr/software/redis-4.0.6/redis.conf  no-->yes

上面的命令是用vi修改redis的配置文件中的守护模式,将其由关闭模式改成开启,开启之后咱们就能够在后台运行redis了

在后台启动运行redis

[root@host src]#  ./redis-server ../redis.conf

成功启动redis的会出现如下画面:

而后咱们再以客户端方式运行:redis-cli

能够看到redis已经在运行了,而且咱们作了一个简单的测试set一个name值,而后再get这个name值。能够看到程序正常运行。

二:搭建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 

①修改端口号,这里和咱们配置的端口号保持一致:

②修改appendonly为yes。这里修改成yes的含义表示是开启redis的aof持久化策略,开启AOF持久化后每执行一条会更改Redis中的数据的命令,Redis就会将该命令写入硬盘中的AOF文件。AOF文件的保存位置默认的文件名是appendonly.aof(备注说明:redis还有另一种持久化策略为:rdb,至关于保存数据快照,能够在配置文件中自定义同步更新时间!)

③开启cluster-enabled 为yes,即为开启集群模式

 

④修改集群节点为当前配置文件的conf文件

⑤:修改超时时间为5000ms,原来为15000.

(用vi修改完记得用切记vi命令保存:wq!)

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

而后查看ruby版本号。若是出现的是2.2.2就表示成功了

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的集群分片问题:

这段描述表示了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管理

启动tomcat,而后访问treesoft

访问地址:http://176.122.132.220:8070/treenms/treesoft/index,就能够看到下面的界面了,而且能够对键进行添加、删除、修改工做、刷新等操做,很方便。只须要在右上角进行简单的配置就能够了

能够看到界面干净清爽,能够随意切换集群中的节点(600一、6002等)

四:总结

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

相关文章
相关标签/搜索