Redis学习之CentOS7.4下部署Redis 6.0.5集群

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis学习之CentOS7.4下部署Redis 6.0.5集群

集群版本和环境

Redis集群要求至少3个主节点3个从节点,共计6个节点。
操作系统 CentOS 7.4
Redis版本 6.0.5
主节点
192.168.239.143 7000
192.168.239.147 7000
192.168.239.149 7000
从节点
192.168.239.143 7001
192.168.239.147 7001
192.168.239.149 7001

修改系统配置

关闭NetworkManager
[root@localhost ~]# systemctl disable NetworkManager --关闭自启动
[root@localhost ~]# systemctl stop NetworkManager
[root@localhost ~]# systemctl status NetworkManager

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service --关闭自启动
firewall-cmd --state

vi /etc/selinux/config

SELINUX=disabled

安装依赖包

安装gcc套装

yum install -y cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make

升级gcc

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

设置永久升级

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

创建Redis节点

1.创建Redis目录并解压
mkdir /redis
tar xzf redis-6.0.5.tar.gz
2.安装Redis
cd /redis/redis-6.0.5
make install
3.创建节点目录
cd /redis/redis-6.0.5
mkdir cluster
cd cluster
mkdir 7000 7001
4.修改Redis配置文件
以192.168.239.143为例,其他节点步骤相同
将配置文件拷贝到创建好的端口文件夹下
cp /redis/redis-6.0.5/redis.config /redis/redis-6.0.5/cluster/7000
cp /redis/redis-6.0.5/redis.config /redis/redis-6.0.5/cluster/7001
每个节点的主从节点都需要配置文件
主:
port 7000
bind 192.168.239.143
cluster-enabled yes
cluster-config-file nodes_7000.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
logfile "/redis/redis-6.0.5/cluster/redis_7000.log"
pidfile /var/run/redis_7000.pid

从:
port 7001
bind 192.168.239.143
cluster-enabled yes
cluster-config-file nodes_7001.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
logfile "/redis/redis-6.0.5/cluster/redis_7001.log"
pidfile /var/run/redis_7001.pid

5.启动Redis节点服务
redis-server /redis/redis-6.0.5/cluster/7000/redis.conf
redis-server /redis/redis-6.0.5/cluster/7001/redis.conf

创建Redis集群

目前为止,我们已经创建了Redis节点并且启动服务,接下来就要创建Redis集群了。在Redis 6中,使用redis-cli命令来创建,其中--cluster-replicas 1的意思是每个主节点需要1个从节点。
例如:
redis-cli --cluster create 192.168.239.143:7000 192.168.239.147:7000 \
192.168.239.149:7000 192.168.239.143:7001 192.168.239.147:7001 \
192.168.239.149:7001 --cluster-replicas 1

我们最初的目标是创建3个主节点加3个从节点的集群,显然这条命令并没有指定哪些主哪些是从,其实在执行后,Redis会建议主从节点的分配,M表示主(Master)节点,S表示从(Slave)节点,你只要选择yes即可。

验证Redis集群

redis-cli -c -h 192.168.239.143 -p 7000
192.168.239.143:7000> set foo bar
-> Redirected to slot [12182] located at 192.168.239.147:7000
OK
192.168.239.147:7000> set hello world
-> Redirected to slot [866] located at 192.168.211.143:7000
OK
192.168.211.143:7000> get foo
-> Redirected to slot [12182] located at 192.168.239.147:7000
"bar"
192.168.239.147:7000> get hello
-> Redirected to slot [866] located at 192.168.211.143:7000
"world"
从结果可以看出来,创建的键被分配到了不同节点的slots中,说明了集群运行正常。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
23天前
|
Kubernetes NoSQL Redis
k8s快速部署Redis单机
k8s快速部署Redis单机
|
19天前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
177 80
|
18天前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
118 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
18天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
19天前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
53 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
18天前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
53 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
23天前
|
Linux 数据安全/隐私保护 网络虚拟化
centos7部署Pritunl
centos7部署Pritunl
|
23天前
|
Linux 数据安全/隐私保护 虚拟化
centos7部署openVPN
centos7部署openVPN
|
4月前
|
机器学习/深度学习 NoSQL Redis
Redis高可用之集群架构(第三部分)
Redis高可用之集群架构(第三部分)
|
11月前
|
Kubernetes NoSQL Redis
教你在 Kubernetes 上部署 Redis 高可用集群?
教你在 Kubernetes 上部署 Redis 高可用集群?
161 0