广告
返回顶部
首页 > 资讯 > 数据库 >Redis5.x 集群部署实战
  • 207
分享到

Redis5.x 集群部署实战

2024-04-02 19:04:59 207人浏览 独家记忆
摘要

实验环境主机名IP地址Redis端口划分备注node171172.20.20.17116001,16002node172172.20.20.17216001,16002node173172.20.20.17

实验环境

主机名

IP地址

Redis端口划分

备注

node171

172.20.20.171

16001,16002


node172

172.20.20.172

16001,16002


node173

172.20.20.173

16001,16002


软件版本

操作系统Centos X64 7.3

Redis版本:5.0.5

公共基础配置

3台均操作,这里无特别说明,均是root操作

1. 关闭防火墙

systemctl stop firewalld.service

setenforce  0

sed -i 's#SElinux=enforcing#SELINUX=disabled#g' /etc/selinux/config

2. 配置主机名

 cat >> /etc/hosts << EOF

172.20.20.171 node171

172.20.20.172 node172

172.20.20.173 node173

EOF

3. 新建目录

mkdir -p /opt/redis;mkdir -p /opt/redis/{bin,conf,logs}

mkdir -p /data/redis/data

安装Redis

3台均操作

PS:若是购买云ECS进行自建,可以做成一台,打包成基础或可以使用Salt或Ansible进行批量部署

yum install -y GCc gcc-c++

wget Http://download.redis.io/releases/redis-5.0.5.tar.gz

cd /root

tar xf redis-5.0.5.tar.gz

cd redis-5.0.5

make MALLOC=libc

make PREFIX=/opt/redis/ install

cp /root/redis-5.0.5/redis.conf  /opt/redis/conf/redis-16001.conf

cd /opt/redis/conf/

sed -i 's#bind 127.0.0.1#bind 0.0.0.0#g' redis-16001.conf

sed -i "s#port 6379#port 16001#g" redis-16001.conf

sed -i "s#daemonize no#daemonize yes#g" redis-16001.conf

sed -i 's#pidfile /var/run/redis_6379.pid#pidfile /opt/redis/logs/redis_16001.pid#g' redis-16001.conf

sed -i 's#logfile ""#logfile "/opt/redis/logs/redis_16001.log"#g' redis-16001.conf

sed -i 's#dbfilename dump.rdb#dbfilename redis_16001.rdb#g' redis-16001.conf

sed -i 's#dir ./#dir /data/redis/data/#g' redis-16001.conf

sed -i "s#appendonly no#appendonly yes#g" redis-16001.conf

sed -i 's#appendfilename "appendonly.aof"#appendfilename "redis_16001.aof"#g'  redis-16001.conf

sed -i 's#\# cluster-enabled yes# cluster-enabled yes#g' redis-16001.conf

sed -i 's#\# cluster-config-file nodes-6379.conf#cluster-config-file /opt/redis/conf/nodes-16001.conf#g' redis-16001.conf

sed -i 's#\# masterauth <master-passWord>#masterauth zjkj#g'  /opt/redis/conf/redis-16001.conf    


cp redis-16001.conf  redis-16002.conf

sed -i 's#16001#16002#g' redis-16002.conf

启动Redis

3台均操作

 /opt/redis/bin/redis-server  /opt/redis/conf/redis-16001.conf

 /opt/redis/bin/redis-server  /opt/redis/conf/redis-16002.conf

启动Redis集群

在三台任意一台上执行

/opt/redis/bin/redis-cli  --cluster create 172.20.20.171:16001 172.20.20.171:16002 172.20.20.172:16001 172.20.20.172:16002 172.20.20.173:16001 172.20.20.173:16002  --cluster-replicas 1

>>> PerfORMing hash slots allocation on 6 nodes...

Master[0] -> Slots 0 - 5460

Master[1] -> Slots 5461 - 10922

Master[2] -> Slots 10923 - 16383

Adding replica 172.20.20.172:16002 to 172.20.20.171:16001

Adding replica 172.20.20.173:16002 to 172.20.20.172:16001

Adding replica 172.20.20.171:16002 to 172.20.20.173:16001

M: a9ab7a12884d505efcf066fcc3aae74c2b3f101d 172.20.20.171:16001

   slots:[0-5460] (5461 slots) master

S: 81d1b25ae1ea85421bd4abb2be094c258026c505 172.20.20.171:16002

   replicates 04d9c29ef2569b1fc8abd9594d64fca33e4ad4f2

M: 761348a0107f5b009cabc22c214e39578d0aa707 172.20.20.172:16001

   slots:[5461-10922] (5462 slots) master

S: 6dec89e63a48a9a9f393011a698a0bda21b70f1e 172.20.20.172:16002

   replicates a9ab7a12884d505efcf066fcc3aae74c2b3f101d

M: 04d9c29ef2569b1fc8abd9594d64fca33e4ad4f2 172.20.20.173:16001

   slots:[10923-16383] (5461 slots) master

S: 14e79155f78065e4518e00cd5bd057336b17e3a7 172.20.20.173:16002

   replicates 761348a0107f5b009cabc22c214e39578d0aa707

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

>>> Nodes configuration updated

>>> Assign a different config epoch to each node

>>> Sending CLUSTER MEET messages to join the cluster

Waiting for the cluster to join

.....

>>> Performing Cluster Check (using node 172.20.20.171:16001)

M: a9ab7a12884d505efcf066fcc3aae74c2b3f101d 172.20.20.171:16001

   slots:[0-5460] (5461 slots) master

   1 additional replica(s)

S: 81d1b25ae1ea85421bd4abb2be094c258026c505 172.20.20.171:16002

   slots: (0 slots) slave

   replicates 04d9c29ef2569b1fc8abd9594d64fca33e4ad4f2

M: 761348a0107f5b009cabc22c214e39578d0aa707 172.20.20.172:16001

   slots:[5461-10922] (5462 slots) master

   1 additional replica(s)

S: 14e79155f78065e4518e00cd5bd057336b17e3a7 172.20.20.173:16002

   slots: (0 slots) slave

   replicates 761348a0107f5b009cabc22c214e39578d0aa707

S: 6dec89e63a48a9a9f393011a698a0bda21b70f1e 172.20.20.172:16002

   slots: (0 slots) slave

   replicates a9ab7a12884d505efcf066fcc3aae74c2b3f101d

M: 04d9c29ef2569b1fc8abd9594d64fca33e4ad4f2 172.20.20.173:16001

   slots:[10923-16383] (5461 slots) master

   1 additional replica(s)

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

验证测试

[root@node172 conf]# /opt/redis/bin/redis-cli  -h 172.20.20.172 -p 16001

172.20.20.172:16001> cluster nodes

04d9c29ef2569b1fc8abd9594d64fca33e4ad4f2 172.20.20.173:16001@26001 master - 0 1563967987854 5 connected 10923-16383

a9ab7a12884d505efcf066fcc3aae74c2b3f101d 172.20.20.171:16001@26001 master - 0 1563967985839 1 connected 0-5460

81d1b25ae1ea85421bd4abb2be094c258026c505 172.20.20.171:16002@26002 slave 04d9c29ef2569b1fc8abd9594d64fca33e4ad4f2 0 1563967983822 5 connected

6dec89e63a48a9a9f393011a698a0bda21b70f1e 172.20.20.172:16002@26002 slave a9ab7a12884d505efcf066fcc3aae74c2b3f101d 0 1563967988858 4 connected

14e79155f78065e4518e00cd5bd057336b17e3a7 172.20.20.173:16002@26002 slave 761348a0107f5b009cabc22c214e39578d0aa707 0 1563967986847 6 connected

761348a0107f5b009cabc22c214e39578d0aa707 172.20.20.172:16001@26001 myself,master - 0 1563967986000 3 connected 5461-10922

172.20.20.172:16001> set name "Mr.Zhang"

OK

172.20.20.172:16001> get name

"Mr.Zhang"

Redis集群启动脚本

3台均配置

cat >> /opt/redis/bin/start-all.sh << EOF

/opt/redis/bin/redis-server  /opt/redis/conf/redis-16001.conf

/opt/redis/bin/redis-server  /opt/redis/conf/redis-16002.conf

EOF

chmod +x /opt/redis/bin/start-all.sh

Redis集群停止脚本

任意一台即可

cat /opt/redis/bin/stop-all.sh

#!/bin/bash

 

# Settings

PORT=16000

TIMEOUT=2000

NODES=2

REPLICAS=1

HOSTS=(172.20.20.171 172.20.20.172 172.20.20.173)

 

# You may want to put the above config parameters into config.sh in order to

# override the defaults without modifying this script.

 

if [ -a config.sh ]

then

    source "config.sh"

fi

 

# Computed vars

ENDPORT=$((PORT+NODES))

 

if [ "$1" == "stop" ]

then

    while [ $((PORT < ENDPORT)) != "0" ]; do

        PORT=$((PORT+1))

          for host in ${HOSTS[@]}

            do

             /opt/redis/bin/redis-cli -h $host -p $PORT shutdown nosave

            done

    done

    exit 0

fi

 

echo "Usage: $0 [stop]"

echo "stop        -- Stop Redis Cluster instances."

 


您可能感兴趣的文档:

--结束END--

本文标题: Redis5.x 集群部署实战

本文链接: https://www.lsjlt.com/news/35843.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Redis5.x 集群部署实战
    实验环境主机名IP地址Redis端口划分备注node171172.20.20.17116001,16002node172172.20.20.17216001,16002node173172.20.20.17...
    99+
    2022-10-18
  • 使用redis-cli搭建redis5.x集群
    这篇文章给大家介绍使用redis-cli搭建redis5.x集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1,创建下载目录,下载安装mkdir -p /usr/local/src/...
    99+
    2022-10-18
  • Docker中redis集群部署实战
    目录环境准备安装gcc-c++查看版本创建Redis网卡创建6个redis服务在/var目录下创建脚本文件create_redis_script.sh编写脚本内容查看脚本文件赋予create_redis_script.s...
    99+
    2022-11-27
    Docker中redis集群部署 docker搭建redis集群 docker安装redis集群
  • 实战部署weblogic集群及发布应用(
    实战部署weblogic集群及发布应用(3)-----构建weblogic高可用系列(共7篇)    服务器规划        本次搭建使用的虚拟机,由于内存有限,我搭建的是第一种规划方案同一台服务器,如下:            (1)主...
    99+
    2023-01-31
    集群 实战 weblogic
  • 通过Docker部署Redis 6.x集群的方法
    系统环境: Redis 版本:6.0.8 Docker 版本:19.03.12 系统版本:CoreOS 7.8 内核版本:5.8.5-1.el7.elrepo.x8...
    99+
    2022-11-12
  • (十)服务器K8S集群部署SpringBoot项目实战
    1.准备springboot项目 可以在 https://start.spring.io/网站准备一个项目,这里作为k8s的学习所以springboot项目中准备一个简单的访问接口即可。 2.服务器环境准备 安装Jdk 更新系统软件包: ...
    99+
    2023-08-30
    spring boot 服务器 kubernetes
  • php中什么是集群部署?如何实现集群部署?
    随着互联网进入快速发展的时代,各种网站、应用如雨后春笋般出现,人们对于服务的需求越来越高。而随着用户量增加,单一服务器已经无法满足需求,集群部署PHP项目成为解决方案之一。一、什么是集群部署?集群部署是将多台服务器组合在一起,按照特定的方式...
    99+
    2023-05-14
    集群部署 php
  • 如何使用Rancher在Kubernetes上部署EMQ X集群
    这篇文章主要讲解了“如何使用Rancher在Kubernetes上部署EMQ X集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Rancher在Kubernetes上部署EMQ X...
    99+
    2023-06-03
  • 怎么在Docker中部署一个Redis 6.x集群
    今天就跟大家聊聊有关怎么在Docker中部署一个Redis 6.x集群,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。系统环境:Redis 版本:6.0.8Docker 版本:19.0...
    99+
    2023-06-14
  • elasticsearch 集群部署
    Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用...
    99+
    2022-10-18
  • Mysql-mmm集群部署
      90主 <----------> 91主    |    |    |  ------------...
    99+
    2022-10-18
  • GreenPlum 5.10.0 集群部署
    第1部分 初始化系统配置 1.1 部署环境 序号 ip地址 主机名 内存 系统版本 内核版本 1 192.168.61.61 gpmaster61 16Gb CentOS 7.5.1804 3...
    99+
    2022-10-18
  • Docker Swarm部署集群
    一、Swarm简介Swarm是Docker的一个编排工具,参考官网:https://docs.docker.com/engine/swarm/Swarm 模式简介 要在Swarm模式下运行docker,需要先安装docker,参考...
    99+
    2023-01-31
    集群 Docker Swarm
  • Influxdb Cluster集群部署
    准备工作 确定安装版本 1、此次安装选择的是influxdb-cluster集群部署方案,参考项目开源地址为:https://github.com/chengshiwen/influxdb-clust...
    99+
    2023-10-07
    linux 服务器
  • Redis7.0部署集群怎么实现
    这篇“Redis7.0部署集群怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Redis7.0部署集群怎么实现”文章吧...
    99+
    2023-07-02
  • Liunx中部署Kettle集群
    文章目录 一、部署环境二、搭建步骤1、Linux下JDK环境搭建2、各服务器之间开启SSH免密登录3、查看所需端口是否被占用4、Linux下Kettle安装5、测试Kettle是否安装成功6、...
    99+
    2023-09-26
    服务器 ssh linux 数据仓库 运维
  • Mongodb 分片集群部署
    Mongodb分片集群介绍       分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功...
    99+
    2022-10-18
  • redis3.0集群安装部署
    wget http://download.redis.io/releases/redis-3.0.0.tar.gz && tar zxvf redis-3.0.0.tar.gz &&...
    99+
    2022-10-18
  • centos 7.4部署couchbase集群
           couchbase是一个较新的、发展迅速的nosql数据库技术。2014年,viber宣布使用couchbase替换mongodb,...
    99+
    2022-10-18
  • Redis群集部署详解
    博文大纲:一、Redis群集相关概念二、部署Redis群集 1、部署环境 2、配置Redis实例 3、配置node06主机的多Redis实例 4、主机node01安装配置ruby的运行环境,便于管理Re...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作