Redis群集搭建

Redis群集搭建

实验环境

两台Centos 7虚拟机,均添加三块网卡用以模拟六台服务器实景 服务器角色 IP地址
centos7-1 主节点M1 192.168.142.130
centos7-2 主节点M2 192.168.142.145
centos7-3 主节点M3 192.168.142.146
centos7-4 从节点S1 192.168.142.143
centos7-5 从节点S2 192.168.142.147
centos7-min 从节点S3 192.168.142.148

实验步骤

第一步:安装Redis

#安装编译环境
[[email protected] ~]# yum install gcc gcc-c++ make -y

#远程挂载源码包
[[email protected] ~]# mount.cifs //192.168.142.1/redis /mnt
Password for [email protected]//192.168.142.1/redis:  

#解压源码包
[[email protected] ~]# cd /mnt
[[email protected] mnt]# tar zxvf redis-5.0.7.tar.gz -C /opt

#编译与安装
[[email protected] mnt]# cd /opt/redis-5.0.7/
[[email protected] redis-5.0.7]# make
[[email protected] redis-5.0.7]# make PREFIX=/usr/local/redis/ install

#建立服务命令软链接到系统
[[email protected] redis-5.0.7]# ln -s /usr/redis/bin/* /usr/local/bin/

#切入utils目录
[[email protected] redis-5.0.7]# cd /opt/redis-5.0.7/utils/

#执行启动脚本
[[email protected] utils]# ./install_server.sh
#以下内容,默认回车即可
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [] /usr/local/redis/bin/redis-server
#此处需手动指定扩展目录路径/usr/local/redis/bin/redis-server

#使用进程控制启动服务
[[email protected] utils]# /etc/init.d/redis_6379 start
Starting Redis server...

#配置redis的6379.conf文件,追加监听地址
[[email protected] utils]# vim /etc/redis/6379.conf 

#注释第70行的监听127地址,已监听所有地址
#bind 127.0.0.1 

#去掉第89行注释关闭安全保护
protected-mode no

#去掉第93行注释,开启端口6379
port 6379

#去掉第137行注释,以独立进程启动
daemonize yes

#去掉第833行注释,开启群集功能
cluster-enabled yes

#去掉第841行注释,群集名称文件设置
cluster-config-file nodes-6379.conf

#去掉第847行注释,群集超时时间设置
cluster-node-timeout 15000

#去掉第700行注释,开启aof持久化
appendonly yes

#重启服务
[[email protected] utils]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...

第二步:主服务器安装rvm组件

#导入key文件
[[email protected] utils]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

#安装rvm
[[email protected] utils]# curl -sSL https://get.rvm.io | bash -s stable

#执行环境变量
[[email protected] utils]# source /etc/profile.d/rvm.sh

#列出ruby可以安装的版本
[[email protected] utils]# rvm list known

#安装2.4.1 版本
[[email protected] utils]# rvm install 2.4.1

#使用rubyruby2.4.1 版本
[[email protected] utils]# rvm use 2.4.1
Using /usr/local/rvm/gems/ruby-2.4.1

#查看当前ruby2.4.1 版本
[[email protected] utils]# ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

#再次安装Redis
[[email protected] utils]# gem install redis

第三步:创建Redis集群

#加入所有节点地址,并加6379端口号
[[email protected] utils]# redis-cli --cluster create 192.168.142.130:6379 192.168.142.145:6379 192.168.142.146:6379 192.168.142.143:6379 192.168.142.147:6379 192.168.142.148:6379 --cluster-replicas 1 

>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.142.147:6379 to 192.168.142.130:6379
Adding replica 192.168.142.148:6379 to 192.168.142.145:6379
Adding replica 192.168.142.143:6379 to 192.168.142.146:6379
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.130:6379
   slots:[0-5460] (5461 slots) master
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.145:6379
   slots:[5461-10922] (5462 slots) master
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.146:6379
   slots:[10923-16383] (5461 slots) master
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.143:6379
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.147:6379
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.148:6379
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
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.142.130:6379)
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.130:6379
   slots:[0-16383] (16384 slots) master
   1 additional replica(s)
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.148:6379
   slots: (0 slots) slave
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

第四步:验证群集读写

#从主节点计入数据库写数据
[[email protected] ~]# redis-cli -h 192.168.142.130 -p 6379
192.168.142.130:6379> set name yangjia
OK
192.168.142.130:6379> get name
"yangjia"

#从另一节点查看数据信息
[[email protected] ~]# redis-cli -h 192.168.142.146 -p 6379
192.168.142.146:6379> keys *
1) "name"
192.168.142.146:6379> get name
"yangjia"

#在从节点无法查看数据,提示切换主节点服务器地址
[[email protected] ~]# redis-cli -h 192.168.142.143 -p 6379
192.168.142.143:6379> keys *
1) "name"
192.168.142.143:6379> get name
(error) MOVED 5798 192.168.142.146:6379

原文地址:https://blog.51cto.com/14464303/2462265

时间: 2024-07-31 21:52:05

Redis群集搭建的相关文章

centos 7之Redis群集详解及参数调优(内附搭建群集案例)

博文目录:一.关系型数据库与非关系型数据库的区别.二.Redis数据库介绍.三.Redis的安装部署.四.Redis命令工具及常用命令五.Redis群集配置实例. 一.关系型数据库与非关系型数据库的区别: Redis数据库是一个非关系型数据库,和oracle.mysql.sql server等关系型数据库不是同一类型.NoSQL是非关系型数据库的总称,主流的NoSQL数据库有redis.MongBD等.NoSQL的存储方式.存储结构以及使用的场景都是完全不同的.NoSQL数据库凭借着其非关系型.

Redis 实战搭建高可用架构

前言:最近在看关于redis缓存方面的知识,今天就来个 Redis sentinel 高可用架构,实战开始之前,先看看sentinel的概念 什么是redis-sentinel Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发

基于centos 7的Redis群集原理及配置

博文大纲:一.Redis群集原理二.Redis群集架构细节三.redis-cluster选举四.部署Redis群集环境 关于Redis的性能调优参数的说明,可以参考博文:centos 7之Redis数据库详解及参数调优一.Redis群集原理: 1)Redis集群架构: Redis Cluster采用虚拟槽分区,将所有的数据根据算法映射到0~16384整数槽内 Redis Cluster是一个无中心的结构 每个节点都保存数据和整个集群的状态2)集群角色 Master:Master之间分配slots

单台Linux服务器实现Redis群集

一.Redis简介 Redis是目前大规模使用的缓存中间件,由于它强大.高效.便捷的功能,得到了广泛的使用. Redis在2015年发布了3.0.0,官方就已经支持了redis cluster.redis cluster在设计的时候,就考虑到了去中心化.去中间件.也就是说,集群中的每个节点都是平等的关系,每个节点都保存各自的数据和整个集群的状态.每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需连接集群中的任意一个节点,就可以获取到其他节点的数据. 二.Redis集群介绍

lvs负载均衡群集搭建(DR)

lvs负载均衡群集搭建(DR) 1:之前有讲过使用NAT技术的lvs的群集搭建接下来使用DR的直接路由模式来搭建负载均衡群集 2:在DR模式中.lvs负载调度器作为群集的访问入口,但不作为网关使用,服务器池中的所有节点来自internet.发送给客户端的web相应数据包不需要经过负载调度器:这种方式入站.出站访问数据分别被处理,因此lvs负载调度器和所有节点服务器都需要配置VIP地址,以便响应整个群集的访问. VIP地址192.168.1.254 负载均衡服务器           web1服务

Redis服务器搭建/配置/及Jedis客户端的使用方法

Redis服务器搭建 安装 在命令行执行下面的命令: $ wget http://download.redis.io/releases/redis-2.8.13.tar.gz $ tar xzf redis-2.8.13.tar.gz $ cd redis-2.8.13 $ make 编译完成后,会产生六个文件: redis-server:这个是redis的服务器 redis-cli:这个是redis的客户端 redis-check-aof:这个是检查AOF文件的工具 redis-check-d

redis sentinel搭建以及在jedis中使用

一.redis主从搭建 1.搭建redis master 1>redis安装 mkdir -p /usr/local/webserver/redis //安装目录 cd /usr/local/webserver/redis wget http://download.redis.io/redis-stable.tar.gz //最新稳定版 tar xzf redis-stable.tar.gz cd redis-stable make //报错的话 install gcc make install

jersey + spring + mybatis + redis项目搭建

最近在公司做项目,想采用最近比较热的restful来做,思前想后采用了jersey + spring + mybatis + redis来搭建项目,此处留下详细的配置,方便以后查阅,jersey采用2.13版本,与1.x版本差别比较大,主要是容器的差别!spring采用3.2的版本! 1.采用maven搭建项目 pom如下 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodin

在linux环境下安装redis并且搭建自己的redis集群

此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群 搭建环境: ubuntun 16.04 + redis-3.0.6 本文章分为三个部分:redis安装.搭建redis集群 一.本机安装redis: 1.下载redis: wget http://download.redis.io/releases/redis-3.0.6.tar.gz 2.redis安装解压.编译与安装:安装路径在root用户下的:~/softwares文件下 解压:先将安装包放到~/softwares