Redis4集群安装部署实战

redis服务器的集群主从配置,从redis的安装到实例开启,到集群创建。集群配置如图:

Redis集群优点摘自官网

So in practical terms, what you get with Redis Cluster? The ability to automatically split your dataset among multiple nodes. The ability to continue operations when a subset of the nodes are experiencing failures or are unable to communicate with the rest of the cluster.

1.安装redis,下载Redis并编译

在三台服务器上分别安装redis,进行如下操作:

ubuntu需要安装 sudo apt install tcl8.6

$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
$ tar xzf redis-4.0.1.tar.gz
$ cd redis-4.0.1
$ make
$ mv /opt/
$ make test

2.集群文件配置

resdis集群整体架构

三台服务器,配置如上图,在每台服务器上配置如下(以服务器3为列)

$ /opt/redis-4.0.1# mkdir redis-cluster

$ /opt/redis-4.0.1# mkdir redis-cluster/nodes-7004
$ /opt/redis-4.0.1# mkdir redis-cluster/nodes-7005

$ /opt/redis-4.0.1# cp redis.conf redis-cluster/nodes-7004
$ /opt/redis-4.0.1# cp redis.conf redis-cluster/nodes-7005

依次配置redis.conf(以nodes-7005为列)

$ /opt/redis-4.0.1# vim redis-cluster/nodes-7005/redis.conf
port 7005 #在不同的服务器和nodes-xx中,端口也不同
cluster-enabled yes
bind 10.80.67.238
# daemonize yes #redis后台运行
cluster-config-file nodes-7005.conf
cluster-node-timeout 5000
appendonly yes

3.依次启动redis实例

src/redis-server redis-cluster/nodes-7000/redis.conf

后台启动

nohup src/redis-server redis-cluster/nodes-7000/redis.conf > redis-cluster/nodes-7000/redis-server.out 2>&1 &

nohup(no hang up) 不挂起,后台运行程序。并将输出信息重定向到redis-cluster/nodes-7000/redis-server.out 如何关闭? 查看pidps aux | grep redis关闭进程kill -9 pid

每个redis实例都有独立唯一都id,启动和关闭不会改变id。如上依次开启6个redis实例。

4.创建集群

只需在redis-cluster1服务器上操作

仅需要在redis-cluster1服务器上安装gem redis (为来redis-trib可以执行),其他服务器不用。

gem install redis #默认安装的版本上3.3(无所谓)

开启集群

src/redis-trib.rb create --replicas 1 10.80.67.225:7000 10.80.67.225:7001 10.80.67.230:7002 10.80.67.230:7003 10.80.67.238:7004 10.80.67.238:7005

Can I set the above configuration? (type 'yes' to accept):输入yes

集群创建完成,运行正常。

[OK] All 16384 slots covered.意味着集群中的16384个槽至少有一个主节点在处理。

参考Redis集群官方文档

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

webvirtmgr-重命名kvm虚拟机的名称

之前部署了Webvirtmgr平台管理kvm虚拟机,由于虚拟机在创建时名称是顺便起的,后续在虚拟机上部署了部分业务。为了便于管理,最好将虚拟机的名称重置下。 现...

32680
来自专栏用户2442861的专栏

命令ln的使用 以及 查看软件是否安装

这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件或目录在另外一个位置建立一个同步的链接,类似Windows下的超级链接。 这个命...

32210
来自专栏用户画像

4.4 文件系统疑难点 3-4

为了创建一个文件,应用程序调用逻辑文件系统。逻辑文件系统知道目录结构形式。它将分配一个新的FCB给文件,把相应目录读入内存,用新的文件名更新该目录和FCB,并将...

8410
来自专栏地方网络工作室的专栏

Shell 从日志文件中选择时间段内的日志输出到另一个文件

Shell 从日志文件中选择时间段内的日志输出到另一个文件 情况是这样的,某系统的日志全部写在一个日志文件内,所以这个文件非常大,非常长,每次查阅的时候非常的不...

24280
来自专栏XAI

修改UCenter用户名长度限制的方法php程序和数据库修改

做了discuz api for java  第三方应用项目的注册登陆。 但是在修改用户名长度的时候。出现了小bug。找到解决发现是自身原因。 ? 在discu...

291100
来自专栏我有一个梦想

Python 项目实践三(Web应用程序)第二篇

接着上节的继续学习,使用Django创建网页的过程通常分三个阶段:定义URL、编写视图和编写模板。首先,你必须定义URL模式,每个URL都被映射到特定的视图——...

332100
来自专栏玄魂工作室

CTF实战12 任意文件包含漏洞

该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关

20030
来自专栏电光石火

windows下安装redis

1、redis简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、lis...

21670
来自专栏DeveWork

WordPress 显示数据库查询次数、查询时间及内存占用的代码

如果对进行过WordPress 性能优化,需要一个直观简单的查看方式的话,那么就可以使用下面所提及的代码,通过这段代码,可以在直观或者在html 源代码查看数据...

211100
来自专栏Hongten

Linux 学习_ssh(secure shell)

ssh(secure shell)是一款集远程操作linux和进行文件上传和下载的软件,

21820

扫码关注云+社区

领取腾讯云代金券