Redis-cluster集群搭建

注:redis-cluster最少需要三主三从

修改redis配置文件
每台机器上redis都需要配置

//绑定服务器IP地址(多个用空格分开,如果是本机启用多个redis,则用默认配置就好,如果是多台服务器,就必须指定ip)
bind 192.168.127.130  127.0.0.1
//绑定端口号,必须修改,以此来区分Redis实例
port 7000  
//后台运行
daemonize yes  
//密码
requirepass 123456
//修改pid进程文件名
pidfile /var/run/redis-1.pid
//修改日志文件名称(必须指定绝对路径)
logfile /root/application/program/redis-cluster/node1/redis.log  
//修改数据文件存放地址
dir /root/application/program/redis-cluster/node1/  
//启用集群
cluster-enabled yes  
//配置每个节点的配置文件,同样以端口号为名称
cluster-config-file nodes-1.conf  
//配置集群节点的超时时间,可改可不改
cluster-node-timeout 15000  
//启动AOF增量持久化策略
appendonly yes  
//发生改变就记录日志
appendfsync always  

配置文件更改完之后,分别启动所有redis

./redis-server [指定配置文件 /**/redis.conf]

开放redis服务端口

#开放端口
firewall-cmd --zone=public --add-port=6379/tcp –permanent
#多台redis服务器做通信的时候会需要10000 + 端口号(原因百度,我不记得了,但是必须配置)
firewall-cmd --zone=public --add-port=16379/tcp –permanent

#重启防火墙服务:
systemctl restart firewalld.service

#其他命令
#关闭端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 查看所有永久开放的端口(默认为空)
firewall-cmd --list-ports --permanent
#查看Linux某端口的情况
netstat -tunlp | grep 6379

自动创建集群,(当然也可以手动)
在启动好的随便一台redis机器上运行

./redis-cli --cluster create [ip]:[port] [ip]:[port]….[有密码的话需要指定 –a 123456]  --cluster-replicas 1

--cluster-replicas 1这个表示为每台 主 设置几个 从

然后后他会自己创建集群

这时候注意,如果是本机堕胎redis的集群,那么它会自动创建完

如果是不同服务器之间他会卡在

redis****集群环境卡在****Waiting for the cluster to join..

,这个时候需要去其他redis的cli命令去 加入到集群中,

CLUSTER MEET ip port

cluster meet命令解析

这个时候在创建集群的地方可能会出现错误

warning 1 nodes(s) may unreachable
cluster bus ports must be reachable by every node.
remeber that cluster bus ports are different form standard instance ports

这是因为两台服务器之间的通信没有打通,去看看是不是之前防火墙端口没开,还有配置文件bind是否指定了ip

使用cluster meet加入进去后,看到

[OK] All 16384 slots covered

则表示集群创建成功
然后去set get测试
这个时候如果不是集群模式连接会报错redis集群报错:

(error) MOVED
需要用集群模式去连接

./redis-cli -a xxxx -c

其他问题:

could not connect to redis at xxxx cannot assign requestd address

Redis:Cannot assign requested address的解决办法

客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,即“Cannot assign requestedaddress”。是客户端的问题不是服务器端的问题。通过netstat,的确看到很多TIME_WAIT状态的连接。

执行命令修改如下2个内核参数(需要root权限)

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

推荐阅读更多精彩内容