Centos 7 Redis集群搭建

it2025-02-08  32

第一步. 下载redis安装包

新建redis文件夹

mkdir /usr/local/redis

下载redist文件夹

wget http://download.redis.io/releases/redis-5.0.5.tar.gz

第二步. 解压编译

解压

tar -zxvf redis-5.0.5.tar.gz

编译

make install

第三步. 复制六份

cp -r /usr/local/redis/redis-5.0.5 /usr/local/redis/7001

第四步. 修改redis.conf配置文件

vi /usr/local/redis/7001/redis.conf

# 只能通过本ip 访问访问本实例 bind 127.0.0.1

#端口号 port 7001

# 是否以守护进程启动 daemonize yes

# dbfilename文件存放目录。必须是一个目录,aof文件也会保存到该目录下。 dir /usr/local/redis/7001

# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis_7001.pid

# 是否开启cluster集群模式 cluster-enabled yes

# 配置redis自动生成的集群配置文件名。确保同一系统中运行的各redis实例该配置文件不要重名 cluster-config-file nodes-7001.conf

# 集群节点超时毫秒数 cluster-node-timeout 15000

# 如果数据太旧,集群中的不可用master的slave节点会避免成为备用master。如果slave和master失联时间超过:(node-timeout * slave-validity-factor) + repl-ping-slave-period则不会被提升为master。 # 如node-timeout为30秒,slave-validity-factor为10, 默认default repl-ping-slave-period为10秒,失联时间超过310秒slave就不会成为master。 # 较大的slave-validity-factor值可能允许包含过旧数据的slave成为master,同时较小的值可能会阻止集群选举出新master cluster-replica-validity-factor 10

# 只有在之前master有其它指定数量的工作状态下的slave节点时,slave节点才能提升为master。默认为1(即该集群至少有3个节点,1 master+2 slaves,master宕机,仍有另外1个slave的情况下其中1个slave可以提升) # 测试环境可设置为0,生成环境中至少设置为1 cluster-migration-barrier 1

#默认情况下如果redis集群如果检测到至少有1个hash slot不可用,集群将停止查询数据。 #如果所有slot恢复则集群自动恢复。 #如果需要集群部分可用情况下仍可提供查询服务,设置为no。 cluster-require-full-coverage no

# 选项设置为yes时,会阻止replicas尝试对其master在主故障期间进行故障转移 # 然而,master仍然可以执行手动故障转移,如果强制这样做的话 # cluster-replica-no-failover no

分别执行 批量修改并替换掉 该文件夹下面的redis.conf 文件 (注意7002 - 7006 都要修改)

 sed 's/7001/7002/g' redis.conf > /usr/local/redis/7002/redis.conf 

第五步. 启动redis

分别启动六台redis

/usr/local/bin/redis-server /usr/local/redis/7001/redis.conf

第五步. 使用 reids-cli 搭建 Redis集群

查看帮助

/usr/local/bin/redis-cli --cluster help

创建集群

redis-cli --cluster create 192.168.209.129:7001 192.168.209.129:7002 192.168.209.129:7003 192.168.209.129:7004 192.168.209.129:7005 192.168.209.129:7006 --cluster-replicas 1

第六步. 查看 Redis集群

/usr/local/bin/redis-cli --cluster check 192.168.209.129:7001

测试集群

/usr/local/bin/redis-cli -c -h 192.168.209.129 -p 7001

192.168.209.129:7002> set name xiaoming OK 192.168.209.129:7002> get name "xiaoming" 192.168.209.129:7002> 

切换到 7005 192.168.209.129:7005> get name -> Redirected to slot [5798] located at 192.168.209.129:7002 "xiaoming" 192.168.209.129:7002>   

结束

 

 

 

最新回复(0)