Redis集群与SSM整合使用方法,简单实现

先是是开创redis-cluster文件夹:

正文是Redis集群的简约搭建,英特网教程比非常多,自个儿亲手尝试搭建,记录如下

图片 1

Reference 参考:

因为redis最少要求6个节点(三主三从卡塔尔国,为了更加好的理解,作者那边创办了两台虚构机(192.168.0.109
192.168.0.110卡塔尔,分别在两台设想机的/opt/redis-4.0.1/redis-cluster下创制七个节点文件夹

 redis中文网的课程

192.168.0.109:

 CSDN上的博客文章redis

图片 2

  Ruby安装教程

192.168.0.110:

以下是自家的条件:Centos7  ruby景况,rebygem信任。

图片 3

手续1 装置Redis(源码安装卡塔 尔(英语:State of Qatar)

如上6个节点全体成立完毕,分别再在这里八个公文夹下创造redis.conf配置文件,个中布署如图:

步骤2 安装ruby环境

port 7000
bind 192.168.0.109
daemonize yes
pidfile /var/run/redis_7000.pid
cluster-enabled yes
cluster-config-file nodes_7000.conf
cluster-node-timeout 10000
appendonly yes

步骤3 创立集群配置

里头须求将port pidfile
cluster-config-file改进成节点端口号后生可畏致,bind改开销机ip,以便远程采访,全体育学园订完后,就能够运营redis服务:

手续4 测量检验与总计

起步命令:


192.168.0.109下的吩咐:“for((i=0;i<=2;i++)); do
/opt/redis-4.0.1/src/redis-server
/opt/redis-4.0.1/redis-cluster/700$i/redis.conf; done”

步骤1 安装Redis

192.168.0.110下的吩咐:“for((i=3;i<=5;i++)); do
/opt/redis-4.0.1/src/redis-server
/opt/redis-4.0.1/redis-cluster/700$i/redis.conf; done”

  暗中认可的Redis的装置路线是/usr/local下

图片 4

#cd /usr/local    //切换来安装的目录

能够见到后台方式运营成功的日志打字与印刷,两日机器都亟需种种运行全体节点。节点运转成功后,就能够创设集群服务:

#wget
 //wget的主意获取文件

在中间风流倜傥台设想机上执行如下命令“/opt/redis-4.0.1/src/redis-trib.rb create
–replicas 1 192.168.0.109:7000 192.168.0.109:7001 192.168.0.109:7002
192.168.0.110:7003 192.168.0.110:7004 192.168.0.110:7005”

#tar -zxvf  redis-3.2.6.tar.gz  //下载成功后,解压归档文件

图片 5

解压后收获Redis的源码包 先make编写翻译再make install
这里不内定redis的prefix,默许正是那个解压的目录。

 千万记住只要求在生龙活虎台上实行就能够,若是卡在join处不能往下进行,平时情形是出在防火墙端口被禁引致,有三种办法得以减轻:

#make && make install  //达成后在/usr/local/bin下就有redis-*连锁文书

1、不但须求敞开7000对外端口,还亟需开启17000(因为redis总线端口须求加1000卡塔 尔(英语:State of Qatar)。

于今,大家的单机版本的redis即使安装到位了。先测量试验下是不是能运作(切换成安装目录下)

2、直接关门全体防火墙(因本人这里是和谐的条件,所以一贯关门了防火墙服务卡塔 尔(英语:State of Qatar)。

#src/redis-server redis.conf
 (运转Redis,暗中同意redis.conf中配置的是前台进度,运转后会卡在这里并提示成功,如若没非常,Ctrl+c截止进程,起头下一步配置)

并发上海教室运转日志,基本就水到渠成搭建好了集群服务,能够清楚的看来各样节点的主从关系,情形搭建好后,这里我们就和自个儿上篇写到的SSM架构实行合作利用。


上次结合的mybaits二级缓存是个单机版本,由于这种办法不扶持集群,所以这里从新利用jedis-cluster进行此外生机勃勃种redis集群与java整合使用的章程。

步骤2 安装ruby环境

率先在redis.properties文件中新扩大集群机器的布局,将6个节点依次参预配置:

 
Redis集群情况的铺排中,有个ruby脚本能够方便的增加集群节点,该文件是src目录下的redis-trib.rb
 在运作这几个命令前须求安装Ruby
运转碰着,以下也是源码安装。先切换来/usr/local下

#cluster 
cluster1.host.port=192.168.0.109:7000
cluster2.host.port=192.168.0.109:7001
cluster3.host.port=192.168.0.109:7002
cluster4.host.port=192.168.0.110:7003
cluster5.host.port=192.168.0.110:7004
cluster6.host.port=192.168.0.110:7005

#wget

redis配置文件中也与事先改动超多,笔者平素列出来,能够一向拷去用了。

赢拿到财富后 解压归档文件tar -zxvf ruby-2.1.1.tar.gz
得到了ruby-2.1.1文书夹,切换进去试行以下命令

spring-redis.xml

#./configure –prefix=/usr/local/ruby

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:p="http://www.springframework.org/schema/p"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xmlns:util="http://www.springframework.org/schema/util"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:task="http://www.springframework.org/schema/task" 
 xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
   http://www.springframework.org/schema/util
   http://www.springframework.org/schema/util/spring-util-4.3.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
   http://www.springframework.org/schema/aop
   http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.3.xsd">
  <!-- 连接池基本参数配置,类似数据库连接池 -->
   <context:property-placeholder location="classpath*:redis.properties" />
  <bean name="genericObjectPoolConfig" class="org.apache.commons.pool2.impl.GenericObjectPoolConfig" >
    <property name="maxWaitMillis" value="-1" />
    <property name="maxTotal" value="1000" />
    <property name="minIdle" value="8" />
    <property name="maxIdle" value="100" />
  </bean>
  <!-- 连接池配置,类似数据库连接池 -->
  <!-- <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >
    <property name="hostName" value="${redis.host}"></property>
    <property name="port" value="${redis.port}"></property>
    <property name="password" value="${redis.pass}"></property>
    <property name="poolConfig" ref="poolConfig"></property> 
  </bean> -->
  <!-- 调用连接池工厂配置 -->
  <!-- <bean id="redisTemplate" class=" org.springframework.data.redis.core.RedisTemplate">
    <property name="jedisConnectionFactory" ref="jedisConnectionFactory"></property>
    如果不配置Serializer,那么存储的时候智能使用String,如果用User类型存储,那么会提示错误User can't cast to String!!! 
     <property name="keySerializer"> 
      <bean 
      class="org.springframework.data.redis.serializer.StringRedisSerializer" /> 
    </property> 
    <property name="valueSerializer"> 
      <bean 
        class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" /> 
    </property> 
  </bean> -->
   <bean id="jedisCluster" class="com.cjl.util.JedisClusterFactory">
    <property name="addressConfig">
      <value>classpath:redis.properties</value>
    </property>
    <property name="addressKeyPrefix" value="cluster" />
    <property name="timeout" value="300000" />
    <property name="maxRedirections" value="6" />
    <property name="genericObjectPoolConfig" ref="genericObjectPoolConfig" />
  </bean>
</beans>

#make && make install

将上篇SSM+redis整合中mybatis的张开缓存配置生机勃勃体禁止使用,就可以运维服务测验了

顺手的话在/usr/local下就有ruby目录,那是安装好的ruby,接着增添情况变量到/etc/profile

率先直接注入jedisCluster获取多少个集群对象。

#echo “export PATH=/usr/local/ruby/bin:$PATH” >> /etc/profile  
//在/etc/profile末尾追加了布署

图片 6

#source /etc/profile   //让配置生效

此地为了方便,小编多少同步直接用了java写了个大约思维,别的办法也可达成,举个例子Spring
AOP方式落到实处,使用第三方插件,可能数据库层面完成都灵验。

#ruby –version   // 查看ruby的版本消息假使不易的话是ruby
2.1.1***等等的版本音讯

图片 7

安装逼unndler Gem
(由于亚马逊(亚马逊卡塔 尔(阿拉伯语:قطر‎云服务被墙,所以须求安装国内镜像,这里运用)

开发银行成功后,频频调用方法。能够看看调控台并未有打字与印刷sql语句,而是直接在redis集群中一向得到获得数码。以上轻松的redis集群实例已经做到,因为时间涉及,个中linux中大略坑小编从未细细写出。

#gem sources –remove

总结

#gem sources -a

如上所述是小编给大家介绍的Redis集群与SSM整合使用方法,希望对大家具备助于,假如大家有其余疑问请给自家留言,小编会及时还原我们的。在这里也非常多谢大家对台本之家网站的支撑!

#gem sources -l  
//查看刚才的安装是不是中标,不出意外正是后三个布署,ok继续设置信赖包

你或然感兴趣的篇章:

  • redis与ssm整合形式(mybatis二级缓存卡塔尔国

#yum -y install zlib ruby rubygems

#gem install redis  //安装Ruby的Redis库

这里ruby遭逢就宗旨清除。如有坑,请google


手续3 成立集群配置

在步骤1中我们成功的装置了单机版本的Redis,现在大家早先陈设集群,根据集群的的布局,起码需求3个实例,非常多课程用的6个实例,3个master
3个slave冗余。这里为了轻易,小编只弄3个master。并在大器晚成台虚构机上集群(和早前弄zookeeper雷同的伪集群)

在/usr/local/redis-3.2.6中已经有八个能运转的Redis。在redis运行的时候,通过点名安顿文件就能够落得运营多少个实例的效应。这里只改良二个,文件命名有行业内部。

安装3个实例的端口为6377,6378,6379以6377端口的实例为例子

先创制特地积累集群众文化艺术件的文书夹

#mkdir /usr/local/redis-cluster/{data,config,logs}  //
redis-cluser就创办了3个公文夹

拷贝/usr/local/redis3.2.6/redis.conf
做改正,将改革后的文件放到redis-cluster的config下并取名称叫redis-6377.conf

中央改正如下

daemonize  yes  #后台运维

pidfile /usr/local/redis-cluster/data/redis-6377.pid
 #安装实例的过程文件pid

port 6377 # 实例占用的端口号

bind xxxxxx  
#绑定的ip地址,不可能是127.0.0.1。应该有望须要外表网络访谈

unixsocket /usr/local/redis-cluster/data/redis-6377.sock

loglevel verbose
 #日记品级,暗中认可info能够不改,为了看现实的心跳等,这里改小

logfile /usr/local/redis-cluster/logs/redis-6377.log

dbfilenaem dump-6380-rdb

dir /usr/local/redis-cluster/data/

appendfilename appendonly-6377.aof

cluster-enabled yes

cluster-config-file /usr/local/redis-cluster/data/node-6377.conf

cluster-node-timeout 5000

#如上是6377的配备,依照上述格式,分别安顿6378,6379将配备好的文本拷贝到相关的

/usr/local/redis-cluster/config下

修正巧后,先河运营实例,切换成/usr/local/redis-3.2.6下

#src/redis-server /usr/local/redis-cluster/config/redis-6377.conf

#src/redis-server /usr/local/redis-cluster/config/redis-6378.conf

#src/redis-server /usr/local/redis-cluster/config/redis-6379.conf

时至后天3个实例运维成功,使用ps -ef |grep redis能够查阅到redis实例的音信

配备好后初阶运用redis-trib.rb增多集群节点

切换到/usr/local/redis-3.2.6下

#src/redis-trib.rb create 192.168.1.2:6377 192.168.1.2:6379
192.168.1.2:6379

// 192.168.1.2是虚构机的局域网ip地址。这里未有行使redis-trib.rb create
–replicase 1 因为还没有考虑slave从机。

推行命令后,就从头分配Redis的163捌十二个槽的分配景况,输入yes确认配置。

最后[ok] All 16384 slots covered
 评释集群情状给那3个Redis实例分配的slots成功。


步骤4 测量试验与总计

利用Redis Desktop
Manager(windows版本的Redis图形管理工科具)连接刚才建构的3个实例

在随便叁个节点中加多k-v,在其余三个实例也能协同到。至此,集群基本搭建完结。

生龙活虎经将在那之中某生龙活虎台节点关掉,那么这几个集群就不可能办事,其他平常的实例无法访谈,挂掉的节点寻常后,集群情况苏醒正常(固集群情状陈设的3个master不可信赖,为平安,还相应最少为每三个master设置一个slave,制止全体集群意况现身故障)

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注