NoSQL之Redis——Redis群集
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,实验环境用两台服务器模拟6台服务器(添加网卡)主服务器M1 192.168.13.128主服务器M2 192.168.13.135主服务器M3 192.168.13.136从服务器S1 19
千家信息网最后更新 2025年02月01日NoSQL之Redis——Redis群集
实验环境
用两台服务器模拟6台服务器(添加网卡)
主服务器M1 192.168.13.128主服务器M2 192.168.13.135主服务器M3 192.168.13.136从服务器S1 192.168.13.129从服务器S2 192.168.13.137从服务器S3 192.168.13.138
1,在两台服务器上都安装Redis
[root@localhost ~]# yum install gcc gcc-c++ make -y ##安装环境组件[root@localhost ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/ ##挂载Password for root@//192.168.100.3/LNMP-C7: [root@localhost ~]# cd /mnt/[root@localhost mnt]# tar zxvf redis-5.0.7.tar.gz -C /opt/ ##解压[root@localhost mnt]# cd /opt/redis-5.0.7/[root@localhost redis-5.0.7]# make ##编译[root@localhost redis-5.0.7]# make PREFIX=/usr/local/redis/ install ##安装[root@localhost redis-5.0.7]# cd utils/[root@localhost utils]# ./install_server.sh ##执行脚本进行配置Welcome to the redis service installerThis script will help you easily set up a running redis serverPlease select the redis port for this instance: [6379] ##默认端口Selecting default: 6379Please select the redis config file name [/etc/redis/6379.conf] ##配置文件Selected default - /etc/redis/6379.confPlease select the redis log file name [/var/log/redis_6379.log] ##日志文件Selected default - /var/log/redis_6379.logPlease select the data directory for this instance [/var/lib/redis/6379] ##数据文件Selected default - /var/lib/redis/6379Please select the redis executable path [] /usr/local/redis/bin/redis-server##可执行文件路径[root@localhost utils]# ln -s /usr/local/redis/bin/* /usr/local/bin/ ##便于系统识别[root@localhost utils]# netstat -ntap | grep 6379tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 44510/redis-server
2,在两台服务器上修改配置文件
[root@localhost utils]# vim /etc/redis/6379.conf #bind 127.0.0.1 ##注释第70行的监听127地址,已监听所有地址protected-mode no ##去掉第89行注释关闭安全保护port 6379 ##去掉第93行注释,开启端口6379daemonize yes ##去掉第137行注释,以独立进程启动cluster-enabled yes ##去掉第833行注释,开启群集功能cluster-config-file nodes-6379.conf ##去掉第841行注释,群集名称文件设置cluster-node-timeout 15000 ##去掉第847行注释,群集超时时间设置appendonly yes ##去掉第700行注释,开启aof持久化[root@localhost utils]# /etc/init.d/redis_6379 restart ##重启服务Stopping ...Redis stoppedStarting Redis server...[root@localhost utils]# cd /var/lib/redis/6379/[root@localhost 6379]# lsappendonly.aof dump.rdb nodes-6379.conf ##生成aof,rdb和节点文件
3,在主服务器上安装rvm,Ruby控制群集软件
[root@master 6379]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3##导入key文件[root@master 6379]# curl -sSL https://get.rvm.io | bash -s stable ##安装rvm[root@localhost utils]# source /etc/profile.d/rvm.sh ##执行环境变量[root@localhost utils]# rvm list known ##列出ruby可以安装的版本[root@localhost utils]# rvm install 2.4.1 ##安装2.4.1 版本[root@localhost utils]# rvm use 2.4.1 ##使用rubyruby2.4.1 版本Using /usr/local/rvm/gems/ruby-2.4.1[root@localhost utils]# ruby -v ##查看当前ruby2.4.1 版本ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux][root@localhost utils]# gem install redis #再次安装Redis
4,在主服务器上添加两块网卡
[root@master ruby-2.4.1]# service network restart ##重启网卡[root@master ruby-2.4.1]# systemctl stop firewalld.service ##关闭防火墙[root@master ruby-2.4.1]# setenforce 0
5,在从服务器上也添加两块网卡
[root@slave utils]# service network restart ##重启网卡[root@slave utils]# systemctl stop firewalld.service ##关闭防火墙[root@slave utils]# setenforce 0
6,在master服务器上创建集群
##6个实例分为三组,每组一主一从[root@master ruby-2.4.1]# redis-cli --cluster create 192.168.13.128:6379 192.168.13.129:6379 192.168.13.135:6379 192.168.13.136:6379 192.168.13.137:6379 192.168.13.138:6379 --cluster-replicas 1##创建群集,每组一主一从>>> Performing hash slots allocation on 6 nodes...Master[0] -> Slots 0 - 5460Master[1] -> Slots 5461 - 10922Master[2] -> Slots 10923 - 16383Adding replica 192.168.13.137:6379 to 192.168.13.128:6379Adding replica 192.168.13.138:6379 to 192.168.13.129:6379Adding replica 192.168.13.136:6379 to 192.168.13.135:6379M: 6e0414dbd3045b2793b07be884d7335fd008a72d 192.168.13.128:6379 slots:[0-5460] (5461 slots) master ##128,129,135为主M: cdea81d9007892c55c637e3416993d30fe297ba3 192.168.13.129:6379 slots:[5461-10922] (5462 slots) masterM: 6e0414dbd3045b2793b07be884d7335fd008a72d 192.168.13.135:6379 slots:[10923-16383] (5461 slots) masterS: 6e0414dbd3045b2793b07be884d7335fd008a72d 192.168.13.136:6379 replicates 6e0414dbd3045b2793b07be884d7335fd008a72d ##136,137,138为副本S: cdea81d9007892c55c637e3416993d30fe297ba3 192.168.13.137:6379 replicates 6e0414dbd3045b2793b07be884d7335fd008a72dS: cdea81d9007892c55c637e3416993d30fe297ba3 192.168.13.138:6379 replicates cdea81d9007892c55c637e3416993d30fe297ba3...Can I set the above configuration? (type 'yes' to accept): yes ##选择yes
7,验证群集读写原理
[root@master opt]# redis-cli -h 192.168.13.129 -p 6379 ##主服务器192.168.13.129:6379> set name zhangsan ##创建键值对OK 192.168.13.129:6379> keys *1) "name"192.168.13.129:6379> get name"zhangsan"192.168.13.129:6379> exit[root@master opt]# redis-cli -h 192.168.13.137 -p 6379 ##从服务器192.168.13.137:6379> keys * ##查看从上也有1) "name"192.168.13.137:6379> get name"zhangsan"[root@master opt]# redis-cli -h 192.168.13.128 -p 6379 192.168.13.128:6379> hset person age 20 ##用hash方式建立键值对(integer) 1192.168.13.128:6379> hset person name lisi(integer) 1192.168.13.128:6379> keys *1) "person"192.168.13.128:6379> hget person age ##获取键的值"20"192.168.13.128:6379> expire person 5 ##设置键的删除时间5s(integer) 1192.168.13.128:6379> keys *1) "person"192.168.13.128:6379> keys *(empty list or set)
谢谢阅读!
服务
服务器
文件
注释
网卡
版本
环境
配置
地址
时间
端口
防火墙
监听
防火
安全
再次
功能
原理
变量
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
信息安全法规与网络安全监察试题
书目数据库建设由谁来做
单身男女下载软件开发
后端网络技术学习
软件开发需要数学多少
开源内存数据库
长沙一众互联网科技有限公司
免费永久vps服务器
网络安全童谣简单文字
信息网络安全监察专业专科
济南品君互联网科技
数据库设计过程中需求
yii2两个数据库
计算等级三级数据库技术
机器人软件开发费用
监控服务器共享文件
一般手机上显示的开放网络安全吗
网络安全刘袁君
服务器cpu主频
小软件开发有什么用
山西重型软件开发经历
软件开发对身体的危害
网络安全 管理文件
洪山软件开发定制
维持网址的服务器算不算常设机构
软件开发中elk什么意思
如何配置本地数据库
关于网络安全方案
软件开发 和 人工智能
access数据库 教程