redis linux-集群配置流程

一。配置修改

   1.在/usr/local/redis-3.2.7下新建目录

   cluster/6379

   ....

   cluster/6384

 由于redis集群需要3个master所以最少要6个服务所以需要6个文件夹 

2.在每个目录下拷贝redis.conf


   3.在redis linux-单个配置流程配置基础上 修改/usr/local/redis-3.2.7/cluster/6379/redis.conf

          logfile "/usr/local/redis-3.2.7/cluster/6379/redis-6379.log"

dir "/usr/local/redis-3.2.7/cluster/6379/"

721行:cluster-enabled  yes 

729行: cluster-config-file nodes-6379.conf

735行:cluster-node-timeout  5000


二。redis集群需要使用ruby,安装ruby


yum -y  install zlib ruby rubygems


安装ruby的redis

gem install redis


升级ruby安装的软件

gem update --system

gem update


查看ruby安装的软件的结合

gem list


三。启动所有redis服务

./redis-server /usr/local/redis-3.2.7/cluster/6379/redis.conf

     ......

     ./redis-server /usr/local/redis-3.2.7/cluster/6384/redis.conf

四.修改集群密码

打开:/usr/lib64/ruby/gems/1.8/gems/redis-3.3.3/lib/redis/client.rb

修改password为设置的密码


四。执行./redis-trib.rb create --replicas 1 ip:6379 ...... ip:6384


  如果成功会显示如下:

  


五:错误处理

  1.Node XXX:6380 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

  处理方法:登录到对应server ./redis-cli -h 120.77.61.47 -p 6380

        清除数据:flashdb

  2.大部分启动问题可以删除/usr/local/redis-3.2.7/cluster/6379中除去redis.conf其他所有文件再启动


六。spring-data-redis配置

redis-cluster.properties

#JedisPoolConfig的参数

#最大连接数

redis.pool.maxTotal=30

#最大空闲时间

redis.pool.maxIdle=10

#每次最大连接数

redis.pool.numTestsPerEvictionRun=1024

#释放扫描的扫描间隔

redis.pool.timeBetweenEvictionRunsMillis=30000

#连接的最小空闲时间

redis.pool.minEvictableIdleTimeMillis=1800000

#连接控歘按时间多久后释放,当空闲时间>该值且空闲连接>最大空闲连接数时直接释放

redis.pool.softMinEvictableIdleTimeMillis=10000

#获得链接时的最大等待毫秒数,小于0:阻塞不确定时间,默认-1

redis.pool.maxWaitMillis=1500

#在获得链接的时候检查有效性,默认false

redis.pool.testOnBorrow=true

#在空闲时检查有效性,默认false

redis.pool.testWhileIdle=true

#连接耗尽时是否阻塞,false报异常,true阻塞超时,默认true

redis.pool.blockWhenExhausted=false

#RedisClusterConfiguration配置

redis.maxRedirects=5

#密码

redis.password=mju76yhN

#主机和端口号

redis.host1=120.77.61.XX

redis.port1=6379

redis.host2=120.77.61.XX

redis.port2=6380

redis.host3=120.77.61.XX

redis.port3=6381

redis.host4=120.77.61.XX

redis.port4=6382

redis.host5=120.77.61.XX

redis.port5=6383

redis.host6=120.77.61.XX

redis.port6=6384


spring-redis-cluster.xml



xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">



class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">




classpath:properties/redis-cluster.properties

































class="org.springframework.data.redis.connection.RedisClusterConfiguration">

































class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">













你可能感兴趣的:(非关系型数据库)