CentOS6.5 Redis3.x集群安装配置

简介:

===============================================================
准备三台机器做redis

192.168.99.5 
192.168.99.28
192.168.99.29

操作系统:

CentOS6.5 64bit

软件包:

redis-3.2.7.tar.gz
redis-3.3.3.gem
rubygems-1.3.7-5.el6.noarch.rpm

================================================================

1.编译安装redis

tar zxf redis-3.2.7.tar.gz 
cd redis-3.2.7

[
Centos6.5上需要修改一下Makefile文件
$redis/src下

修改如下属性
FINAL_LIBS = -lm -lrt

]


make
sudo make install

2.安装rubygems

sudo yum install -y rubygems-1.3.7-5.el6.noarch.rpm

3.gem 安装集群用的redis

sudo gem install -l redis-3.3.3.gem

================================================================
在每一台几点上都要执行以下步骤

1.创建集群配置文件夹

sudo mkdir /usr/local/redis-cluster/{7000,7001,7002}

2.7000,7001,7002下,每个文件夹下创建redis.conf,

sudo touch /usr/local/redis-cluster/7000(7001,7002)/redis.conf

并添加如下配置:

#监听的端口,7000,7001,7002
port  7000  

#redis本机ip
bind 192.168.99.5
daemonize    yes

#按端口号修改pid的序号
pidfile  /var/run/redis_7000.pid

#启用集群模式
cluster-enabled  yes

#也是按照端口号修改序号
cluster-config-file  nodes_7000.conf
cluster-node-timeout  15000
appendonly  yes

3.指定配置文件启动3个redis实例

sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7000/redis.conf
sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7001/redis.conf
sudo /usr/local/bin/redis-server /usr/local/redis-cluster/7002/redis.conf

4.查看端口

sudo netstat -tnlp

会有7000,7001,7002 ,17000 ,17001 ,17002 这几个redis进程


创建集群

1.在任一台机器,解压后的redis的/src/目录下执行以下程序,选出三台机器上的三个节点作为redis集群的三个master节点

./redis-trib.rb create 192.168.99.5:7000 192.168.99.28:7000 192.168.99.29:7000

输出:

Using 3 masters:
192.168.99.29:7000
192.168.99.28:7000
192.168.99.5:7000
M: 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.5:7000
   slots:10923-16383 (5461 slots) master
M: eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.28:7000
   slots:5461-10922 (5462 slots) master
M: 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.29:7000
   slots:0-5460 (5461 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join...
>>> Performing Cluster Check (using node 192.168.99.5:7000)
M: 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.5:7000
   slots:10923-16383 (5461 slots) master
   0 additional replica(s)
M: 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.29:7000
   slots:0-5460 (5461 slots) master
   0 additional replica(s)
M: eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.28:7000
   slots:5461-10922 (5462 slots) master
   0 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
You have new mail in /var/spool/mail/mobileoa

2.检查集群:选定集群中一个master节点的ip就可以查询整个集群

[mobileoa@db2test1 src]$ ./redis-trib.rb check 192.168.99.5:7000
>```  

Performing Cluster Check (using node 192.168.99.5:7000)
M: 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.5:7000

slots:10923-16383 (5461 slots) master
0 additional replica(s)
M: 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.29:7000
slots:0-5460 (5461 slots) master
0 additional replica(s)
M: eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.28:7000
slots:5461-10922 (5462 slots) master
0 additional replica(s)
[OK] All nodes agree about slots configuration.

Check for open slots...
Check slots coverage...

[OK] All 16384 slots covered.



3.给集群每个主节点分散配置从节点,
                添加节点 类型    要给那个master添加从节点                   从节点ip                   要添加到的集群

./redis-trib.rb add-node --slave --master-id 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.28:7001 192.168.99.5:7000
./redis-trib.rb add-node --slave --master-id 29608e1a8b3d3e28315d1231b3a79dc3349bde21 192.168.99.29:7001 192.168.99.5:7000

./redis-trib.rb add-node --slave --master-id 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.5:7002 192.168.99.5:7000
./redis-trib.rb add-node --slave --master-id 0d589ff3efc479fc4acae086045ee1293767bdc6 192.168.99.28:7002 192.168.99.5:7000

./redis-trib.rb add-node --slave --master-id eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.5:7001 192.168.99.5:7000
./redis-trib.rb add-node --slave --master-id eeb89dca7b91e683e77a443f03187eef4ab26cda 192.168.99.29:7002 192.168.99.5:7000


4.查看集群状态

./redis-trib.rb check 192.168.99.5:7000

----

测试集群


redis-cli -h 192.168.99.28 -c -p 7002  ,加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。

set hello world


查看key


在另一个节点连接redis ,并查询

redis-cli -h 192.168.99.5 -c -p 7001
get hello

目录
相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1165 87
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
821 2
|
存储 NoSQL 数据库
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
1261 5
|
11月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
964 25
|
11月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
991 6
|
12月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
364 16
|
负载均衡 NoSQL Redis
【赵渝强老师】Redis的主从复制集群
Redis主从复制是指将一台Redis服务器的数据复制到其他Redis服务器,实现数据热备份、故障恢复、负载均衡及高可用架构的基础。主节点负责写操作,从节点同步数据并可提供读服务,提升并发处理能力。
433 5
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
922 9
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
2523 29