cd /home/redis-cluster
vim redis-cluster.tmpl
在redis-cluster.tmpl中输入以下内容
port ${PORT}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.168.131
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
appendonly yes
各节点解释如下所示:
-
port:节点端口,即对外提供通信的端口
-
cluster-enabled:是否启用集群
-
cluster-config-file:集群配置文件
-
cluster-node-timeout:连接超时时间
-
cluster-announce-ip:集群各节点IP地址
-
cluster-announce-port:集群节点映射端口
-
cluster-announce-bus-port:集群总线端口
-
appendonly:持久化模式
cluster-announce-ip:这个IP需要特别注意一下,如果要对外提供访问功能,需要填写宿主机的IP,如果填写docker分配的IP(172.x.x.x),可能会导致部分集群节点在跳转时失败。
- 4、创建节点配置文件
在redis-cluser中执行以下命令
for port in $(seq 8010 8015); \
do \
mkdir -p ./${port}/conf \
&& PORT= p o r t e n v s u b s t < . / r e d i s − c l u s t e r . t m p l > . / {port} envsubst < ./redis-cluster.tmpl > ./ portenvsubst<./redis−cluster.tmpl>./{port}/conf/redis.conf \
&& mkdir -p ./${port}/data; \
done
验证上述命令执行的结果是否正确
- 5、创建redis节点容器
执行以下命令即可
for port in $(seq 8010 8015); \
do \
docker run -it -d -p p o r t : {port}: port:{port} -p 1 p o r t : 1 {port}:1 port:1{port} \
–privileged=true -v /home/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
–privileged=true -v /home/redis-cluster/${port}/data:/data \
–restart always --name redis-${port} --net redis-net \
–sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf; \
done
验证容器是否创建成功
查看docker给每个节点分配的IP信息
- 6、创建redis-cluster集群
进入一个容器节点
docker exec -it redis-8010 bash
在进入容器后,执行以下命令:
cd /usr/local/bin/
redis-cli --cluster create 192.168.168.131:8010 192.168.168.131:8011 192.168.168.131:8012 192.168.168.131:8013 192.168.168.131:8014 192.168.168.131:8015
出现选择提示信息,输入yes,结果如下所示:
- 7、连接redis-cluster,并添加数据到redis
在节点8010中输入以下命令
redis-cli -c -h 192.168.168.131 -p 8010
- 8、验证集群是否可以任意地方访问
以下验证是基于Windows版本的redis。其下载地址如下:
在Windows中验证的结果如下所示:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!
书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
[外链图片转存中…(img-foHWIVKK-1711988501652)]
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!