redis linux-集群配置流程
来源:互联网 发布:js 写cookie 编辑:程序博客网 时间:2024/05/18 00:56
一。配置修改
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
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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">
<!--引入配置文件 -->
<bean id="placeholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="order" value="1" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="locations">
<list>
<value>classpath:properties/redis-cluster.properties</value>
</list>
</property>
</bean>
<!--配置 jedis pool -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 最大连接数 -->
<property name="maxTotal" value="${redis.pool.maxTotal}" />
<!-- 最大空闲时间 -->
<property name="maxIdle" value="${redis.pool.maxIdle}" />
<!-- 每次最大连接数 -->
<property name="numTestsPerEvictionRun" value="${redis.pool.numTestsPerEvictionRun}" />
<!-- 释放扫描的扫描间隔 -->
<property name="timeBetweenEvictionRunsMillis" value="${redis.pool.timeBetweenEvictionRunsMillis}" />
<!-- 连接的最小空闲时间 -->
<property name="minEvictableIdleTimeMillis" value="${redis.pool.minEvictableIdleTimeMillis}" />
<!-- 连接控歘按时间多久后释放,当空闲时间>该值且空闲连接>最大空闲连接数时直接释放 -->
<property name="softMinEvictableIdleTimeMillis" value="${redis.pool.softMinEvictableIdleTimeMillis}" />
<!-- 获得链接时的最大等待毫秒数,小于0:阻塞不确定时间,默认-1 -->
<property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}" />
<!-- 在获得链接的时候检查有效性,默认false -->
<property name="testOnBorrow" value="${redis.pool.testOnBorrow}" />
<!-- 在空闲时检查有效性,默认false -->
<property name="testWhileIdle" value="${redis.pool.testWhileIdle}" />
<!-- 连接耗尽时是否阻塞,false报异常,true阻塞超时 默认:true -->
<property name="blockWhenExhausted" value="${redis.pool.blockWhenExhausted}" />
</bean>
<!--配置RedisClusterConfiguration -->
<bean id="redisClusterConfiguration"
class="org.springframework.data.redis.connection.RedisClusterConfiguration">
<property name="maxRedirects" value="${redis.maxRedirects}"></property>
<property name="clusterNodes">
<set>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host1}" />
<constructor-arg name="port" value="${redis.port1}" />
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host2}" />
<constructor-arg name="port" value="${redis.port2}" />
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host3}" />
<constructor-arg name="port" value="${redis.port3}" />
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host4}" />
<constructor-arg name="port" value="${redis.port4}" />
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host5}" />
<constructor-arg name="port" value="${redis.port5}" />
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.host6}" />
<constructor-arg name="port" value="${redis.port6}" />
</bean>
</set>
</property>
</bean>
<!--配置JedisConnectionFactory -->
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="password" value="${redis.password}"/>
<constructor-arg name="poolConfig" ref="jedisPoolConfig" />
<constructor-arg name="clusterConfig" ref="redisClusterConfiguration" />
</bean>
<!--redisTemplate -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
</bean>
</beans>
- redis linux-集群配置流程
- redis linux-集群配置流程
- linux 配置redis集群
- Linux redis 集群简单配置
- redis linux-集群新增删除节点流程
- linux安装配置Redis及Redis集群
- redis linux-单个配置流程
- Linux 下Redis安装与集群配置 Redis配置文件详解
- CentOS Linux下 redis 下载、安装、配置、主从集群配置
- CentOS Linux下 redis 下载、安装、配置、主从集群配置
- redis集群 部署操作流程
- 【redis】redis集群配置小结
- Redis集群:redis主从配置
- Redis集群的配置
- redis集群的配置
- redis集群配置
- Redis 集群配置
- redis集群配置
- 类加载器与双亲委派模型
- 面试:Arrays.asList
- 动态规划 - 编辑距离
- AtCoder Grand Contest 010 B - Boxes 验证解的存在性
- LLVM教程(二)-- LLVM的安装
- redis linux-集群配置流程
- 【心得】编写服务端的相关设计心得及体会
- ImagePicker
- actionscript与javascipt通信研究
- android--->getWindow().setFlags小结
- css之常见选择器
- 60款顶级大数据开源工具
- 后退N帧协议(gbn)
- 宏定义中##符号的作用