Redis —— Cluster集群搭建<一>

目录

step1:解压redis-6.0.6.tar.gz

step2:编译make

step3:复制编译后的文件

step4:修改配置文件

step5:复制配置文件并修改

step6:不同配置启动redis服务

step7:创建cluster集群

step8:查看集群

step9:验证集群

step10:创建启动脚本

step11:创建停止脚本


        搭建redis的cluster集群:2台linux系统的服务器(docker实现),每台服务器创建3个redis服务器,共6台redis服务器:3主3从。

step1:解压redis-6.0.6.tar.gz

tar -zxvf redis-6.0.6.tar.gz

step2:编译make

a. 进入./src目录下,命令:make

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
#修改环境变量
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
gcc -v
make
make install

b. make成功后:./src下出现可执行文件

step3:复制编译后的文件

step4:修改配置文件

port  6379              //端口6382、6383、6384、6385、6386、6387
bind 本机ip             //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
requirepass abcdef      //密码
daemonize    yes        //redis后台运行
pidfile  /var/run/redis_6379.pid       //pidfile文件对应6382、6383、6384、6385、6386、6387
cluster-enabled  yes                   //开启集群  把注释#去掉
cluster-config-file  nodes_6379.conf   //集群的配置  配置文件首次启动自动生成不同端口的文件
cluster-node-timeout  15000            //请求超时  默认15秒,可自行设置
appendonly  yes                        //aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly6379.aof"    //aof文件
dbfilename dump6379.rdb                //rdb文件
masterauth abcdef                      //主从同步时auth密码,否则无法主从同步
# docker部署redis的配置
cluster-announce-ip 192.168.1.3        //docker外网地址
cluster-announce-port 6384             //集群端口
cluster-announce-bus-port 16384        //集群总线端口

step5:复制配置文件并修改

step6:不同配置启动redis服务

./redis-server ./conf/redis-6385.conf
./redis-server ./conf/redis-6386.conf
./redis-server ./conf/redis-6387.conf

step7:创建cluster集群

./redis-cli --cluster create 172.17.0.2:6382 172.17.0.2:6383 172.17.0.2:6384 172.17.0.3:6385 172.17.0.3:6386 172.17.0.3:6387 --cluster-replicas 1 -a abcdef

注意:

a. --cluster-replicas 1:创建3台服务器集群,且每个都有一个slave,3主3从

b. -a abcdef:需要输密码,因为配置了requirepass abcdef的参数;

c. redis5之前linux需要安装:ruby和gem:yum -y install ruby ruby-devel rubygems rpm-build;gem install redis 

step8:查看集群

redis-cli -h 127.0.0.1 -p 6385 -a abcdef cluster info

step9:验证集群

主:./redis-cli -h 172.17.0.3 -c -p 6385 -a abcdef

从:./redis-cli -h 172.17.0.2 -c -p 6382 -a abcdef

step10:创建启动脚本

q. 启动命令:cd /home/Redis-cluster

           ./redis-server ./conf/redis-6385.conf

b. 脚本实例startall.sh:

cd /home/redis-cluster
./redis-server ./conf/redis-6385.conf
cd /home/redis-cluster
./redis-server ./conf/redis-6386.conf
cd /home/redis-cluster
./redis-server ./conf/redis-6387.conf

step11:创建停止脚本

a. 停止命令:cd /home/Redis-cluster

           ./redis-cli -h 127.0.0.1 -p 6385 -a $1 shutdown

b. 脚本实例stopall.sh:

cd /home/redis-cluster
./redis-cli -h 127.0.0.1 -p 6385 -a $1 shutdown
cd /home/redis-cluster
./redis-cli -h 127.0.0.1 -p 6386 -a $1 shutdown
cd /home/redis-cluster
./redis-cli -h 127.0.0.1 -p 6387 -a $1 shutdown
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Spring MVC 项目中,可以通过配置 Spring 的 XML 文件来配置 Redis 连接信息。以下是一个示例: ```xml <!-- 配置 Redis 连接池 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="100"/> <property name="maxIdle" value="50"/> <property name="minIdle" value="10"/> <property name="maxWaitMillis" value="5000"/> </bean> <!-- 配置 Redis 连接工厂 --> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="poolConfig" ref="jedisPoolConfig"/> <property name="hostName" value="127.0.0.1"/> <property name="port" value="6379"/> <property name="database" value="0"/> <property name="password" value=""/> </bean> <!-- 配置 RedisTemplate --> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory"/> <property name="keySerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/> </property> <property name="valueSerializer"> <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"/> </property> </bean> ``` 这里首先配置了 Redis 连接池的参数,然后配置了 Redis 连接工厂的参数,最后配置了 RedisTemplate 的参数。其中,`StringRedisSerializer` 和 `GenericJackson2JsonRedisSerializer` 分别用于对 key 和 value 进行序列化。 你也可以通过 Java Config 的方式来配置 Redis 连接信息,示例代码如下: ```java @Configuration public class RedisConfig { @Bean public JedisPoolConfig jedisPoolConfig() { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(100); config.setMaxIdle(50); config.setMinIdle(10); config.setMaxWaitMillis(5000); return config; } @Bean public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig jedisPoolConfig) { JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setPoolConfig(jedisPoolConfig); factory.setHostName("127.0.0.1"); factory.setPort(6379); factory.setDatabase(0); factory.setPassword(""); return factory; } @Bean public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory jedisConnectionFactory) { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(jedisConnectionFactory); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); return template; } } ``` 这里使用了和 Spring Boot 相同的方式配置 Redis 连接信息,只是需要手动创建 Redis 连接工厂和 RedisTemplate 对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值