Redis集群部署

1. 编译安装

# cd /usr/local/src/# wget http://download.redis.io/releases/redis-5.0.0.tar.gz# tar zxvf redis-5.0.0.tar.gz# apt-get update && apt-get install -y gcc automake make# cd redis-5.0.0 && make && make install# cp ./src/redis-server /usr/bin/# cp ./src/redis-cli /usr/bin/

2. 创建服务启停脚本(如果需要)

# cp ./utils/redis_init_script /etc/init.d/redisd# service redisd start

3. 创建目录及配置文件

# mkdir /tmp/redis-cluster/{7000,7001,7002,7003,7004,7005}/log -pv# cp /usr/local/src/redis-5.0.0/redis.conf /data/redis-cluster/7000/redis.conf# cd /data/redis-cluster/ && cat 7000/redis.confbind 0.0.0.0protected-mode yesport 7000tcp-backlog 511timeout 0tcp-keepalive 300daemonize yessupervised nopidfile /var/run/redis_7000.pidloglevel noticelogfile "/data/redis-cluster/7000/log/redis-7000.log"databases 16always-show-logo yessave 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdbdir ./replica-serve-stale-data yesreplica-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noreplica-priority 100lazyfree-lazy-eviction nolazyfree-lazy-expire nolazyfree-lazy-server-del noreplica-lazy-flush noappendonly yesappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yesaof-use-rdb-preamble yeslua-time-limit 5000cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 15000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000stream-node-max-bytes 4096stream-node-max-entries 100activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit replica 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10dynamic-hz yesaof-rewrite-incremental-fsync yesrdb-save-incremental-fsync yesmasterauth AuDdQdpuEZpXgNthP6CjYjPbrequirepass AuDdQdpuEZpXgNthP6CjYjPb修改其他端口配置文件# cp 7000/redis.conf 7001/# cp 7000/redis.conf 7002/# cp 7000/redis.conf 7003/# cp 7000/redis.conf 7004/# cp 7000/redis.conf 7005/# sed -i 's/7000/7001/g' 7001/redis.conf# sed -i 's/7000/7002/g' 7002/redis.conf# sed -i 's/7000/7003/g' 7003/redis.conf# sed -i 's/7000/7004/g' 7004/redis.conf# sed -i 's/7000/7005/g' 7005/redis.conf

4. 调整下内存分配使用方式并使其生效

#此参数可用的值为0,1,2 #0表示当用户空间请求更多的内存时,内核尝试估算出可用的内存 #1表示内核允许超量使用内存直到内存用完为止 #2表示整个内存地址空间不能超过swap+(vm.overcommit_ratio)%的RAM值 echo "vm.overcommit_memory=1">>/etc/sysctl.confsysctl -p

5. 制作启动脚本

# cat start-redis-cluster.sh#!/bin/bashcd /data/redis-clustercd 7000 && /usr/bin/redis-server /data/redis-cluster/7000/redis.confcd ../7001 && /usr/bin/redis-server /data/redis-cluster/7001/redis.confcd ../7002 && /usr/bin/redis-server /data/redis-cluster/7002/redis.confcd ../7003 && /usr/bin/redis-server /data/redis-cluster/7003/redis.confcd ../7004 && /usr/bin/redis-server /data/redis-cluster/7004/redis.confcd ../7005 && /usr/bin/redis-server /data/redis-cluster/7005/redis.conf

6. 启动服务

# bash start-redis-cluster.sh# ps -ef|grep redisroot     30192     1  0 06:54 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:7000 [cluster]root     30194     1  0 06:54 ?        00:00:05 /usr/bin/redis-server 0.0.0.0:7001 [cluster]root     30196     1  0 06:54 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:7002 [cluster]root     30201     1  0 06:54 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:7003 [cluster]root     30206     1  0 06:54 ?        00:00:05 /usr/bin/redis-server 0.0.0.0:7004 [cluster]root     30211     1  0 06:54 ?        00:00:04 /usr/bin/redis-server 0.0.0.0:7005 [cluster]

7. 创建集群

# redis-cli --cluster create 10.20.71.215:7000 10.20.73.204:7001 10.20.71.67:7002 10.20.71.215:7003 10.20.73.204:7004 10.20.71.67:7005 --cluster-replicas 1 -a AuDdQdpuEZpXgNthP6CjYjPb

8. 查看集群信息

root@mgo-db01cn-t001:/usr/local/src/redis-5.0.0# redis-cli -c -p 7000127.0.0.1:7000> auth AuDdQdpuEZpXgNthP6CjYjPbOK127.0.0.1:7000> cluster nodesab8eeb87cc65dd14d03b8ac1b1e8cf7956cec1f5 10.20.71.67:7005@17005 slave 113373eeb8450caf99f8bef80f7cf5e8be41f370 0 1556958626898 6 connected387497dd41e34c90f4ccfa5909e2c63987d2f0d6 10.20.71.67:7002@17002 master - 0 1556958624893 3 connected 10923-16383356ac5e0988889a793c055b99c1abff6579ba322 10.20.73.204:7004@17004 slave 387497dd41e34c90f4ccfa5909e2c63987d2f0d6 0 1556958625000 5 connected3c1d7c057ac1d325fcf63895ae52733242abc72b 10.20.73.204:7001@17001 master - 0 1556958625000 2 connected 5461-10922113373eeb8450caf99f8bef80f7cf5e8be41f370 10.20.71.215:7000@17000 myself,master - 0 1556958625000 1 connected 0-546054c72a2901af3dd72cbbb816bd6c5283eec6eec9 10.20.71.215:7003@17003 slave 3c1d7c057ac1d325fcf63895ae52733242abc72b 0 1556958625894 4 connected

控制台信息显示: 当前集群中存在3个主节点和3个从节点,说明我们的集群已经搭建成功 至此,Redis Cluster集群就搭建完成了!

9. 测试数据

root@mgo-db01cn-t001:~# redis-cli -h 10.20.73.204 -p 700110.20.73.204:7001> auth AuDdQdpuEZpXgNthP6CjYjPbOK10.20.73.204:7001>10.20.73.204:7001>10.20.73.204:7001>10.20.73.204:7001> set name shukeOK10.20.73.204:7001>10.20.73.204:7001>10.20.73.204:7001>10.20.73.204:7001> get name"shuke"

10. cluster saveconfig

将节点的配置文件保存到硬盘里面.试一下:127.0.0.1:7009> cluster saveconfigOKok说明成功了,它会覆盖配置文件夹里的nodes.conf文件.这样做是为了某种情况下nodes文件丢失,这样就会生成一个最新的节点配置文件。

Tips :

1.如果想重新创建集群,需要登录到每个节点,执行flushdb,然后执行cluster reset,重启节点;

集群管理

Redis 集群教程 集群管理常见操作 常用命令

refs

Redis 高可用部署方案 Redis集群规范

☆ END ☆

redis 集群_Redis集群部署相关推荐

  1. redis 槽点重新分配 集群_redis集群高可用部署-cluster-槽点的迁移查看

    redis集群官网文档 https://redis.io/topics/cluster-tutorial 下载文档 https://redis.io/download 23种服务脚本 https:// ...

  2. redis 集群_Redis集群管理

    阅读文本大概需要10分钟. 1.简介 Redis在生产环境中一般是通过集群的方式进行运行,Redis集群包括主从复制集群和数据分片集群两种类型. *主从复制集群提供高可用性,而数据分片集群提供负载均衡 ...

  3. multi redis 不能使用集群_Redis 集群实现

    Nosql,作为程序员在当下不了解点儿,还真不行,出去聊起来别人就会说你土.那么就聊聊其中一个比较火的redis.redis单机版没得说,但是一直没有集群版,有也是山寨的.前段时间对redis的实现进 ...

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

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

  5. redis 主从模式_Redis主从模式部署文档

    Redis复制概念 中文资料:http://www.redis.cn/topics/cluster-tutorial.html 在 Redis 复制的基础上,使用和配置主从复制非常简单,能使得从 Re ...

  6. redis集群扩容和缩容_redis集群cluster搭建,扩容缩容

    1.    概要说明 1.1.    概述 本文旨在说明平台部署环境搭建的过程和详细步骤说明,为后面系统部署提供清晰的参考依照. 以下搭建部署的环境,为一个小型的分布式集群环境.满足负载均衡和单点故障 ...

  7. redis 槽点重新分配 集群_5000+字硬核干货!Redis 分布式集群部署实战

    原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储. 集群使用公式(CRC16 key)& 16384计算键key ...

  8. redis 登录_Redis集群架构+Dubbo开发框架+SSO单点登录+Nginx+ZooKeeper

    Redis集群架构 [课程介绍] Redis是现在使用为广泛的NoSQL数据库技术,其自身不仅拥有着良好的操作性能,也被广泛的应用于各种集群架构的数据整合处理之中,而本课程将通过Redis的核心作用, ...

  9. java redis 多节点,Redis单机多节点集群部署,超简单

    1.在虚拟机中部署具有三个主节点,三个从节点的集群(注,必须要有从节点),虚拟机的IP地址为192.168.133.129,三个主节点的部口号分别为7001(从:7004).7002(从:7005). ...

最新文章

  1. 2017未来发布峰会召开 未来图灵发布《AI明星企业家热搜榜》
  2. redis未能启动服务器,redis服务启动不了的解决办法(服务器应非法关机了)
  3. CSerialPort多线程串口编程工具详解
  4. HDU 5489 Removed Interval
  5. 运行stam 遇到的问题:
  6. 蓝桥杯 ALGO-31算法训练 开心的金明(01背包,动态规划)
  7. Oracle 11g r2 下载地址
  8. Excel如何快速方便生成随机姓名
  9. 初识F5之BIGIP-LTM负载均衡
  10. 效率更快的代码生成器
  11. wx.showToast() 在真机中一闪而过
  12. OpenHarmony恢复启动子系统init进程之服务启动
  13. 用Python来表白,把情书写进她的照片里
  14. 域名抢注时要注意什么?域名抢注要知道什么?
  15. 变压器直流电阻测试仪RS485串口数据采集接入数据库及MESERP系统方案
  16. PHP商城二手交易市场课程设计
  17. 行业翻译类词汇-项目管理词汇
  18. JAVA根据经纬度计算两点距离
  19. 近期完成了PHPWIND的树形论坛改版(PHPWIND的树型论坛结构)
  20. java excel导入兼容性,使用poi导入Excel文件兼容性问题

热门文章

  1. 物联网平台发展前景如何快速发展
  2. java key锁_Java细粒度锁实现的3种方式
  3. c语言求浮点数矩阵的逆程序,逆矩阵求程序!!!谢谢
  4. 双目摄像头和单目摄像头_挑战激光雷达,MAXIEYE要重新定义单目摄像头?
  5. [Hive] Hive表压缩
  6. 香港城门隧道翻车意外酿一死16伤
  7. 前端每日实战:33# 视频演示如何用纯 CSS 创作牛奶文字变换效果
  8. 烂泥:Tomcat免安装版与JRE免安装版集成
  9. 一台linux服务器配置多个tomcat应用
  10. Component 父子组件关系