Redis笔记-集群搭建
Redis单机版搭建上一篇已经基本介绍了,下面讨论Redis集群搭建方案和示例。
1、关于Redis常用的集群方案(三种):
a、一主多从,如一个Master、两个Slave
b、薪火相传,即集群中的从节点(Slave)同时也是主节点(Master),类似于链式传递一样
c、反客为主,主节点down掉后从节点升级为主节点,通过人工干预 或者 通过Sentinel 哨兵模式来实现(下篇介绍)
2、模拟测试(以一主多从为例)
模拟主机信息(在同一台主机通过不同端口模拟):
| 角色 | IP | 端口 |
| Master | 127.0.0.1 | 6379 |
| Salve | 127.0.0.1 | 6380 |
| Salve | 127.0.0.1 | 6381 |
进入Redis目录,复制redis配置文件,给Slave使用:
[root@VM_0_14_centos redis]# ls -lrt
total
-rwxr-xr-x root root Mar : redis-server
-rwxr-xr-x root root Mar : redis-cli
-rw-r--r-- root root Mar : redis.conf
[root@VM_0_14_centos redis]# cp redis.conf ./redis..conf
[root@VM_0_14_centos redis]# cp redis.conf ./redis..conf
[root@VM_0_14_centos redis]#
编辑Master配置文件redis.conf文件,主要配置以下参数:
daemonize yes #开启守护进程
pidfile /var/run/redis_6379.pid #开启守护进程后会将进程ID写入该文件
logfile "/var/log/redis.6379.log" #配置日志文件
masterauth funnyboy0128 #master验证密码
requirepass funnyboypass #Redis登录密码
编辑Slave配置文件redis.6380.conf 和redis.6381.conf ,修改pidfile和logfile的值,并在最后追加 slaveof 配置项,修改端口分贝为6380和6380
port 6380 和 port 6381
slaveof 127.0.0.1 6379 #Master的I配合端口
启动Master节点:
[root@VM_0_14_centos redis]#
[root@VM_0_14_centos redis]#
[root@VM_0_14_centos redis]#
[root@VM_0_14_centos redis]# ./redis-server ./redis.conf
启动Slave节点:
[root@VM_0_14_centos redis]#
[root@VM_0_14_centos redis]#
[root@VM_0_14_centos redis]# ./redis-server ./redis..conf
[root@VM_0_14_centos redis]# ./redis-server ./redis..conf
[root@VM_0_14_centos redis]#
客户端连接测试:
[root@VM_0_14_centos redis]#
[root@VM_0_14_centos redis]# ./redis-cli -h 127.0.0.1 -p -a funnyboypass
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:> keys *
(empty list or set)
127.0.0.1:> set name hello redis
(error) ERR syntax error
127.0.0.1:> set name "hello redis"
OK
127.0.0.1:>
127.0.0.1:>
127.0.0.1:> get name
"hello redis"
127.0.0.1:>
连接Master,set信息到Redis。然后连接Slave查看数据,
[root@VM_0_14_centos redis]#
[root@VM_0_14_centos redis]# ./redis-cli -h 127.0.0.1 -p -a funnyboypass
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:>
127.0.0.1:>
127.0.0.1:>
127.0.0.1:> get name
"hello redis"
127.0.0.1:>
6380 Slave节点数据OK。
[root@VM_0_14_centos redis]# ./redis-cli -h 127.0.0.1 -p -a funnyboypass
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:> get name
"hello redis"
127.0.0.1:>
127.0.0.1:>
测试Slave是否支持写入:
127.0.0.1:>
127.0.0.1:> set sname hello
(error) READONLY You can't write against a read only replica.
127.0.0.1:>
结果显示Slave值只支持读操作。
补充关于redis.conf相关的配置项:
1、daemonize 如果需要在后台运行,把该项改为yes
2、pidfile 配置多个pid的地址 默认在/var/run/redis.pid
3、bind 绑定ip,设置后只接受来自该ip的请求
4、port 监听端口,默认是6379
5、loglevel 分为4个等级:debug verbose notice warning
6、logfile 用于配置log文件地址
7、databases 设置数据库个数,默认使用的数据库为0
8、save 设置redis进行数据库镜像的频率。
9、rdbcompression 在进行镜像备份时,是否进行压缩
10、dbfilename 镜像备份文件的文件名
11、Dir 数据库镜像备份的文件放置路径
12、Slaveof 设置数据库为其他数据库的从数据库
13、Masterauth 主数据库连接需要的密码验证
14、Requriepass 设置 登陆时需要使用密码
15、Maxclients 限制同时使用的客户数量
16、Maxmemory 设置redis能够使用的最大内存
17、Appendonly 开启append only模式
18、Appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
19、vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
20、vm-swap-file 设置虚拟内存的交换文件路径
21、vm-max-memory 设置redis使用的最大物理内存大小
22、vm-page-size 设置虚拟内存的页大小
23、vm-pages 设置交换文件的总的page数量
24、vm-max-threads 设置VM IO同时使用的线程数量
25、Glueoutputbuf 把小的输出缓存存放在一起
26、hash-max-zipmap-entries 设置hash的临界值
27、Activerehashing 重新hash
Redis笔记-集群搭建的更多相关文章
- Redis本地集群搭建(5版本以上)
Redis本地集群搭建(5版本以上) 2019年11月3日10:05:48 步骤 1.下载安装Redis的安装包 2.复制5份,一共6份Redis的解压安装版,修改每个Redis节点的端口并开启节点 ...
- redis的集群搭建(很详细很详细)
说在前面的话 之前有一节说了redis单机版的搭建和使用jedis管理redis单机版和集群版, 本节主要讲一下redis的集群搭建. 跳转到jedis管理redis的使用 认识redis集群 首先我 ...
- linux环境下redis安装(redis伪集群搭建)
redis在linux环境下搭建 1.创建目录 [root@192 local]# mkdir /usr/local/redis 2.下载redis,并解压 [root@192 local]# wge ...
- Redis学习笔记(5)—— Redis的持久化方案&Redis的集群搭建
一.Redis的持久化方案 Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化. Redis支持两种 ...
- Redis Cluster集群搭建与应用
1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...
- redis主从集群搭建及容灾部署(哨兵sentinel)
Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅. 提纲 Redis安装 整体架构 Redis主从结构搭建 Redis容灾部署(哨兵sentinel) Redis常见问题 ...
- Redis Cluster集群搭建与配置
Redis Cluster是一种服务器sharding分片技术,关于Redis的集群方案应该怎么做,请参考我的另一篇博客http://www.cnblogs.com/xckk/p/6134655.ht ...
- Redis的搭建和Redis的集群搭建
1.Redis的官网:https://redis.io/ Redis的测试网站:http://try.redis.io/ 2.参考博客:https://www.cnblogs.com/maf ...
- 【Redis】Redis cluster集群搭建
Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...
随机推荐
- 配置Asp.Net Web项目NLog配置文件的位置
在使用NLog在asp.net项目中发现,如果想单独配其配置文件的位置时没有像Log4Net的特性配置方案,可以使其提供的 XmlLoggingConfiguration类来初始化: 见:https: ...
- 工程实践:给函数取一个"好"的名字
工程实践:给函数取一个"好"的名字 早在2013年,国外有个程序员做了一个有意思的投票统计(原始链接请见:<程序员:你认为最难做的事情是什么?>),该投票是让程序员从以 ...
- 搭建环境-Monkeyrunner-自动化测试工具
这篇博客帮助挺大,我补充部分,帮助同样的小白哈哈,侵删 https://www.cnblogs.com/lynn-li/p/5885001.html 1.前期准备 需要安装:JDK,SDK,pytho ...
- 容器化时代我们应当选择Kubernetes
前天发的文章<基于Kubernetes 构建.NET Core 的技术体系>,有同学问.NET Core上有Spring Cloud类似的平台吗? .NET Core出现这么久了,这个为云 ...
- H5直播避坑指南
本文来自"小时光茶社(Tech Teahouse)"公众号 作者简介: 文赫,2015年加入腾讯,作为前端开发工程师参与过手Q游戏公会,游戏中心,企鹅电竞等项目,具有丰富的移动端开 ...
- 一次生产 CPU 100% 排查优化实践
前言 到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题. 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环 ...
- ACM:读入优化
两个简单的读入优化 int getin(){ ;; while(!isdigit(tmp=getchar()) && tmp!='-'); ,tmp=getchar(); )+(ans ...
- 阿里云Ubuntu下安装、配置权限和导入本地mongodb
---恢复内容开始--- 第一部分:首先先在Ubuntu下安装好mongodb,步骤如下: 首先我们需要借助远程管理工具链接到阿里云上的ubuntu系统,接着进行如下操作 一.导出软件源的公钥 sud ...
- java~接口的共享实体使用Map后更灵活
微服务时代的实体设计 在一个微服务时代,一个实体参数或者返回值,它可能是多服务之前共享的,而这个重复的实体你需要拷贝多份,这是违背DRP原则的,所以我们需要找一种更友好的方式来代替它,它就是Map,我 ...
- 浅谈Google Chrome浏览器(操作篇)(上)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...