最近尝试搭建了一下redis集群,这里记录一下,最后附上的是参考的博客地址。

  1. 安装C语言编译环境GCC

    yum install -y gcc-c++

  2. 下载redis并编译安装

下载:

wget https://download.redis.io/releases/redis-5.0.4.tar.gz

解压到指定目录:

tar -zxf redis-5.0.4.tar.gz -C /opt/tools

编译源码:

cd /opt/tools/redis-5.0.4
make

安装并通过 PREFIX 指定安装目录

make install PREFIX=/opt/tools/redis

修改配置

  • 拷贝redis-5.0.4/redis.conf配置文件到redis安装目录的bin目录
cp redis.conf /opt/tools/redis/bin
  • 进入/opt/tools/redis/bin目录,修改redis.conf文件
vim redis.conf
  • redis.conf文件示例
#绑定ip,若需要外网访问,需指定固定ip
bind 127.0.0.1
#端口,默认6379,集群时每个配置都需要不同
port 7001
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
# 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.pid
daemonize yes
#当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定,集群时加上端口号
pidfile /var/run/redis_7001.pid
#指定日志文件,目录自己指定,集群时文件名带端口号
logfile "/var/log/redis/logs/redis_7001.log"
#开启AOF模式
appendonly yes
#开实例的集群模式
cluster-enabled yes
#集群配置文件,带端口号
cluster-config-file nodes-7001.conf
#节点能够失联的最大时间
cluster-node-timeout 15000
  1. 创建6个redis实例(6个节点)
  • 在usr/local目录下新建redis-cluster目录,用于存放集群节点

  • 把redis目录下的bin目录下的所有文件复制到/usr/local/redis-cluster/redis01目录下,不用担心这里没有redis01目录,会自动创建的。操作命令如下(注意当前所在路径):

    cp -r redis/bin/ redis-cluster/redis01
  • 将redis-cluster/redis01文件复制5份到redis-cluster目录下(redis02-redis06),创建6个redis实例,模拟Redis集群的6个节点。然后将其余5个文件下的redis.conf里面的端口号分别修改为7002-7006,带端口的参数也需要一起修改(pidfile、logfile、cluster-config-file)。

  1. 创建执行脚本
  • start-all.sh (启动redis实例)
cd redis01
rm -rf dump.rdb nodes.conf nodes-7001.conf ./redis-server redis.conf
cd ..
cd redis02
rm -rf dump.rdb nodes.conf nodes-7002.conf ./redis-server redis.conf
cd ..
cd redis03
rm -rf dump.rdb nodes.conf nodes-7003.conf
./redis-server redis.conf
cd ..
cd redis04
rm -rf dump.rdb nodes.conf nodes-7004.conf ./redis-server redis.conf
cd ..
cd redis05
rm -rf dump.rdb nodes.conf nodes-7005.conf
./redis-server redis.conf
cd ..
cd redis06
rm -rf dump.rdb nodes.conf nodes-7006.conf
./redis-server redis.conf
cd ..
  • create-cluster.sh (创建集群,根据需要将127.0.0.1换成对应ip)
cd redis01/
./redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 cd ../
  • shutdown.sh (停止redis实例,根据需要将127.0.0.1换成对应ip)
: << COMMENTBLOCK
SHUTDOWN 命令执行以下操作:
停止所有客户端
如果有至少一个保存点在等待,执行 SAVE 命令
如果 AOF 选项被打开,更新 AOF 文件
关闭 redis 服务器(server)
如果持久化被打开的话, SHUTDOWN 命令会保证服务器正常关闭而不丢失任何数据。 SHUTDOWN SAVE: 会强制让数据库执行保存操作,即使没有设定(configure)保存点.
SHUTDOWN NOSAVE: 会阻止数据库执行保存操作,即使已经设定有一个或多个保存点(你可以将这一用法看作是强制停止服务器的一个假想的 ABORT 命令). COMMENTBLOCK cd redis01
echo "Stopping 7001"
./redis-cli -h 127.0.0.1 -p 7001 shutdown save
echo "Stopping 7002"
./redis-cli -h 127.0.0.1 -p 7002 shutdown save
echo "Stopping 7003"
./redis-cli -h 127.0.0.1 -p 7003 shutdown save
echo "Stopping 7004"
./redis-cli -h 127.0.0.1 -p 7004 shutdown save
echo "Stopping 7005"
./redis-cli -h 127.0.0.1 -p 7005 shutdown save
echo "Stopping 7006"
./redis-cli -h 127.0.0.1 -p 7006 shutdown save cd ..
  1. 另外提供一种快速搭建方式(通过命令的形式传入参数,redis.conf文件实际未更新):

    1.编辑/utils/create-cluster/create-cluster 文件,更改起始/结束端口,指定ip等(不指定默认127.0.0.1)。

    2.使用“./create-cluster start”运行实例。

    3.使用“./create-cluster create”创建一个Redis集群。

    4.使用“./create-cluster stop”停止所有实例

  2. 参考文档:

    集群搭建:(redis5.0版本之后可以直接使用 redis-cli 命令创建集群,不使用 redis-trib.rb 命令了)

    https://blog.csdn.net/qq_42815754/article/details/82912130

    https://blog.51cto.com/34144451/3773596

    快速搭建方式:

    https://blog.csdn.net/qq_39308071/article/details/119087156

Redis5.0.4-集群(单机版)搭建的更多相关文章

  1. Redis-5.0.5集群配置

    版本:redis-5.0.5 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...

  2. Redis Cluster 4.0.9 集群安装搭建

    Redis Cluster 4.0.9集群搭建步骤:yum install -y gcc g++ gcc-c++ make openssl cd redis-4.0.9 make mkdir -p / ...

  3. redis5.0版本集群搭建

    模式简介 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redis 命令,比如:mget, 因 ...

  4. redis5.0.4 集群搭建

    准备工作用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-5.0.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS ...

  5. redis-5.0.3集群搭建

    首先部署redis-5.0.3,请参考我的另一篇文章 https://www.cnblogs.com/djlsunshine/p/10592174.html 启动redis服务 # redis-ser ...

  6. redis5.0.4-cluster集群搭建及jedis客户端操作

    一.去官网下载redis5.0 https://redis.io/download 然后解压安装 $ .tar.gz $ cd redis- $ make 二.准备配置文件 打开redis-5.0.4 ...

  7. redis5.0 Cluster集群搭建

    安装redis sudo apt update sudo apt install build-essential tcl cd ~ mkdir document/ cd document/ curl ...

  8. redis5.0.7集群搭建

    这里实验的是129.130.240三台服务器6个节点的部署(redis集群最低要6个节点,不然无法创建). 1.压缩包安装 #wget http://download.redis.io/release ...

  9. Linux(Centos7)下redis5缓存服务集群分布式搭建

    注意:可以查看Redis官网查看集群搭建方式,连接如下 https://redis.io/topics/cluster-tutorial 集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器 ...

  10. MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)

      一.mongodb主从复制配置 主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等. 最基本的设置方式就是建立一个主节 ...

随机推荐

  1. 大道至简读后感以及JAVA伪代码

    <大道至简>这本书引用<愚公移山>一文,生动完美的诠释了编程的整个过程.在两千年前的寓言中,愚公集项目组织者.团队经理.编程人员.技术分析师等众多角色于一身.首先是原始需求的产 ...

  2. win11 改键盘映射

    编辑注册表:按下win+r,输入regedit找到这个路径HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout ...

  3. prometheus-alertmanager 告警规则

    # 告警规则参考 https://awesome-prometheus-alerts.grep.to/rules

  4. ABAP 指定字符替换为空格

    上代码 DATA:str1 TYPE string VALUE '小红##爱#six##小绿#666'. *******DATA(str1) = '小红##爱#six##小绿#666'. " ...

  5. Netty Reactor模型

    1.netty抽象出两个线程池:BossGroup负责监听和建立连接 :WorkerGroup 负责网络IO的读写 2.BossGroup 和 WorkerGroup 类型都是NioEventLoop ...

  6. password_encryption_type 和 pg_hba.conf 不匹配导致用户连不上

    # 问题概述xxx客户新上一套opengauss数据库,在测试中用户输入正确的密码,提示用户密码错误,导致用户被锁# 问题原因password_encryption_type 和 pg_hba.con ...

  7. el-input 限制输入框只能输入数字和小数

    方法一: oninput ="value=value.replace(/[^\d]/g,'')" //只能输入数字 oninput ="value=value.repla ...

  8. QDateEdit

    self.dateEdit.setCalendarPopup(True) # 日历增加 # 日历转化位str类型begintime = self.dateEdit.dateTime().toStrin ...

  9. iOS 12.3 - iOS 13.X 爱思助手越狱教程

    原文链接 本教程使用工具为爱思助手 Mac 版,Windows 电脑可以安装"黑苹果"系统后,在"黑苹果"系统内安装爱思助手再进行操作. 支持设备:iPhone ...

  10. Linux基础第八章:操作系统引导过程、运行级别及开机问题处理

    一.操作系统引导过程 1.开机自检(bios) 2.MBR引导 3.grub菜单 4.加载内核(kernel) 5.init进程初始化 二.操作系统运行级别(init0-init6) 1.init 0 ...