SpringBoot整合NoSql--(三)Redis集群
2020-02-23 16:01:58来源:博客园 阅读 ()
SpringBoot整合NoSql--(三)Redis集群
(1)集群原理
在Redis集群中,所有的Redis节点彼此互联,节点内部使用二进制协议优化传输速度和带宽。 当一个节点挂掉后,集群中超过半数的节点检测失效时才认为该节点已失效。不同于Tomcat集群 需要使用反向代理服务器,Redis 集群中的任意节点都可以直接和Java客户端连接。Redis 集群上 的数据分配则是采用哈希槽(HASH SLOT),Redis集群中内置了16384 个哈希槽,当有数据需要 存储时,Redis会首先使用CRC16算法对key进行计算,将计算获得的结果对16384取余,这样每 一个key都会对应一个取值在0~16383之间的哈希槽,Redis则根据这个余数将该条数据存储到对 应的Redis节点上,开发者可根据每个Redis实例的性能来调整每个Redis实例上哈希槽的分布范 围。
(2)集群规划
本案例在同一台服务器上用不同的端口表示不同的Redis服务器(伪分布式集群)。 主节点: 192.168.248.144:8001, 192. 168.248.144:8002, 192.1 68.248.144:8003。 从节点: 192.168.248.144:8004, 192. 168.248.144:8005, 192. 168.248.144:8006。
(3)集群配置
Redis集群管理工具redis-trib.rb依赖Ruby环境,首先需要安装Ruby环境。
安装步骤:
1.导入公钥
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
2.输入下面的命令来请求安装
\curl -sSL https://get.rvm.io | bash -s stable
3.shell环境更新一下,rvm -v 显示版本
source ~/.bashrc source ~/.bash_profile source /usr/local/rvm/scripts/rvm
4.列出已知的 Ruby 版本
rvm list known
5.安装rvm
rvm install 2.5.1
6.安装 redis依赖
7.将下载好的redis编译安装
mkdir redisCluster CP -f ./redis-4.0.10.tar.gz ./redisCluster/ cd redisCluster tar -zxvf redis-4.0.10.tar.gz cd redis-4.0.10 make MALLOClibc make install
8 复制redis-trib.rb到redisCluster下
9.在redisCluster下创建6个文件夹(8001-8006),并将redis.conf复制到8001-8006下,更改每一个redis.conf
8001为例: port 8001 #bind 127.0.0.1 cluster-enabled yes cluster-config-file node-8001.conf protected-mode no daemonize yes requirepass 123456 masterauth 123456
10.进入redis-5.0.5启动6个redis,回到redisCluster目录下
通过指令找到安装的redis在ruby环境中的配置client.rb
打开client.rb并修改密码
11.创建集群
redis-cli --cluster create 192.168.205.100:8001 192.168.20 5.100:8002 192.168.205.100:8003 192.168.205.100:8004 192.168.205.100:8005 192.168.205.100:8006 --cluster-replicas 1 -a 123456
Can I set the above configuration? (type 'yes' to accept): yes,该处请输入yes,不然好像分配不了哈希槽
这样就行了
测试:
[root@localhost redis-5.0.5]# redis-cli -p 8001 -a 123456 -c Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.127.0.0.1:8001> auth 123456 OK 127.0.0.1:8001> CLUSTER nodes 4c3938eb52b31c3dab74d0edb878d6c42a711a7a 192.168.205.100:8003@18003 master - 0 1582461427 000 3 connected 10923-16383b4dfec3ff7490fd7207bdf7f48d0212d8596ba15 192.168.205.100:8001@18001 myself,master - 0 158 2461424000 1 connected 0-5460adb99416cc376b767198aa606042e98b904a1544 192.168.205.100:8002@18002 master - 0 1582461425 834 2 connected 5461-10922f83c3c955420221b4939617e1520d5ba9370b1d8 192.168.205.100:8004@18004 slave adb99416cc376b7 67198aa606042e98b904a1544 0 1582461426000 2 connected2bbfdf6085405753ef5931cb0a883db9043a2f22 192.168.205.100:8006@18006 slave b4dfec3ff7490fd 7207bdf7f48d0212d8596ba15 0 1582461426844 6 connected4603f708c2e106cd2c227a7c7eb6986ca62b293c 192.168.205.100:8005@18005 slave 4c3938eb52b31c3 dab74d0edb878d6c42a711a7a 0 1582461427859 5 connected127.0.0.1:8001> set k1 测试 -> Redirected to slot [12706] located at 192.168.205.100:8003 OK 192.168.205.100:8003> exit [root@localhost redis-5.0.5]# redis-cli -p 8002 -a 123456 -c Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.127.0.0.1:8002> auth 123456 OK 127.0.0.1:8002> get k1 -> Redirected to slot [12706
ok
原文链接:https://www.cnblogs.com/crazy-lc/p/12354146.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 掌握SpringBoot-2.3的容器探针:实战篇 2020-06-11
- nacos~配置中心功能~springboot的支持 2020-06-10
- SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash