一:事前准备
1.1 安装 ruby,个人推荐用 ruby-install 进行安装,按照操作基本可以做到傻瓜式的安装,
参考 url:https://github.com/postmodern/ruby-install
1.2 节点较多的话,推荐按一个 ansible,可以通过命令一键自动化部署到各个节点
1.3 shell> gem install redis
1.4 系统内核调整,具体文档也可以参照官方文档:https://redis.io/topics/admin
/etc/sysctl.conf 里面下面几个参数调整
1.4.1 始终分配内存一直到用完为止
vm.overcommit_memory=1
1.4.2 关闭内存平衡策略
kernel.numa_balancing=0
1.4.3 不使用内存分页
vm.swappiness=1
二:安装
2.1 redis 下载稳定版
wget http://download.redis.io/releases/redis-4.0.11.tar.gz
2.2 解压缩
tar xzf redis-4.0.11.tar.gz
2.3 安装
cd redis-4.0.11 && make
三:配置
redis.conf 只罗列较为重要的参数配置,详细的请参考官网
3.1 端口,单节点唯一
port 10000
3.2 集群模式
cluster-enabled yes
3.3 节点配置文件
cluster-config-file nodes.conf
3.4 节点超时时间
cluster-node-timeout 5000
3.5 关闭 aof 模式
appendonly no
3.6 关闭 rdb 模式
save ""
3.7 设置该节点的最大内存
maxmemory 当前节点内存的 3/4,如果当前节点有多个实例,总内存数除以实例个数之后再乘以 3/4
3.8 该节点的内存淘汰机制
maxmemory-policy volatile-ttl
3.9 集群是否需要全覆盖,默认 yes,只要有一个主节点挂掉,就整个集群不提供服务
cluster-require-full-coverage no
※因为关闭了 aof 跟 rdb,所以该集群没有做持久化处理,性能会比做持久化的要好不少,是不是要做持久化跟怎么做持久化请依据自己业务的实际情况
四:启动集群
4.1 各个节点启动
各个节点上进入 redis-4.0.11 目录,然后执行 src/redis-server redis.conf
4.2 集群启动
在某个节点上进入 redis-4.0.11 目录,然后执行:src/redis-trib.rb create --replicas 1 node1host:node1port ... nodenhost:nodenport
cluster 模式至少要有 3 个主节点,如果 replicas 为 1 的情况下,至少要有 6 个节点(3 主 3 从),为 0 的情况下,没有从节点,建议副本数 >=1
五:测试
5.1 查看节点信息以及分槽情况
在某个节点进入 redis-4.0.11 目录,然后执行:src/redis-cli -h nodehost -p nodeport cluster nodes
5.2 用 redis 自带的性能测试工具查看集群性能
https://redis.io/topics/benchmarks
六:参考资料
官方文档:https://redis.io/topics/cluster-tutorial
近期热议
推荐标签 标签
-
OkHttp
16 引用 • 6 回帖 • 93 关注
OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。
-
V2Ray
1 引用 • 15 回帖 • 3 关注
-
七牛云
29 引用 • 230 回帖 • 124 关注
七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。
-
CentOS
240 引用 • 224 回帖
CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。
-
JSON
53 引用 • 190 回帖
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。
-
星云链
3 引用 • 16 回帖 • 1 关注
星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网
- B3log
-
iOS
89 引用 • 150 回帖
iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。
-
区块链
92 引用 • 752 回帖 • 1 关注
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。
-
招聘
188 引用 • 1057 回帖 • 2 关注
哪里都缺人,哪里都不缺人。
-
Sym
524 引用 • 4601 回帖 • 710 关注
-
Windows
228 引用 • 476 回帖
Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。
-
国际化
8 引用 • 26 回帖 • 5 关注
i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。
-
Mobi.css
1 引用 • 6 回帖 • 765 关注
Mobi.css is a lightweight, flexible CSS framework that focus on mobile.
-
HHKB
5 引用 • 74 回帖 • 519 关注
HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。
-
SendCloud
2 引用 • 8 回帖 • 505 关注
SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。
-
ActiveMQ
19 引用 • 13 回帖 • 677 关注
ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。
-
代码片段
188 引用 • 1325 回帖
代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。
用户在该标签下分享代码片段时需在帖子标题前添加
[css]
或[js]
用于区分代码片段类型。 -
BAE
19 引用 • 75 回帖 • 677 关注
百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。
-
Facebook
4 引用 • 15 回帖 • 450 关注
Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。
-
SMTP
4 引用 • 18 回帖 • 630 关注
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。
-
Firefox
7 引用 • 30 回帖 • 384 关注
Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。
-
笔记
310 引用 • 794 回帖 • 2 关注
好记性不如烂笔头。
-
CSS
198 引用 • 543 回帖 • 1 关注
CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
-
Chrome
63 引用 • 289 回帖
Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。
-
CodeMirror
2 引用 • 17 回帖 • 166 关注
-
导航
45 引用 • 177 回帖
各种网址链接、内容导航。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于