1、需要三台服务器

如:服务器A、B、C

2、在三台服务器上安装gcc,执行如下命令

yum install gcc

3、验证是否安装好gcc

gcc -v

如果出现如下信息,代表已安装好

  1. 如果防火墙是开启状态,需要防火墙开通端口

永久开放如下服务器端口

(1)服务器A,执行如下命令

firewall-cmd --zone=public --add-port=6379/tcp --permanent

firewall-cmd --zone=public --add-port=6380/tcp --permanent

firewall-cmd --zone=public --add-port=16379/tcp --permanent

firewall-cmd --zone=public --add-port=16380/tcp --permanent

firewall-cmd --reload

查看服务器上已经永久开放的端口,执行如下命令

firewall-cmd --list-ports

必须要包含以上接口,如下截图

(2)服务器B,执行如下命令

firewall-cmd --zone=public --add-port=6381/tcp --permanent

firewall-cmd --zone=public --add-port=6382/tcp --permanent

firewall-cmd --zone=public --add-port=16381/tcp --permanent

firewall-cmd --zone=public --add-port=16382/tcp --permanent

firewall-cmd --reload

查看服务器上已经永久开放的端口,执行如下命令

firewall-cmd --list-ports

必须要包含以上接口

  1. 服务器C,执行如下命令

firewall-cmd --zone=public --add-port=6383/tcp --permanent

firewall-cmd --zone=public --add-port=6384/tcp --permanent

firewall-cmd --zone=public --add-port=16383/tcp --permanent

firewall-cmd --zone=public --add-port=16384/tcp --permanent

firewall-cmd --reload

查看服务器上已经永久开放的端口,执行如下命令

firewall-cmd --list-ports

必须要包含以上端口

5、配置服务器参数(三台服务器都需要执行)

(1)root权限编辑 /etc/sysctl.conf

net.core.somaxconn = 512    (注意:此条在sysctl.conf末尾可能会有此参数,如果有,并且数值大于512,则不需要修改,如果没有则需要添加此条)

vm.overcommit_memory = 1    (注意:这条在sysctl.conf原先是没有的,在文件尾部添加此条)

执行以下语句使参数生效

sysctl -p

(2)修改/etc/rc.local

在文件尾部添加

echo never > /sys/kernel/mm/transparent_hugepage/enabled

添加后,用root用户手工执行一次,执行时间可能会要一段时间,请等待

echo never > /sys/kernel/mm/transparent_hugepage/enabled

(3)使用root用户编辑 /etc/security/limits.conf

在文件尾部添加

redis soft nproc  20470

redis hard nproc  163840

redis soft nofile 10240

redis hard nofile 655360

(4)修改/etc/ssh/sshd_config

#修改如下内容

UseLogin yes   (注意:是修改,原本是被注释的,并且是no)

修改后重启ssh,执行如下命令:

systemctl restart sshd

6、安装Redis

(1)将redis安装包上传至/home/redis目录下

(2)解压

tar -zxvf redis-5.0.5.tar.gz

(3)编译

进入redis解压出来的文件夹的src中,如:cd /home/redis/redis-5.0.5/src

执行make命令

注意:上述3个步骤每台服务器都要操作

(4)复制主要文件到指定目录

  1. 服务器A执行如下命令

mkdir -p /home/redis/redis-6379/bin

mkdir -p /home/redis/redis-6380/bin

mkdir -p /home/redis/redis-6379/etc

mkdir -p /home/redis/redis-6380/etc

cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-6379/etc/

cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-6380/etc/

进入/home/redis/redis-5.0.5/src目录

cd /home/redis/redis-5.0.5/src

cp mkreleasehdr.sh redis-check-aof redis-benchmark redis-check-rdb redis-cli redis-server /home/redis/redis-6379/bin     (注意:从上面的cp开始到最后的bin,是一条执行命令)

cp mkreleasehdr.sh redis-check-aof redis-benchmark redis-check-rdb redis-cli redis-server /home/redis/redis-6380/bin     (注意:从上面的cp开始到最后的bin,是一条执行命令)

  1. 服务器B执行如下命令

mkdir -p /home/redis/redis-6381/bin

mkdir -p /home/redis/redis-6382/bin

mkdir -p /home/redis/redis-6381/etc

mkdir -p /home/redis/redis-6382/etc

cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-6381/etc/

cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-6382/etc/

进入/home/redis/redis-5.0.5/src目录

cd /home/redis/redis-5.0.5/src

cp mkreleasehdr.sh redis-check-aof redis-benchmark redis-check-rdb redis-cli redis-server /home/redis/redis-6381/bin     (注意:从上面的cp开始到最后的bin,是一条执行命令)

cp mkreleasehdr.sh redis-check-aof redis-benchmark redis-check-rdb redis-cli redis-server /home/redis/redis-6382/bin     (注意:从上面的cp开始到最后的bin,是一条执行命令)

  1. 服务器C执行如下命令

mkdir -p /home/redis/redis-6383/bin

mkdir -p /home/redis/redis-6384/bin

mkdir -p /home/redis/redis-6383/etc

mkdir -p /home/redis/redis-6384/etc

cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-6383/etc/

cp /home/redis/redis-5.0.5/redis.conf /home/redis/redis-6384/etc/

进入/home/redis/redis-5.0.5/src目录

cd /home/redis/redis-5.0.5/src

cp mkreleasehdr.sh redis-check-aof redis-benchmark redis-check-rdb redis-cli redis-server /home/redis/redis-6383/bin     (注意:从上面的cp开始到最后的bin,是一条执行命令)

cp mkreleasehdr.sh redis-check-aof redis-benchmark redis-check-rdb redis-cli redis-server /home/redis/redis-6384/bin     (注意:从上面的cp开始到最后的bin,是一条执行命令)

(5)修改配置

  1. 修改服务器A的6379配置

vi /home/redis/redis-6379/etc/redis.conf

更改点如下:

1) daemonize yes(原先为no,改为yes)

2) port 6379(分别对每个机器的端口号进行设置)

3) pidfile /var/run/redis_6379.pid(守护进程文件,每个端口不一样)

3) dir /home/redis/redis-6379(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)

4) cluster-enabled yes(启动集群模式,将原来的注释去掉)

5) cluster-config-file nodes-6379.conf(集群节点信息文件,这里800x最好和port对应上,原先是注释的,将原来的注释去掉)

6) cluster-node-timeout 15000(原先是注释的,将原来的注释去掉)

7)  bind IP1(修改bind绑定访问ip信息,注意不同节点不同的IP)

8)  protected-mode no (关闭保护模式,原先是yes)

9) appendonly yes

  1. 修改服务器A的6380配置

vi /home/redis/redis-6380/etc/redis.conf

更改点如下:

1) daemonize yes(原先为no,改为yes)

2) port 6380(分别对每个机器的端口号进行设置)

3) pidfile /var/run/redis_6380.pid(守护进程文件,每个端口不一样)

3) dir /home/redis/redis-6380(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)

4) cluster-enabled yes(启动集群模式,将原来的注释去掉)

5) cluster-config-file nodes-6380.conf(集群节点信息文件,这里800x最好和port对应上,原先是注释的,将原来的注释去掉)

6) cluster-node-timeout 15000(原先是注释的,将原来的注释去掉)

7)  bind IP1(修改bind绑定访问ip信息,注意不同节点不同的IP)

8)  protected-mode no (关闭保护模式,原先是yes)

9) appendonly yes

服务器B、C同上,只需要修改所有有关端口的为6381、6382、6383、6384即可,还有需要修改IP为各自的IP,配置见压缩包

(6)启动各节点服务

服务器A执行如下命令

/home/redis/redis-6379/bin/redis-server /home/redis/redis-6379/etc/redis.conf  (这两行是一条命令)

显示如下代表启动成功

/home/redis/redis-6380/bin/redis-server /home/redis/redis-6380/etc/redis.conf  (这两行是一条命令)

服务器B执行如下命令

/home/redis/redis-6381/bin/redis-server /home/redis/redis-6381/etc/redis.conf   (这两行是一条命令)

/home/redis/redis-6382/bin/redis-server /home/redis/redis-6382/etc/redis.conf  (这两行是一条命令)

服务器C执行如下名

/home/redis/redis-6383/bin/redis-server /home/redis/redis-6383/etc/redis.conf  (这两行是一条命令)

/home/redis/redis-6384/bin/redis-server /home/redis/redis-6384/etc/redis.conf  (这两行是一条命令)

(7)集群启动,在服务器A上执行

/home/redis/redis-6379/bin/redis-cli --cluster create --cluster-replicas 1 ip1:6379 ip1:6380 ip2:6381 ip2:6382 ip3:6383 ip3:6384

(8)检查集群,在服务器A上执行

/home/redis/redis-6379/bin/redis-cli -c -h 186.1.62.200 -p 6379

在redis命令中执行  cluster info

出现如下信息:

在redis命令中执行 cluster nodes

出现如下信息:

代表集群搭建成功

Redis 三台服务器搭建三主三从详细步骤相关推荐

  1. Redis三主三从集群搭建(三台机器)

    介绍 redis三种模式 一.主从模式 Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构. ...

  2. 手把手搭建redis集群-三台虚拟机(三主三从)

    Redis集群环境搭建: Redis 集群简介: Redis 是一个开源的 key-value 分布式存储系统,由于其出众的性能,大部分互联网企业将其用来作为服务端分布式缓存使用.Redis 在 3. ...

  3. 两台服务器安装redis集群_redis 集群搭建,小白也能搭三主三从的集群环境

    redis集群简介: Redis集群是一个程序集,它提供在多个 Redis节点之间共享数据. 一个 Redis集群不支持同时处理多个键的 Redis命令,因为这要求将数据移动到多个节点之间,这会降低 ...

  4. redis搭建三主三从架构

    最近有在学redis,这次就模仿着搭建了一个.本来网上也有很多版本,不过按照百度出来的内容进行搭建总是有各种问题,磕磕碰碰总算搭建成功,在此记录一下,供大家了解,防止以后自己忘记. 一.系统环境 VM ...

  5. Redis搭建集群,三主三从集群模式

    几种常见的redis集群模式: 方案一:主从复制 优点: 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离 为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务, ...

  6. Redis三主三从集群搭建

    一.引子 主从复制以及哨兵,他们可以提高读的并发,但是单个master容量有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多master-slave集群(看原理图). 所以一起来学习redi ...

  7. redis相关的详细介绍,包括三主三从集群的搭建

    文章目录 1. 数据结构 1.1 String 1.2 hash 3. 如何搭建redis集群 3.2 哈希槽 1.4 LIST 1.5 SET 1.6 Redis HyperLogLog 1. 数据 ...

  8. Docker高级篇笔记(七)在docker里面进行redis三主三从的集群案例搭建步骤

    目录 搭建三主三从集群 数据读写存储 主从容错的切换迁移 主从扩容 主从缩容 搭建三主三从集群 1 先启动docker 2 拉取redis镜像 3 创建6个redis容器 docker run -d ...

  9. REDIS三主三从集群搭建笔记(redis版本5.0.8)

    mkdir -p /app/redis tar -zxvf redis-5.0.8.tar.gz -C /app/redis cd /app/redis/redis-5.0.8编译安装: make & ...

最新文章

  1. 16-flutter-Swiper 插件的使用
  2. Python培训分享:Python内置标准异常及其解析
  3. python 路径往上一层_Python常用模块之模块、包介绍和相关语法
  4. vue-quill-editor上传内容由于图片是base64的导致字符太长的问题解决
  5. [LeetCode]--160. Intersection of Two Linked Lists
  6. python数据标准化1002无标题,Scikit标准化互信息学习给我错误的值
  7. 回忆自己的大学四年得与失
  8. 第三次学JAVA再学不好就吃翔(part82)--泛型
  9. .Net Core DI,如何在程序集中注册所有现有的可分配类型
  10. 苹果 tvOS 10 第二个开发者测试版发布
  11. IT认证之架构师认证
  12. 开票服务器管理系统默认密码,税控盘初始密码和口令是多少-百旺税控盘初始密码和口令-牛账网...
  13. 控制系统|反馈系统的稳定性分析
  14. 智方8000系进销存管理系统 v11.29 绿色
  15. 经历没有亮点可讲?你需要做份“详历”
  16. k8s污点容忍度概念介绍
  17. PHP获取字符串长度之strlen和mb_strlen的区别
  18. flutter 复制粘贴默认英文显示问题
  19. xtrabackup备份恢复MySQL数据库
  20. 宏记录器 Macro Recorder 2.0 注册版

热门文章

  1. 嵌入式项目研发到量产的流程
  2. PyPDF2为PDF文件起始页添加罗马数字
  3. 微信API接口、微信二次开发API调用
  4. Dialog(对话框窗口)
  5. Noise Contrastive Estimation (NCE) 、负采样(NEG)和InfoNCE
  6. 基于Python的高校请假管理信息系统开发(Django框架)
  7. 全民一起VBA实战篇 专题3 第一回 格式化规定各人迥异,Format函数一招摆平
  8. Javascript 实现二维码生成
  9. 高精度 双目视觉方案
  10. 目标检测-YOLO算法实现