部署三主三从redis集群

redis Cluster集群部署方案:

物料准备:

虚拟机:
VMware® Workstation 16 Pro(VMware-16.0.0 build-16894299)
三台CentOS虚拟机:
192.168.28.128(主-6379/从-6380)
192.168.28.129(主-6379/从-6380)
192.168.28.130(主-6379/从-6380)
ruby
ruby-2.5.5.tar.gz
安装过程见:[Centos7 源码安装、升级 Ruby](https://blog.csdn.net/HeyShHeyou/article/details/108937918)
redis安装包
redis-5.0.0.tar.gz 
wget http://download.redis.io/releases/redis-5.0.0.tar.gz

部署步骤:

xshell同时登陆并开启所有会话
192.168.28.128/192.168.28.129/192.168.28.130(root/root)
解压redis安装包
tar -xvf redis-5.0.0.tar.gz
编译redis源码
cd redis-5.0.0/src/ && make MALLOC=libc
给各个节点创建主备文件夹
mkdir -p /usr/redis_cluster/6379 && mkdir -p /usr/redis_cluster/6380
回到cd redis-5.0.0文件夹
cd ../
拷贝redis.conf配置到三节点的主备目录下
cp redis.conf /usr/redis_cluster/6379 && cp redis.conf /usr/redis_cluster/6380
将编译好的redis源码包拷贝到/usr/redis_cluster/下
cd /root && mv redis-5.0.0 /usr/redis_cluster/
分别修改三台机器下的目录中的redis.conf的配资,具体见配置,以192.168.28.128的redis.conf为例:
#6379-主节点配置:
#绑定的主机地址
bind 192.168.28.128
#指定Redis监听端口
port 6379
cluster-enabled yes
#cluster开启必须重命名指定cluster-config-file,不能与别的节点相同,否则会启动失败(Sorry, the cluster configuration file nodes.conf is already used bySorry,
#the cluster configuration file nodes.conf is already used by),最好按主机+端口命名
cluster-config-file nodes_6379.conf
#集群节点的超时时限
cluster-node-timeout 5000
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,
#如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes

protected-mode no
#日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile  /usr/redis_cluster/6379/redis_6379.log
#当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /usr/bin/redis_cluster/6379/redis_6379.pid
#指定本地数据库存放目录
dir /usr/redis_cluster/6379/data
#绑定的主机地址
bind 192.168.28.128
#指定Redis监听端口
port 6380
cluster-enabled yes
#cluster开启必须重命名指定cluster-config-file,不能与别的节点相同,否则会启动失败(Sorry, the cluster configuration file nodes.conf is already used bySorry,
#the cluster configuration file nodes.conf is already used by),最好按主机+端口命名
cluster-config-file nodes_6380.conf
#集群节点的超时时限
cluster-node-timeout 5000
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,
#如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes

protected-mode no
#日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile  /usr/redis_cluster/6380/redis_6380.log
#当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /usr/bin/redis_cluster/6380/redis_6380.pid
#指定本地数据库存放目录
dir /usr/redis_cluster/6380/data

129和130节点只需要换下ip地址即可。
安装ruby和redis插件:安装过程见:Centos7 源码安装、升级 Ruby
分别在三台机器下执行如下命令:
cd /usr/redis_cluster && ./redis-5.0.0/src/redis-server ./6379/redis.conf
cd /usr/redis_cluster && ./redis-5.0.0/src/redis-server ./6380/redis.conf
启动集群:
cd /usr/redis_cluster/redis-5.0.0/src && redis-cli --cluster create --cluster-replicas 1 192.168.28.128:6379 192.168.28.128:6380 192.168.28.129:6379 192.168.28.129:6380 192.168.28.130:6379 192.168.28.130:6380
验证集群:
./redis-cli -c -h 192.168.28.128 -p 6379
set name
get name
exit
./redis-cli -c -h 192.168.28.128 -p 6380
get name
exit
./redis-cli -c -h 192.168.28.129 -p 6380
get name
exit
./redis-cli -c -h 192.168.28.130 -p 6380
get name
exit

参考手册

Redis Cluster集群重启出现的问题
[ERR] Node 192.168.3.1:7004 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0. 

目前解决办法解决不了数据丢失的问题,见处理方式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容