广告
返回顶部
首页 > 资讯 > 数据库 >缓存数据库Redis——Redis群集部署
  • 839
分享到

缓存数据库Redis——Redis群集部署

2024-04-02 19:04:59 839人浏览 独家记忆
摘要

实验环境 用两台服务器模拟6台服务器(添加网卡) 主服务器Redis1: ens33: 192.168.52.150 ens36: 192.168.52.153 ens37:

实验环境

用两台服务器模拟6台服务器(添加网卡)

主服务器Redis1:
     ens33: 192.168.52.150
     ens36: 192.168.52.153
     ens37: 192.168.52.154
从服务器Redis2:
    ens33: 192.168.52.148
    ens36: 192.168.52.155
    ens37: 192.168.52.156

1、在两台服务器上都安装Redis(操作相同,只演示一台)

[root@localhost ~]# yum install GCc gcc-c++ make -y  ##安装环境组件
[root@localhost ~]# mkdir /mnt/tools
[root@localhost ~]# mount.cifs //192.168.100.100/tools /mnt/tools/  ##挂载
PassWord for root@//192.168.100.100/tools:  
[root@localhost ~]# cd /mnt/tools/redis/
[root@localhost redis]# ls
redis-5.0.7.tar.gz
[root@localhost redis]# tar xf redis-5.0.7.tar.gz -C /opt/  ##解压
[root@localhost redis]# cd /opt/
[root@localhost opt]# ls
redis-5.0.7  rh
[root@localhost opt]# cd redis-5.0.7/
[root@localhost redis-5.0.7]# make  ##编译
[root@localhost redis-5.0.7]# make PREFIX=/usr/local/redis/ install  ##安装
[root@localhost redis-5.0.7]# cd utils/
[root@localhost 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
##可执行文件路径
Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/redis/bin/redis-server
Cli Executable : /usr/local/redis/bin/redis-cli
Is this ok? Then press ENTER to Go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
[root@localhost utils]# ln -s /usr/local/redis/bin/* /usr/local/bin/   ##便于系统识别
[root@localhost utils]# netstat -ntap | grep 6379
tcp    0    0 127.0.0.1:6379      0.0.0.0:*      LISTEN   44510/redis-server 

2、在两台服务器上修改配置文件(操作相同,只演示一台)

[root@localhost utils]# vim /etc/redis/6379.conf 
#bind 127.0.0.1          ##注释第70行的监听127地址,已监听所有地址
protected-mode no     ##去掉第89行注释关闭安全保护
port 6379                   ##去掉第93行注释,开启端口6379
daemonize yes          ##去掉第137行注释,以独立进程启动
cluster-enabled yes   ##去掉第833行注释,开启群集功能
cluster-config-file nodes-6379.conf  ##去掉第841行注释,群集名称文件设置
cluster-node-timeout 15000             ##去掉第847行注释,群集超时时间设置
appendonly yes                                ##去掉第700行注释,开启aof持久化
[root@localhost utils]# /etc/init.d/redis_6379 restart   ##重启服务
Stopping ...
Redis stopped
Starting Redis server...
[root@localhost utils]# cd /var/lib/redis/6379/
[root@localhost 6379]# ls
appendonly.aof  dump.rdb  nodes-6379.conf   ##生成aof,rdb和节点文件

3、在主服务器上安装rvm,Ruby控制群集软件(只在主服务器)

[root@localhost utils]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
##导入key文件
gpg: 已创建目录‘/root/.gnupg’
gpg: 新的配置文件‘/root/.gnupg/gpg.conf’已建立
gpg: 警告:在‘/root/.gnupg/gpg.conf’里的选项于此次运行期间未被使用
gpg: 钥匙环‘/root/.gnupg/secring.gpg’已建立
gpg: 钥匙环‘/root/.gnupg/pubring.gpg’已建立
gpg: 下载密钥‘D39DC0E3’,从 hkp 服务器 keys.gnupg.net
gpg: /root/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 D39DC0E3:公钥“Michal Papis (RVM signing) <mpapis@gmail.com>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:           已导入:1  (RSA: 1)
[root@localhost utils]# curl -sSL https://get.rvm.io | bash -s stable ##安装rvm
........................//省略过程
[root@localhost utils]# source /etc/profile.d/rvm.sh  ##执行环境变量
[root@localhost utils]# rvm list known   ##列出ruby可以安装的版本
[root@localhost utils]# rvm install 2.4.1  ##安装2.4.1 版本
[root@localhost utils]# rvm use 2.4.1  ##使用rubyruby2.4.1 版本
Using /usr/local/rvm/gems/ruby-2.4.1
[root@localhost utils]# ruby -v   ##查看当前ruby2.4.1 版本
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
[root@localhost utils]# gem install redis  #再次安装Redis
Fetching redis-4.1.3.gem
Successfully installed redis-4.1.3
Parsing documentation for redis-4.1.3
Installing ri documentation for redis-4.1.3
Done installing documentation for redis after 1 seconds
1 gem installed
[root@localhost utils]# 

4、在主服务器上添加两块网卡

缓存数据库Redis——Redis群集部署

[root@localhost utils]#  service network restart   ##重启网卡
[root@localhost utils]#  systemctl stop firewalld.service   ##关闭防火墙
[root@localhost utils]#  setenforce 0
[root@localhost utils]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.150  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::5134:22f5:842b:5201  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:0d:f1:75  txqueuelen 1000  (Ethernet)
        RX packets 91575  bytes 119014065 (113.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28442  bytes 2443621 (2.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.153  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::84f1:53D8:a97a:d450  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:0d:f1:89  txqueuelen 1000  (Ethernet)
        RX packets 128  bytes 18873 (18.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 42  bytes 6253 (6.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.154  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::74f5:2344:c59b:4fdb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:0d:f1:7f  txqueuelen 1000  (Ethernet)
        RX packets 107  bytes 16849 (16.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29  bytes 4601 (4.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5、在从服务器上也添加两块网卡

缓存数据库Redis——Redis群集部署

[root@slave utils]# service network restart   ##重启网卡
[root@slave utils]# systemctl stop firewalld.service   ##关闭防火墙
[root@slave utils]# setenforce 0
[root@localhost utils]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.148  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::c776:9d00:618:88f2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:37:e9:25  txqueuelen 1000  (Ethernet)
        RX packets 65481  bytes 86357533 (82.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21069  bytes 1892475 (1.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.155  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::d3e5:cd6b:26f8:fd1f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:37:e9:39  txqueuelen 1000  (Ethernet)
        RX packets 143  bytes 17342 (16.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 38  bytes 5940 (5.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.156  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::222b:77ad:8da2:4ea6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:37:e9:2f  txqueuelen 1000  (Ethernet)
        RX packets 114  bytes 14481 (14.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 30  bytes 4661 (4.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

6、在master服务器上创建集群

##6个实例分为三组,每组一主一从
[root@localhost utils]# redis-cli --cluster create 192.168.52.150:6379 192.168.52.153:6379 192.168.52.154:6379 192.168.52.148:6379 192.168.52.155:6379 192.168.52.156: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.52.155:6379 to 192.168.52.150:6379
Adding replica 192.168.52.156:6379 to 192.168.52.153:6379
Adding replica 192.168.52.148:6379 to 192.168.52.154:6379
M: b9dfae79d92141a7bad172a344e0696f356a875f 192.168.52.150:6379
   slots:[0-16383] (5461 slots) master    ##128,129,135为主
M: b9dfae79d92141a7bad172a344e0696f356a875f 192.168.52.153:6379
   slots:[0-16383] (5462 slots) master
M: b9dfae79d92141a7bad172a344e0696f356a875f 192.168.52.154:6379
   slots:[0-16383] (5461 slots) master
S: ebc69ee01cf293b3af9930cac2dba03b4475336b 192.168.52.148:6379
   replicates b9dfae79d92141a7bad172a344e0696f356a875f  ##136,137,138为副本
S: ebc69ee01cf293b3af9930cac2dba03b4475336b 192.168.52.155:6379
   replicates b9dfae79d92141a7bad172a344e0696f356a875f
S: ebc69ee01cf293b3af9930cac2dba03b4475336b 192.168.52.156:6379
   replicates b9dfae79d92141a7bad172a344e0696f356a875f
...
Can I set the above configuration? (type 'yes' to accept): yes  ##选择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.52.150:6379)
M: b9dfae79d92141a7bad172a344e0696f356a875f 192.168.52.150:6379
   slots:[0-16383] (16384 slots) master
   1 additional replica(s)
S: ebc69ee01cf293b3af9930cac2dba03b4475336b 192.168.52.155:6379
   slots: (0 slots) slave
   replicates b9dfae79d92141a7bad172a344e0696f356a875f
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@localhost utils]#

7、验证群集读写原理

[root@localhost utils]# redis-cli -h 192.168.52.150 -p 6379   ##主服务器
192.168.52.150:6379> set name zhangsan   ##创建键值对
OK 
192.168.52.150:6379> keys *
1) "name"
192.168.52.150:6379> get name
"zhangsan"
192.168.52.150:6379> exit
[root@localhost utils]# redis-cli -h 192.168.52.148 -p 6379   ##从服务器
192.168.52.148:6379> keys *    ##查看从上也有
1) "name"
192.168.52.148:6379> get name
"zhangsan"
192.168.52.148:6379> exit
[root@localhost utils]#  
您可能感兴趣的文档:

--结束END--

本文标题: 缓存数据库Redis——Redis群集部署

本文链接: https://www.lsjlt.com/news/37391.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 缓存数据库Redis——Redis群集部署
    实验环境 用两台服务器模拟6台服务器(添加网卡) 主服务器Redis1: ens33: 192.168.52.150 ens36: 192.168.52.153 ens37: ...
    99+
    2022-10-18
  • 缓存数据库Redis——Redis部署与配置
    关系型数据库与非关系型数据库 关系型数据库: 一个机构化的数据库,创建在关系模型基础上,一般面向于记录包括oracle、mysql、sqlserver、db2 非关系型数据库: 除了主流的关系型数据库...
    99+
    2022-10-18
  • Redis群集部署详解
    博文大纲:一、Redis群集相关概念二、部署Redis群集 1、部署环境 2、配置Redis实例 3、配置node06主机的多Redis实例 4、主机node01安装配置ruby的运行环境,便于管理Re...
    99+
    2022-10-18
  • Redis集群部署方法
    本篇内容介绍了“Redis集群部署方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • redis如何部署集群
    这篇文章主要介绍“redis如何部署集群”,在日常操作中,相信很多人在redis如何部署集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis如何部署集群”的疑惑有所帮...
    99+
    2022-10-19
  • 怎么部署redis集群
    要部署Redis集群,您可以按以下步骤进行操作:1. 安装Redis:在每个节点上安装Redis服务器。您可以从Redis官方网站上...
    99+
    2023-08-31
    redis
  • k8s如何部署redis集群
    这篇文章主要讲解了“k8s如何部署redis集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“k8s如何部署redis集群”吧!redis集群搭建1.1使用redis-cli创建集群#&nb...
    99+
    2023-07-05
  • docker怎么部署redis集群
    要部署 Redis 集群,可以使用 Docker 来简化部署过程。以下是一个基本的步骤:1. 创建 Redis 集群配置文件你可以创...
    99+
    2023-09-22
    docker redis
  • Redis Cluster集群部署搭建
    在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉。Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品。今天,就分享一下安装Redis集群的过程...
    99+
    2022-10-18
  • Windows环境部署Redis集群
    一、准备文件 1.下载Redis for windows 的最新版本  下载地址:https://github.com/MSOpenTech/redis/releases 安装到 c:Redis 目录下(R...
    99+
    2022-06-04
    集群 环境 Windows
  • Docker中redis集群部署实战
    目录环境准备安装gcc-c++查看版本创建Redis网卡创建6个redis服务在/var目录下创建脚本文件create_redis_script.sh编写脚本内容查看脚本文件赋予create_redis_script.s...
    99+
    2022-11-27
    Docker中redis集群部署 docker搭建redis集群 docker安装redis集群
  • redis怎么用docker部署集群
    要使用Docker部署Redis集群,您可以按照以下步骤进行操作:1. 首先,您需要确保已经安装了Docker和Docker Com...
    99+
    2023-08-30
    redis docker
  • Redis集群分片环境部署
    原理 集群技术是构建高并发网站的主要技术,访问网站的最大压力是在访问某个页面时,需要时查询数据库并相应,Redis从3.0版本以后开始支持集群功能了,要让集群正常工作至少得有三个主节点。Redis集群是基于...
    99+
    2022-10-18
  • Redis常用命令集,清空redis缓存数据库
    清空数据库:flushdb   // 清除当前数据库的所有keysflushall    // 清除所有数据库的所有keysRedis常用命令集,清空redis缓存数据库1)连...
    99+
    2022-10-18
  • k8s部署redis cluster集群的实现
    目录Redis 介绍为什么要用Redis什么是Redis Cluster集群k8s以StatefulSet方式部署redis cluster集群:部署nfs创建pv部署redis初始...
    99+
    2022-11-12
  • 如何部署redis分布式集群
    Redis集群架构图上图蓝色为redis集群的节点。节点之间通过ping命令来测试连接是否正常,节点之间没有主区分,连接到任何一个节点进行操作时,都可能会转发到其他节点。1、Redis的容错机制节点之间会定...
    99+
    2022-10-18
  • 如何在K8s上部署Redis集群
    这篇文章将为大家详细讲解有关如何在K8s上部署Redis集群,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言 架构原理:每个Master都可以拥有多个Slave。当...
    99+
    2022-10-18
  • 如何部署Redis 4.0集群环境
    本篇内容主要讲解“如何部署Redis 4.0集群环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何部署Redis 4.0集群环境”吧!实验环境: Red...
    99+
    2022-10-19
  • 3.redis集群部署3主3从
    redis集群部署 一:安装redis (使用redis3.0.6版本),同《1.redis安装》1.下载源码$ tar xzf redis-3.0.6.tar.gz$ cd redis-3.0.6$ make   2、编译完成后,在Src...
    99+
    2023-01-31
    集群 redis
  • Redis之sentinel哨兵集群怎么部署
    本文小编为大家详细介绍“Redis之sentinel哨兵集群怎么部署”,内容详细,步骤清晰,细节处理妥当,希望这篇“Redis之sentinel哨兵集群怎么部署”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作