Redis 群集部署

2024-03-01 15:12
文章标签 部署 redis 群集

本文主要是介绍Redis 群集部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.关系型数据库

关系型数据库是一个结构化的数据库,创建在关系模型基础上,-般面向记录。它借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。现实世界中.各种实体与实体之间的各种联系都可以用关系模型来表示。SQL(Structured Query Language,结构化查询语言〉语句就是一种基于关系型数据库的语言.用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括Oracle,MySQL、SQL Server、Microsoft Access、DB2等。

2.非关系型数据库

NoSQL(NoSQL= Not Only SQL ),意思是“不仅仅是SQL.”,是非关系型数据库的总称。主流的NoSQL 数据库有Redis、 MangBD、Hbase、CouhDB等。以上这些数据库,它们的存储方式、存储结构以及使用的场景都是完全不同的.所以我们认为它是一个非关系型数据库的集合.而不是像关系型数据库一样.是一个统称。换言之,主流的关系型数据库以外的数据库,都是非关系型的。NoSQL数据库凭借着其非关系型.分布式.开源和横向扩展等优势,被认为是下一代数据库产品.

1. Redis简介

Redis 是一个开源的、使用C语言编写.支持网络.可基于内存亦可持久化的日志型、key-value(键值对)数据库,是目前分布式架构中不可或缺的一环。

Redis 服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程.而Redis的实际处理速度则完全依靠于主进程的执行效率.若在服务器上只运行一个Redis进程,当多个客户

端同时访问时.服务器的处理能力会有--定程度的下降,若在同一台服务器上开启多个Redis进程.Redis 在提高并发处理能力的同时会给服务器的CPU造成很大压力。也就是说,在实际生产环境中.需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些.可能会考虑在同一台服务器上开启多个进程:若CPU资源比较紧张,采用单进程即可。

Redis 具有以下几个优点。

       具有极高的数据读写速度,数据读取的速度最高可达到110000次/s,数据写入速度最高可达到81000次/s。

      支持丰富的数据类型.不仅仅支持简单的key一value数据类型.还支持Strings、Lists、Hashes,Sets 及 Ordered Sets等数据类型操作。

       支持丰富的数据类型.不仅仅支持简单的key一value数据类型.还支持Strings、Lists、Hashes,Sets 及 Ordered Sets等数据类型操作。

        原子性,Redis所有操作都是原子性的。

        支持数据备份,即master一salve模式的数据备份。

部署配置实验

实验环境

虚拟机 6台 centos7.9

网卡NAT模式 数量 1

组件包Redis安装包

设备

IP

备注

Centos01

192.168.9.31

Node1

Centos02

192.168.9.32

Node2

Centos03

192.168.9.33

Node3

Centos04

192.168.9.34

Node4

Centos05

192.168.9.35

Node5

Centos06

192.168.9.36

Node6

初始配置

关闭防火墙关闭Selinux

Systemctl disable firewalld --now

关闭Selinux

setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

配置IP DNS 网关

nmtui

上传Redis安装包

安装组件

yum -y install gcc vim net-tools

解压到/usr/src/ 目录下

[root@node2 ~]# tar zxf redis-7.2.4.tar.gz -C /usr/src/

进入解压目录进行编译安装

cd /usr/src/redis-7.2.4/make && make install

Redis操作命令关联系统

[root@node2 redis-7.2.4]# ln -s src/* /usr/sbin/

创建群集配置目录

mkdir cluster mkdir cluster/6001 
cp redis.conf cluster/6001
mkdir cluster/6002
cp redis.conf cluster/6002
mkdir cluster/6003
cp redis.conf cluster/6003
mkdir cluster/6004
cp redis.conf cluster/6004
mkdir cluster/6005
cp redis.conf cluster/6005
mkdir cluster/6006
cp redis.conf cluster/6006

分别修改

vim cluster/6001/redis.confbind 192.168.160.51           #将127.0.0.1修改对应节点IP
protected-mode no			#将yes 修改no关闭保护功能
port 6001					#将6379端口修改对应目录的
daemonize yes				#将no 修改yes 开启守护进程
cluster-enabled yes			#将 #删除 开启群集功能
cluster-config-file nodes-6379.conf #将 #删除 开启群集配置文件
cluster-node-timeout 15000		#将 #删除 开启群集节点超时

将群集目录 cluster 复制到其它节点

tar zcf cluster-dir.tar.gz cluster

每个节点 启动redis服务 不同节点变换目录 cluster/6002

redis-server cluster/6001/redis.conf

查询启动进程

ps  -aux

创建群集 仅在node 1 操作

yum -y install ruby ruby-devel rpm-buildredis-cli --cluster create 192.168.9.31:6001 192.168.9.32:6002 192.168.9.33:6003 192.168.9.34:6004 192.168.9.35:6005 192.168.9.36:6006 --cluster-replicas 1

验证测试验证测试

redis-cli -h 192.168.160.51 -p 6001 -c

cluster slots

这篇关于Redis 群集部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762892

相关文章

UnrealScriptIDE调试环境部署

先安装vs2010   再安装VSIsoShell.exe, 下载地址 https://pan.baidu.com/s/10kPNUuDGTbWXbz7Nos-1WA       fd3t   最后安装unside,下载地址 https://archive.codeplex.com/?p=uside  安装中间有一步选择Binary文件夹要选对路径。   安装好以后,启动 UDKDe

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

为什么要做Redis分区和分片

Redis分区(Partitioning)和分片(Sharding)是将数据分布在多个Redis实例或多个节点上的做法。这种技术用于提高性能、可扩展性和可用性。以下是执行Redis分区和分片的主要原因: 1. **提高吞吐量**:    - 通过将数据分散到多个节点,可以并行处理更多的操作,从而提高整体吞吐量。 2. **内存限制**:    - 单个Redis实例的内存是有限的。分区允许数据

如何理解redis是单线程的

写在文章开头 在面试时我们经常会问到这样一道题 你刚刚说redis是单线程的,那你能不能告诉我它是如何基于单个线程完成指令接收与连接接入的? 这时候我们经常会得到沉默,所以对于这道题,笔者会直接通过3.0.0源码分析的角度来剖析一下redis单线程的设计与实现。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是开源

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:

宝塔面板部署青龙面板教程【简单易上手】

首先,你得有一台部署了宝塔面板的服务器(自己用本地电脑也可以)。 宝塔面板部署自行百度一下,很简单,这里就不走流程了,官网版本就可以,无需开心版。 首先,打开宝塔面板的软件商店,找到下图这个软件(Docker管理器)安装,青龙面板还是安装在docker里,这里依赖宝塔面板安装和管理docker。 安装完成后,进入SSH终端管理,输入代码安装青龙面板。ssh可以直接宝塔里操作,也可以安装ssh连接

Redis-在springboot环境下执行lua脚本

文章目录 1、什么lua2、创建SpringBoot工程3、引入相关依赖4、创建LUA脚本5、创建配置类6、创建启动类7、创建测试类 1、什么lua “Lua”的英文全称是“Lightweight Userdata Abstraction Layer”,意思是“轻量级用户数据抽象层”。 2、创建SpringBoot工程 3、引入相关依赖 <?xml version

手把手教你入门vue+springboot开发(五)--docker部署

文章目录 前言一、前端打包二、后端打包三、docker运行总结 前言 前面我们重点介绍了vue+springboot前后端分离开发的过程,本篇我们结合docker容器来研究一下打包部署过程。 一、前端打包 在VSCode的命令行中输入npm run build可以打包前端代码,出现下图提示表示打包完成。 打包成功后会在前端工程目录生成dist目录,如下图所示: 把

[Centos7] 部署Zabbix5.0

目录 0 卸载 Zabbix1 准备工作1.1 关闭防火墙1.2 关闭SELinux1.3 重启服务器1.4 安装MySQL 2 配置 Zabbix yum 源2.1 安装zabbix的软件仓库配置包2.2 安装 Software Collections 仓库2.3 修改 Zabbix 仓库配置文件 3 安装 Zabbix3.1 遇到报错Requires: libmysqlclient.so

redis切换数据库的方法【jedis】

package com.test;import redis.clients.jedis.Jedis;public class readredis {public static void main(String[] args) {// 连接本地的 Redis 服务Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.select(10);String v