01
—
前言
Redis是一款流行的、开源的、基于内存的键值存储系统,以其卓越的速度和丰富多样的数据结构(如字符串、哈希、列表、集合、有序集合等)著称。它提供持久化、事务、发布/订阅、 Lua脚本等功能,广泛运用于缓存、实时计算、排行榜、会话存储等领域,有效提升了应用程序的性能和响应速度。
02
—
部署架构

03
—
实例部署
1. 部署环境
Redis版本:5.0.8
内核版本3.10.0-1160.el7.x86_64
系统系统:CentOS Linux release 7.9.2009
2. 应用下载

3. 编译安装
(1)上传Redis压缩包到其中一台服务器上,解压编译,需提前安装好gcc-c+
tar -xf redis-5.0.8.tar.gzcdredis-5.0.8yum install gcc-c++makecdsrc/makeinstall
![]()

(2)创建Redis实例目录,并把编译好的二进制文件复制到Redis的启动目录下
mkdir/data/product/redis01/{conf,bin,logs} -pcpredis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel /data/product/redis01/bin/cp../redis.conf/data/product/redis01/conf/redis.conf.def
(3)创建配置文件(以redis01为例)不同服务器和端口实例的需要调整配置的ip
bind 192.168.43.51protected-mode yesport 7101tcp-backlog 511timeout 0tcp-keepalive 300daemonize yessupervised nopidfile /data/product/redis01/logs/redis_7101.pidloglevel noticelogfile "/data/product/redis01/logs/redis_7101.log"databases 16always-show-logo yessave9001save30010save6010000stop-writes-on-bgsave-erroryesrdbcompression yesrdbchecksum yesdbfilename dump7101.rdbdir /data/product/redis01slave-serve-stale-datayesslave-read-onlyyesrepl-diskless-syncnorepl-diskless-sync-delay 5repl-disable-tcp-nodelaynoslave-priority100repl-backlog-size100mb# redis 5.0supportstream-node-max-bytes4096stream-node-max-entries 100dynamic-hz yesrdb-save-incremental-fsync yesactivedefrag yesactive-defrag-ignore-bytes100mbactive-defrag-threshold-lower10active-defrag-threshold-upper100active-defrag-cycle-min5active-defrag-cycle-max75active-defrag-max-scan-fields1000slave-lazy-flushnoappendonly yesappendfilename "appendonly7101.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size64mbaof-load-truncated yeslua-time-limit5000cluster-enabled yescluster-config-filenodes-7101.confcluster-node-timeout15000slowlog-log-slower-than10000slowlog-max-len128latency-monitor-threshold 0notify-keyspace-events""hash-max-ziplist-entries 512hash-max-ziplist-value64list-max-ziplist-size-2list-compress-depth0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value64hll-sparse-max-bytes3000activerehashing yesclient-output-buffer-limitnormal000client-output-buffer-limitslave512mb 256mb 120client-output-buffer-limitpubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yesmaxmemory-policyallkeys-lru#redis最大使用内存maxmemory 40960MBrequirepass Monitor123456masterauth Monitor123456
(4)创建多台实例(不同服务器和端口实例的需要调整配置文件redis.conf的侦听IP地址和端口信息)
cp-r /data/product/redis01 /data/product/redis02cp-r /data/product/redis01 /data/product/redis03scp -r /data/product/redis0* root@192.168.43.52:/data/product/scp -r /data/product/redis0* root@192.168.43.53:/data/product/
(5)启动各节点的实例
/data/product/redis01/bin/redis-server /data/product/redis01/conf/redis.conf/data/product/redis02/bin/redis-server /data/product/redis02/conf/redis.conf/data/product/redis03/bin/redis-server /data/product/redis03/conf/redis.conf

04
—
构建集群
1.构建master节点
/data/product/redis01/bin/redis-cli --cluster create --cluster-replicas 0-aYWZL123456 192.168.43.51:7101192.168.43.52:7101192.168.43.53:7101

2. 查看masterid(指定slave需要用到masterid)
/data/product/redis01/bin/redis-cli -h 192.168.43.51 -p 7101 -a YWZL123456 cluster nodes

3.执行slave节点到指定的master节点上
/data/product/redis01/bin/redis-cli--clusteradd-node192.168.43.51:7102192.168.43.52:7101-aYWZL123456--cluster-slave--cluster-master-id90a8e289099f82413731d5ae1da5c16f79339c5c/data/product/redis01/bin/redis-cli--clusteradd-node192.168.43.52:7103192.168.43.51:7101-aYWZL123456--cluster-slave--cluster-master-id90a8e289099f82413731d5ae1da5c16f79339c5c/data/product/redis01/bin/redis-cli--clusteradd-node192.168.43.51:7103192.168.43.53:7101-aYWZL123456--cluster-slave--cluster-master-idab3b8211536292a533998aa3dffbf2d4dfd39d78/data/product/redis01/bin/redis-cli--clusteradd-node192.168.43.53:7103192.168.43.51:7101-aYWZL123456--cluster-slave--cluster-master-idab3b8211536292a533998aa3dffbf2d4dfd39d78/data/product/redis01/bin/redis-cli--clusteradd-node192.168.43.53:7102192.168.43.52:7101-aYWZL123456--cluster-slave--cluster-master-id95d7276bd52704742923541ce1fe17375c3ba9cd/data/product/redis01/bin/redis-cli--clusteradd-node192.168.43.52:7102192.168.43.53:7101-aYWZL123456--cluster-slave--cluster-master-id95d7276bd52704742923541ce1fe17375c3ba9cd

05
—
集群验证
1. 查看3个master是否对应指定的slave
/data/product/redis01/bin/redis-cli-h192.168.43.51-p7101 -aYWZL123456inforeplication/data/product/redis01/bin/redis-cli-h192.168.43.52-p7101 -aYWZL123456inforeplication/data/product/redis01/bin/redis-cli-h192.168.43.53-p7101 -aYWZL123456inforeplication


2. 在单台节点上插入数据查看是否同步(集群需要指定参数-c)
/data/product/redis01/bin/redis-cli-h192.168.43.53-p7101 -c-aYWZL123456setusernamezhangsangetusername

MUSIC

♬..♩~ ♫. ♪..
END


推荐阅读

python自动化模块批量实现多台服务器间SSH免密登录!!!
太强了!分布式Elasticsearch集群数据迁移企业案例
本篇文章来源于微信公众号: Linux运维之旅
微信扫描下方的二维码阅读本文

Comments NOTHING