前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Redis-5.0.5集群部署

Redis-5.0.5集群部署

作者头像
染指流年
发布于 2023-03-13 08:16:53
发布于 2023-03-13 08:16:53
33600
代码可运行
举报
文章被收录于专栏:Mr.WangMr.Wang
运行总次数:0
代码可运行
  • 环境介绍
    • 系统:CentOS7.6
    • 采用三主三从方式

主机

ip地址

端口

redis-1

10.110.10.3

6379、6380、6381

redis-2

10.110.10.4

6382、6383、6384

1.创建安装目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /usr/local/redis

2.安装依赖包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y install ruby ruby-devel rubygems rpm-build tcl gcc

3.解压源码包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zxvf   redis-5.0.5.tar.gz
cd  redis-5.0.5

4.编译&编译测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make && make test
All tests passed without errors!
Cleanup: may take some time... OK
没有错误,test 测试ok!

5.redis比较特殊,在这里指定安装路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 src]$ make install PREFIX=/usr/local/redis

6.安装后在bin下有如下文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 src]$ ls -ahl /usr/local/redis/bin
-rwxr-xr-x. 1 root root 353824 Oct 17 17:09 redis-benchmark  #redis性能测试工具启动,测试redis在你的系统及你的配置下的读写性能
-rwxr-xr-x. 1 root root 4045352 Oct 17 17:09 redis-check-aof #更新aof日志检查
-rwxr-xr-x. 1 root root 4045352 Oct 17 17:09 redis-check-rdb #本地数据库检查
-rwxr-xr-x. 1 root root 794384 Oct 17 17:09 redis-cli        #命令行操作工具(即客户端)
lrwxrwxrwx. 1 root root 12 Oct 17 17:09 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 4045352 Oct 17 17:09 redis-server    #redis服务器的daemon启动程序

7.配置环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 redis]$ echo 'export PATH=$PATH:/usr/local/redis/bin' >> /etc/profile
[root@redis-1 redis]$ source /etc/profile
[root@redis-1 redis]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/redis/bin

8.查看redis启动方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 redis]$ redis-server --help
Usage: ./redis-server [/path/to/redis.conf] [options]
./redis-server - (read config from stdin)
./redis-server -v or --version
./redis-server -h or --help
./redis-server --test-memory

9.拷贝安装包目录下的配置文件到安装目录的conf目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 redis]$ cd /opt/redis-5.0.5
[root@redis-1 redis-5.0.5]$ mkdir -p /usr/local/redis/conf
[root@redis-1 redis-5.0.5]$ cp redis.conf /usr/local/redis/conf

10.创建 Redis 节点

  • 在/usr/local/redis_cluster目录下,创建各节点的目录为6379、6380、6381
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 ~]$ cd /usr/local/redis_cluster/
[root@redis-1 redis_cluster]$ mkdir 6379 6380 6381

11.拷贝配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 redis_cluster]$ cp /data/software/redis/redis-5.0.5/redis.conf /usr/local/redis_cluster/6379
[root@redis-1 redis_cluster]$ cp /data/software/redis/redis-5.0.5/redis.conf /usr/local/redis_cluster/6380
[root@redis-1 redis_cluster]$ cp /data/software/redis/redis-5.0.5/redis.conf /usr/local/redis_cluster/6381

12.修改配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
port 6379                            #修改端口为637963806381
bind 0.0.0.0                         #改为其他节点机器可访问的ip,本机ip
daemonize no                         #设置为yes,使redis在后台运行
pidfile /var/run/redis_6379.pid      #修改端口为637963806381
#cluster-enabled yes                 #开启集群 把注释#去掉
#cluster-config-file nodes-6379.conf #集群的配置,把注释#去掉,并改为对应的6379,6380,6381
cluster-node-timeout 15000           #请求超时,默认15秒,可自行设置
masterauth test@2018                 #设置auth认证密码
requirepass test@2018                #设置auth认证密码,这两个都要写。

13.启动各个节点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 ~]$ /usr/local/redis/bin/redis-server /usr/local/redis_cluster/6379/redis.conf
12478:C 17 Oct 2019 22:15:41.209 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12478:C 17 Oct 2019 22:15:41.209 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=12478, just started
12478:C 17 Oct 2019 22:15:41.209 # Configuration loaded
[root@redis-1 ~]$ /usr/local/redis/bin/redis-server /usr/local/redis_cluster/6380/redis.conf
[root@redis-1 ~]$ /usr/local/redis/bin/redis-server /usr/local/redis_cluster/6381/redis.conf

14.查看进程是否存在

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-1 redis_cluster]$ ps -ef | grep redis
root 12479 1 0 22:15 ? 00:00:00 /usr/local/redis/bin/redis-server 10.110.10.3:6379 [cluster]
root 12484 1 0 22:15 ? 00:00:00 /usr/local/redis/bin/redis-server 10.110.10.3:6380 [cluster]
root 12503 1 0 22:19 ? 00:00:00 /usr/local/redis/bin/redis-server 10.110.10.3:6381 [cluster]

15.根据以上方法同样部署redis-2,然后启动各个节点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@redis-2 redis_cluster]$ ps -ef |grep redis
root 23225 1 0 22:43 ? 00:00:00 /usr/local/redis/bin/redis-server 10.110.10.4:6382 [cluster]
root 23230 1 0 22:43 ? 00:00:00 /usr/local/redis/bin/redis-server 10.110.10.4:6383 [cluster]
root 23235 1 0 22:43 ? 00:00:00 /usr/local/redis/bin/redis-server 10.110.10.4:6384 [cluster]
root 23240 18761 0 22:43 pts/2 00:00:00 grep --color=auto redis

16.创建集群

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@api-1 redis_cluster]$ redis-cli --cluster  create 10.110.10.3:6379 10.110.10.3:6380 10.110.10.3:6381 10.110.10.4:6382 10.110.10.4:6383 10.110.10.4:6384 --cluster-replicas 1 -a test@2018
Can I set the above configuration? (type 'yes' to accept):yes  #注意这里一定要输入  “yes” 全拼
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
  • 集群搭建结束!
  • 注意事项:
    • 1.关闭redis集群不能直接kill掉进程,或者关机
    • 2.我们要通过命令 redis-cli -a test@2018 -p 6380 shutdown 进行关闭,这样在关闭之前,数据才能够进行保存。

17.查看集群状态

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis-cli -a test@2018 --cluster check 10.110.10.3:6381  #这里可以写任意一个节点
或:
127.0.0.1:6381> cluster info
cluster_state:ok                             #所有slots正常则显示为OK,否则为error
cluster_slots_assigned:16384                 #多少slots被分配了,即多少被master管理了,16384为全部slots
cluster_slots_ok:16384                       #有多少slots是正常的
cluster_slots_pfail:0                        #有多少slots可能处于异常状态,处于这个状态并不表示有问题,仍能继续提供服务
cluster_slots_fail:0                         #有多少slots处于异常状态,需要修复才能服务
cluster_known_nodes:6                        #集群中的节点数
cluster_size:3                               #集群中master个数
cluster_current_epoch:6                      #本地的当前时间变量,用于故障切换时生成独一无二的增量版本号
cluster_my_epoch:2
cluster_stats_messages_ping_sent:251
cluster_stats_messages_pong_sent:240
cluster_stats_messages_meet_sent:3
cluster_stats_messages_sent:494              #通过集群消息总线发送的消息总数
cluster_stats_messages_ping_received:238
cluster_stats_messages_pong_received:254
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:494          #通过集群消息总线收到的消息总数
127.0.0.1:7004> 
  • 几种常见的redis集群启动警告信息处理
    • 问题一:WARNING overcommit_memory is set to 0!
      • 三种处理方法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      1. echo "vm.overcommit_memory=1" >>/etc/sysctl.conf && sysctl -p
      2. sysctl vm.overcommit_memory=1
      3. echo "1" > /proc/sys/vm/overcommit_memory
  • 问题二:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel.
    • 处理方法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      echo "never" > /sys/kernel/mm/transparent_hugepage/enabled 并将其添加到/etc/rc.local,以便在重新启动后保留设置
  • 问题三:WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    • 处理方法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      [root@redis-1 ~]$ echo "511" > /proc/sys/net/core/somaxconn
      [root@redis-1 ~]$ echo -e “net.core.somaxconn=1024>> /etc/sysctl.conf
      [root@redis-1 ~]$ sysctl -p
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Redis数据库集群搭建 | 实践篇
前言 理论不多说了,图书馆又快要关门了。 -- 课设需要的环境,搭建记录分享! 还是说一句吧!redis跑内存的数据库,是解决数据交互高并发的解决方案。 ---- 场景 服务器系统:ubuntu 14.04 redis版本:redis 3.2.8 说明:为了方便我只在一台机器模拟多台主机 端口:6379、6380、6381、6382、6383、6384 ---- 下载Redis Redis官网,自行下载最新稳定版本。 wget -c http://download.redis.io/rele
AlicFeng
2018/06/08
7020
Redis从单机到集群,一步步教你环境部署以及使用
Redis作为缓存系统来说还是很有价值的,在大数据方向里,也是需要有缓存系统的。一般可以考虑tachyon或者redis,由于redis安装以及使用更简单,所以还是优先考虑了它。那么在一些场景下为了保证数据的可靠性,就需要采用集群的模式部署,因此本篇文章就基于Redis Cluster的背景讲解下部署以及后期的使用。 大致会包括下面的内容: Redis单机版的安装以及验证 Redis集群版的安装以及验证 使用图形化工具访问Redis 使用Jedis访问Redis 使用JedisCluster访问Red
用户1154259
2018/01/17
2K0
Redis从单机到集群,一步步教你环境部署以及使用
Redis-3.2.9集群配置(redis cluster)
本文参考官方文档而成:http://redis.io/topics/cluster-tutorial。经测试,安装过程也适用于redis-3.2.0。
一见
2018/08/06
2K0
Redis 实战篇之搭建集群
Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案。完全去中心化,由多个节点组成,所有节点彼此互联。Redis 客户端可以直接连接任何一节点获取集群中的键值对,不需要中间代理,如果该节点不存在用户所指定的键值,其内部会自动把客户端重定向到键值所在的节点。
Esofar
2019/03/20
7630
Redis 实战篇之搭建集群
手把手带你搭建redis集群
redis-cluster是redis官方提供的分布式数据库解决方案,集群通过分片进行数据共享,并提供复制和故障转移功能。
MySQL数据库技术栈
2020/08/13
4100
Redis Cluster 3.0集群部署与使用
在说明使用和安装之前,先大概介绍下,Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施。通过分区(partition)来提供一定程度的可用性(availability),即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求。
Linux运维技术之路
2022/06/07
4680
Redis Cluster 3.0集群部署与使用
redis(4) -- 集群
redis集群的可扩展性(scalability是线性的, 即增加节点会带来实际的效果提示. 集群节点间使用异步冗余备份,所以安全些.
大大刺猬
2020/12/21
4750
大数据篇---redis学习Redis安装Redis启动redis集群搭建
Redis安装 1 第一步:安装 C 语言需要的 GCC 环境 yum install -y gcc-c++ yum install -y wget 第二步:下载并解压缩 Redis 源码压缩包 wg
用户2337871
2020/12/22
8860
大数据篇---redis学习Redis安装Redis启动redis集群搭建
docker 实现redis集群搭建
摘要:接触docker以来,似乎养成了一种习惯,安装什么应用软件都想往docker方向做,今天就想来尝试下使用docker搭建redis集群。
老梁
2019/09/10
1.3K0
docker 实现redis集群搭建
如何部署 Redis 集群
Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Redis集群。本文参考了Rdis的官方文档和使用Redis官方提供的Redis Cluster工具搭建Rdis集群。
大数据弄潮儿
2018/10/30
8.5K0
如何部署 Redis 集群
linux虚拟机环境快速搭建redis5.x版本的主从集群总结
我在云服务器上曾参与过公司redis集群的搭建,但时间久了,都快忘记当时的搭建过程了,故而决定在虚拟机centOS 7的环境,自行搭建一套redis5.x版本的集群,该版本集群的搭建比较方便,不用再像以前版本那样还得再搞一个 Ruby,5.x版本可直接使用 redis-cli的方式来构建集群。
朱季谦
2021/08/20
3700
Redis 高可用性解决方案之哨兵与集群
在开始本章的讲解之前,我们首先从宏观角度回顾一下 Redis 实现高可用相关的技术。它们包括:持久化、复制、哨兵和集群,在本系列的前篇文章介绍了持久化以及复制的原理以及实现。本文将对剩下的两种高可用技术哨兵、集群进行讲解,讲一讲它们是如何进一步提高系统的高可用性?
BUG弄潮儿
2021/03/22
7490
Redis 高可用性解决方案之哨兵与集群
Redis的三种集群方式
redis有三种集群方式:主从复制,哨兵模式(Sentinel)和集群(Redis Cluster)。
王先森sec
2023/04/24
4.5K0
Redis的三种集群方式
Redis3.0.7集群部署完整版
Redis集群没有出来前,一直使用Codis集群,现在部署Redis集群看看效果如何。
三杯水Plus
2018/11/14
1.2K0
深入理解Redis Cluster
Redis Cluster采用虚拟槽分区,所有的key根据哈希函数映射到0~16383槽内,计算公式:
星哥玩云
2022/08/18
3630
Redis安装、开发、集群看这一篇就够了!
Redis使用c语言开发的程序,需要使用gcc编译程序编译redis。 安装gcc编译程序命令:
I Teach You 我教你
2023/07/18
7710
Redis安装、开发、集群看这一篇就够了!
Redis-4.0.11集群配置
本文参考官方文档而成:http://redis.io/topics/cluster-tutorial。经测试,安装过程也适用于redis-3.2.0、redis-4.0.11等。
一见
2018/09/30
2.7K0
深入剖析Redis系列: Redis集群模式搭建与原理详解
在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态。Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 在 分布式 方面的需求。当遇到 单机内存、并发、流量 等瓶颈时,可以采用 Cluster 架构方案达到 负载均衡 的目的。
用户5546570
2019/06/06
8820
深入剖析Redis系列: Redis集群模式搭建与原理详解
如何在Ubuntu 16.04上安装和配置Redis集群
Redis集群已经发展成为缓存,队列等的流行工具,因为它具有可扩展性和速度的潜力。本指南旨在使用三个Linode创建一个集群来演示分片。然后,如果发生故障,您将需要把一个从节点变为主节点。
双愚
2018/08/29
1K0
如何在Ubuntu 16.04上安装和配置Redis集群
4.Redis基础运维之哨兵和集群安装配置
描述: 哨兵模式是主从的升级版,因为主从的出现故障后,不会自动恢复,需要人为干预,这就很蛋疼啊。在主从的基础上,实现哨兵模式就是为了监控主从的运行状况,对主从的健壮进行监控,就好像哨兵一样,只要有异常就发出警告,对异常状况进行处理。
全栈工程师修炼指南
2022/09/28
1.2K0
4.Redis基础运维之哨兵和集群安装配置
相关推荐
Redis数据库集群搭建 | 实践篇
更多 >
LV.0
这个人很懒,什么都没有留下~
作者相关精选
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档