Redis 三台服务器搭建三主三从详细步骤
1、需要三台服务器
如:服务器A、B、C
2、在三台服务器上安装gcc,执行如下命令
yum install gcc
3、验证是否安装好gcc
gcc -v
如果出现如下信息,代表已安装好
- 如果防火墙是开启状态,需要防火墙开通端口
永久开放如下服务器端口
(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
必须要包含以上接口
- 服务器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)复制主要文件到指定目录
- 服务器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,是一条执行命令)
- 服务器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,是一条执行命令)
- 服务器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)修改配置
- 修改服务器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
- 修改服务器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 三台服务器搭建三主三从详细步骤相关推荐
- Redis三主三从集群搭建(三台机器)
介绍 redis三种模式 一.主从模式 Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构. ...
- 手把手搭建redis集群-三台虚拟机(三主三从)
Redis集群环境搭建: Redis 集群简介: Redis 是一个开源的 key-value 分布式存储系统,由于其出众的性能,大部分互联网企业将其用来作为服务端分布式缓存使用.Redis 在 3. ...
- 两台服务器安装redis集群_redis 集群搭建,小白也能搭三主三从的集群环境
redis集群简介: Redis集群是一个程序集,它提供在多个 Redis节点之间共享数据. 一个 Redis集群不支持同时处理多个键的 Redis命令,因为这要求将数据移动到多个节点之间,这会降低 ...
- redis搭建三主三从架构
最近有在学redis,这次就模仿着搭建了一个.本来网上也有很多版本,不过按照百度出来的内容进行搭建总是有各种问题,磕磕碰碰总算搭建成功,在此记录一下,供大家了解,防止以后自己忘记. 一.系统环境 VM ...
- Redis搭建集群,三主三从集群模式
几种常见的redis集群模式: 方案一:主从复制 优点: 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离 为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务, ...
- Redis三主三从集群搭建
一.引子 主从复制以及哨兵,他们可以提高读的并发,但是单个master容量有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多master-slave集群(看原理图). 所以一起来学习redi ...
- redis相关的详细介绍,包括三主三从集群的搭建
文章目录 1. 数据结构 1.1 String 1.2 hash 3. 如何搭建redis集群 3.2 哈希槽 1.4 LIST 1.5 SET 1.6 Redis HyperLogLog 1. 数据 ...
- Docker高级篇笔记(七)在docker里面进行redis三主三从的集群案例搭建步骤
目录 搭建三主三从集群 数据读写存储 主从容错的切换迁移 主从扩容 主从缩容 搭建三主三从集群 1 先启动docker 2 拉取redis镜像 3 创建6个redis容器 docker run -d ...
- 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 & ...
最新文章
- 16-flutter-Swiper 插件的使用
- Python培训分享:Python内置标准异常及其解析
- python 路径往上一层_Python常用模块之模块、包介绍和相关语法
- vue-quill-editor上传内容由于图片是base64的导致字符太长的问题解决
- [LeetCode]--160. Intersection of Two Linked Lists
- python数据标准化1002无标题,Scikit标准化互信息学习给我错误的值
- 回忆自己的大学四年得与失
- 第三次学JAVA再学不好就吃翔(part82)--泛型
- .Net Core DI,如何在程序集中注册所有现有的可分配类型
- 苹果 tvOS 10 第二个开发者测试版发布
- IT认证之架构师认证
- 开票服务器管理系统默认密码,税控盘初始密码和口令是多少-百旺税控盘初始密码和口令-牛账网...
- 控制系统|反馈系统的稳定性分析
- 智方8000系进销存管理系统 v11.29 绿色
- 经历没有亮点可讲?你需要做份“详历”
- k8s污点容忍度概念介绍
- PHP获取字符串长度之strlen和mb_strlen的区别
- flutter 复制粘贴默认英文显示问题
- xtrabackup备份恢复MySQL数据库
- 宏记录器 Macro Recorder 2.0 注册版