十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
怎样进行Redis群集搭建,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
站在用户的角度思考问题,与客户深入沟通,找到五大连池网站设计与五大连池网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟空间、企业邮箱。业务覆盖五大连池地区。两台Centos 7虚拟机,均添加三块网卡用以模拟六台服务器实景 | 服务器角色 | IP地址 |
---|---|---|
centos7-1 | 主节点M1 | 192.168.142.130 |
centos7-2 | 主节点M2 | 192.168.142.145 |
centos7-3 | 主节点M3 | 192.168.142.146 |
centos7-4 | 从节点S1 | 192.168.142.143 |
centos7-5 | 从节点S2 | 192.168.142.147 |
centos7-min | 从节点S3 | 192.168.142.148 |
#安装编译环境 [root@localhost ~]# yum install gcc gcc-c++ make -y #远程挂载源码包 [root@localhost ~]# mount.cifs //192.168.142.1/redis /mnt Password for root@//192.168.142.1/redis: #解压源码包 [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]# ln -s /usr/redis/bin/* /usr/local/bin/ #切入utils目录 [root@localhost redis-5.0.7]# cd /opt/redis-5.0.7/utils/ #执行启动脚本 [root@localhost utils]# ./install_server.sh #以下内容,默认回车即可 Welcome to the redis service installer This script will help you easily set up a running redis server Please select the redis port for this instance: [6379] Selecting default: 6379 Please select the redis config file name [/etc/redis/6379.conf] Selected default - /etc/redis/6379.conf Please select the redis log file name [/var/log/redis_6379.log] Selected default - /var/log/redis_6379.log Please select the data directory for this instance [/var/lib/redis/6379] Selected default - /var/lib/redis/6379 Please select the redis executable path [] /usr/local/redis/bin/redis-server #此处需手动指定扩展目录路径/usr/local/redis/bin/redis-server #使用进程控制启动服务 [root@localhost utils]# /etc/init.d/redis_6379 start Starting Redis server... #配置redis的6379.conf文件,追加监听地址 [root@localhost utils]# vim /etc/redis/6379.conf #注释第70行的监听127地址,已监听所有地址 #bind 127.0.0.1 #去掉第89行注释关闭安全保护 protected-mode no #去掉第93行注释,开启端口6379 port 6379 #去掉第137行注释,以独立进程启动 daemonize yes #去掉第833行注释,开启群集功能 cluster-enabled yes #去掉第841行注释,群集名称文件设置 cluster-config-file nodes-6379.conf #去掉第847行注释,群集超时时间设置 cluster-node-timeout 15000 #去掉第700行注释,开启aof持久化 appendonly yes #重启服务 [root@localhost utils]# /etc/init.d/redis_6379 restart Stopping ... Redis stopped Starting Redis server...
#导入key文件 [root@localhost utils]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 #安装rvm [root@localhost utils]# curl -sSL https://get.rvm.io | bash -s stable #执行环境变量 [root@localhost utils]# source /etc/profile.d/rvm.sh #列出ruby可以安装的版本 [root@localhost utils]# rvm list known #安装2.4.1 版本 [root@localhost utils]# rvm install 2.4.1 #使用rubyruby2.4.1 版本 [root@localhost utils]# rvm use 2.4.1 Using /usr/local/rvm/gems/ruby-2.4.1 #查看当前ruby2.4.1 版本 [root@localhost utils]# ruby -v ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] #再次安装Redis [root@localhost utils]# gem install redis
#加入所有节点地址,并加6379端口号 [root@localhost utils]# redis-cli --cluster create 192.168.142.130:6379 192.168.142.145:6379 192.168.142.146:6379 192.168.142.143:6379 192.168.142.147:6379 192.168.142.148:6379 --cluster-replicas 1 >>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 192.168.142.147:6379 to 192.168.142.130:6379 Adding replica 192.168.142.148:6379 to 192.168.142.145:6379 Adding replica 192.168.142.143:6379 to 192.168.142.146:6379 M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.130:6379 slots:[0-5460] (5461 slots) master M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.145:6379 slots:[5461-10922] (5462 slots) master M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.146:6379 slots:[10923-16383] (5461 slots) master S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.143:6379 replicates a27b43ec695099b36a5c79beae70cb0364f27338 S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.147:6379 replicates a27b43ec695099b36a5c79beae70cb0364f27338 S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.148:6379 replicates a27b43ec695099b36a5c79beae70cb0364f27338 Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join >>> Performing Cluster Check (using node 192.168.142.130:6379) M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.130:6379 slots:[0-16383] (16384 slots) master 1 additional replica(s) S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.148:6379 slots: (0 slots) slave replicates a27b43ec695099b36a5c79beae70cb0364f27338 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
#从主节点计入数据库写数据 [root@localhost ~]# redis-cli -h 192.168.142.130 -p 6379 192.168.142.130:6379> set name yangjia OK 192.168.142.130:6379> get name "yangjia" #从另一节点查看数据信息 [root@localhost ~]# redis-cli -h 192.168.142.146 -p 6379 192.168.142.146:6379> keys * 1) "name" 192.168.142.146:6379> get name "yangjia" #在从节点无法查看数据,提示切换主节点服务器地址 [root@localhost ~]# redis-cli -h 192.168.142.143 -p 6379 192.168.142.143:6379> keys * 1) "name" 192.168.142.143:6379> get name (error) MOVED 5798 192.168.142.146:6379
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联-成都网站建设公司行业资讯频道,感谢您对创新互联的支持。