redis¼¯Èº²¿Êð·½°¸£¬redis¼¯Èº²¿Êðģʽ
chanong
|ÕªÒª£º±¾ÎĵÄÄ¿µÄÊÇÔÚµ¥»úÉϹ¹½¨Ò»¸öRedis¼¯Èº£¬Í¨¹ýÔÚ²»Í¬µÄTCP¶Ë¿ÚÉÏÆô¶¯¶à¸öʵÀý£¬ÐγÉÒ»¸ö¼¯Èº£¬²¢¼Ç¼¹¹½¨¹ý³ÌÖÐÓöµ½µÄÏÝÚå¡£°²×°×¼±¸centos °æ±¾£º 6.7 redis °æ±¾£º 3.2.3 °²×°·½Ê½£º Ô´Âë°²×°·þÎñÆ÷£º 1 ʹÓÃ˵Ã÷ÕâÀïĬÈ**²×°µ¥¸öredis 1. Æô¶¯¶à¸öRedisʵÀýRedis°²×°ÔÚÏÂÃæ´´½¨Ò»¸öĿ¼´ØÕâÁù¸öÅäÖÃÎļþ½«ÓÃÓÚÆô¶¯Áù¸öʵÀý¡£ÉÔºó½«Ê¹ÓÃÕâÁù¸öʵÀýÀ´Ðγɼ¯Èº¡£
±¾ÎĵÄÄ¿µÄ
ÒªÔÚµ¥Ì¨¼ÆËã»úÉϹ¹½¨Redis ¼¯Èº£¬Çëͨ¹ý²»Í¬µÄTCP ¶Ë¿ÚÆô¶¯¶à¸öʵÀý£¬Ðγɼ¯Èº£¬²¢¼ÇϹ¹½¨¹ý³ÌÖÐÓöµ½µÄÈκÎÏÝÚå¡£
×¼±¸°²×°
Sentos°æ±¾£º6.7
Redis°æ±¾£º3.2.3
°²×°·½Ê½£ºÔ´Âë°²×°
·þÎñÆ÷£º1
²½
ÕâÀïĬÈ**²×°ÁËһ̨Redis¡£
1.Æô¶¯¶à¸öRedisʵÀý
ÔÚRedis°²×°Ä¿Â¼Ï´´½¨Ä¿Â¼´Ø£¬Ð´Èë7000.confµ½7005.conf 6¸öÅäÖÃÎļþ¡£ÕâÁù¸öÅäÖÃÎļþÓÃÓÚÆô¶¯Áù¸öʵÀý¡£ÉÔºó½«Ê¹ÓÃÕâÁù¸öʵÀýÀ´Ðγɼ¯Èº¡£
ÒÔ7000.confΪÀý£¬ÅäÖÃÎļþ±ØÐë°üº¬ÒÔÏÂÌõÄ¿£º
ÿ¸öÆô¶¯6 ¸öʵÀý
Æô¶¯³É¹¦ºóÎÒÃÇ¿´Ò»ÏÂÁ÷³Ì
ÖÁ´Ë£¬»úÆ÷ÉÏÒѾ´´½¨ÁË6¸öʵÀý£¬ip=192.168.186.91£¬¶Ë¿ÚºÅÔÚport=7000µ½7005Ö®¼ä¡£
2.°²×°ºì±¦Ê¯
1£©yum°²×°RubyºÍÒÀÀµ°ü¡£
[root@itfirst redis_cluster]# yum -y install Ruby Ruby-devel Rubygems rpm-build
2£©Ê¹ÓÃgemÃüÁî°²×°Redis½Ó¿Ú
[root@itfirst redis_cluster]# gem install redis
ERROR: °²×°redis:ʱ³ö´í
redis ÐèÒªRuby °æ±¾=2.2.2¡£
ÕâÒ»²½³öÏÖÁËbug£¬¶ÈÄï¸æËßÎÒ£¬ÎÒµÄRuby°æ±¾Ì«µÍ£¬ÐèÒªÉý¼¶¡£
3£©Ruby°æ±¾Éý¼¶
°²×°RVM¡£ÎÒ²»ÖªµÀÕâÊÇʲô£¬µ«¸Ð¾õÏñÊÇRuby µÄ°ü¹ÜÀíÆ÷¡£
[root@itfirst redis_cluster]#curl -L get.rvm.io | bash -stead
% ×ܼÆ% ÒѽÓÊÕ% Xferd ƽ¾ùËÙ¶Èʱ¼äʱ¼äʱ¼äµ±Ç°
Dload ÉÏ´«Ê£Óà×ÜʹÓÃÂÊ
100 24090 100 24090 0 0 10919 0 0:00:02 0:00:02 --:--:-- 91242
https://ÏÂÔØgithub.com/rvm/rvm/archive/1.29.3.tar.gz
https://ÏÂÔØgithub.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc
Ç©ÃûÓÉgpg: ÔÚ2017 Äê9 ÔÂ11 ÈÕÐÇÆÚÒ»04:59:21 CST ʹÓÃRSA ´´½¨£¬ÃÜÔ¿ºÅBF04FF17¡£
gpg: ÎÞ·¨Ñé֤ǩÃû£ºÈ±ÉÙ¹«Ô¿
¾¯¸æ£¬RVM 1.26.0 ÒýÈëÁËÇ©Ãû°æ±¾£¬²¢ÔÚ·¢ÏÖGPG Èí¼þʱ½øÐÐ×Ô¶¯Ç©Ãû¼ì²é¡£¼ÙÉèÄúÐÅÈÎMichal Papis£¬Çëµ¼Èëmpapis ¹«Ô¿£¨ÏÂÔØÇ©Ãû£©¡£
¡°/usr/local/rvm/archives/rvm-1.29.3.tgz¡±µÄGPG Ç©ÃûÑéÖ¤- ¡°https://github.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc¡±Ê§°Ü'£¡³¢ÊÔ°²×°GPG v2£¬È»ºó»ñÈ¡publickey:
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
Èç¹ûʧ°ÜÔò·µ»Ø£º
ÃüÁîcurl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
ÃÜÔ¿¿ÉÒԺͣº¶Ô±È
https://rvm.io/mpapis.asc
https://keybase.io/mpapis
×¢Ò⣺ GPG °æ±¾2.1.17 ÓÐÒ»¸ö´íÎ󣬸ôíÎó»áÔÚ´ÓÔ¶³Ì·þÎñÆ÷¼ìË÷ÃÜԿʱµ¼Ö´íÎó¡£Çë½µ¼¶»òÉý¼¶µ½½Ïеİ汾£¨Èç¹ûÓУ©»òʹÓÃÉÏÊöµÚ¶þÖÖ·½·¨¡£
´Ë²Ù×÷²úÉúÒÔϽá¹û£º
gpg2 recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
È»ºóʹÓôËÃÜÔ¿ÏÂÔØ²¢Éý¼¶Ruby¡£
[root@itfirst redis_cluster]# gpg --keyserver hkp: //keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
gpg: ´Óhkp·þÎñÆ÷keys.gnupg.netÏÂÔØÃÜÔ¿¡°D39DC0E3¡±
gpg: /root/.gnupg/trustdb.gpg£ºÒѽ¨Á¢ÐÅÈÎÊý¾Ý¿â
gpg: ÃÜÔ¿D39DC0E3£ºÒѵ¼È빫Կ¡°Michal Papis£¨RVM Ç©Ãû£©¡±
gpg: δÕÒµ½¾ø¶Ô¿ÉÐŵÄÃÜÔ¿
gpg: ½ø³Ì×ÜÊý£º1
gpg: µ¼È룺1 (RSA: 1)
[root@itfirst redis_cluster]#curl -sSL https://get.rvm.io | bash -s stable
https://ÏÂÔØgithub.com/rvm/rvm/archive/1.29.3.tar.gz
https://ÏÂÔØgithub.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc
Ç©ÃûÓÉgpg: ÔÚ2017 Äê9 ÔÂ11 ÈÕÐÇÆÚÒ»04:59:21 CST ʹÓÃRSA ´´½¨£¬ÃÜÔ¿ºÅBF04FF17¡£
gpg: À´×Ô¡°Michal Papis£¨RVM Ç©Ãû£©¡±µÄÍêÕûÇ©Ãû
gpg: Ò²³ÆÎª¡°Michal Papis¡±
gpg: ÓÖÃû¡°[´óСΪ5015 µÄjpeg ͼÏñ]¡±
gpg: ¾¯¸æ£º´ËÃÜÔ¿ÉÐδ¾¹ý¿ÉÐÅÇ©ÃûµÄÑéÖ¤¡£
gpg: ûÓÐÖ¤¾Ý±íÃ÷´ËÇ©ÃûÊôÓÚÆäÉù³ÆµÄËùÓÐÕß¡£
Ö÷Ô¿³×Ö¸ÎÆ£º409B 6B17 96C2 7546 2A17 0311 3804 BB82 D39D C0E3
×ÓÃÜÔ¿Ö¸ÎÆ£º62C9 E5F4 DA30 0D94 AC36 166B E206 C29F BF04 FF17
GPG ÑéÖ¤ÁË¡°/usr/local/rvm/archives/rvm-1.29.3.tgz¡±
´´½¨×é¡°rvm¡±
½«RVM °²×°µ½/usr/local/rvm/
/usr/local/rvm/ÖеÄRVM °²×°¼´½«Íê³É£º
* Ê×ÏÈ£¬ËùÓн«Ê¹ÓÃrvm µÄÓû§¶¼±ØÐëÌí¼Óµ½¡°rvm¡±×éÖС£
È»ºó×¢Ïú- ÔٴεǼ£¬ÈκÎʹÓÃrvm µÄÈ˶¼½«Ê¹ÓÃ`umask u=rwx,g=rwx,o=rx` ½øÐвÙ×÷¡£
* Òª¿ªÊ¼Ê¹ÓÃRVM£¬ÄúÐèÒªÔËÐС°source /etc/profile.d/rvm.sh¡±¡£
´ò¿ªËùÓÐshell ´°¿Úºó£¬ÔÚ¼«ÉÙÊýÇé¿öÏ£¬Äú¿ÉÄÜÐèÒªÖØÐ´ò¿ªËùÓÐshell ´°¿Ú¡£
½ÓÏÂÀ´£¬»ñÈ¡»·¾³²¢Ê¹rvm ¿ÉÓá£
[root@itfirst ~]# Ô´/usr/local/rvm/scripts/rvm
ÏÔʾ¿ÉÓõÄRuby °æ±¾
[root@itfirst ~]# ÒÑÖªµÄRVM Áбí
#MRIºì±¦Ê¯
[ºì±¦Ê¯-]1.8.6[-p420]
[ruby-]1.8.7[-head] # Head °²È«ÐÔÒÑ·¢²¼
[ºì±¦Ê¯-]1.9.1[-p431]
[ºì±¦Ê¯-]1.9.2[-p330]
[ºì±¦Ê¯-]1.9.3[-p551]
[ºì±¦Ê¯-]2.0.0[-p648]
[ºì±¦Ê¯-]2.1[.10]
[ºì±¦Ê¯-]2.2[.7]
[ºì±¦Ê¯-]2.3[.4]
[ºì±¦Ê¯-]2.4[.1]
ºì±¦Ê¯Í·
# fork use: RVM install Ruby-head--url https://github.com/github/ruby.git --branch 2.2
#JRuby
jruby-1.6[.8]
jruby-1.7[.27]
jruby[-9.1.13.0]
Öì±ÈÍ·
#³±ÈÄáÎÚ˹
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx-3[.84]
RBXÍ·
µ°°×ʯ
µ°°×ʯ
# ×îСRuby ʵÏÖ- ISO 30170:2012
mruby-1.0.0
mruby-1.1.0
mruby-1.2.0
ķ³±È-1[.3.0]
ķ³±È[-Í·]
# Ruby ÆóÒµ°æ
Àî-1.8.6
Àî[-1.8.7][-2012.02]
»ÆÓñ
»ÆÓñ
#´ÅÐü¸¡
Ö±Ïßµç»ú³µ[-Í·]
´ÅÐü¸¡-1.0.0
#Mac OS X Snow Leopard »ò¸ü¸ß°æ±¾
Âó¿Ë³±È-0.10
Âó¿Ë³±È-0.11
Âó¿Ë³±È[-0.12]
Âó¿ËÀ³Î¬¡¤ÄÎÌØÀû
Âó¿Ë¬ά½Ç
#Ìúºì±¦Ê¯
Ìúºì±¦Ê¯[-1.1.3]
Ìúºì±¦Ê¯Í·
¿ÉÒÔ¿´µ½×îа汾ÊÇ2.4.1¡£±¾Îݲװ2.3.0¡£
ÖÁ´Ë£¬Ruby°æ±¾ÒѾÉý¼¶Íê±Ï¡£
[root@itfirst ~]# RVM°²×°2.3.0
ËÑË÷¶þ½øÖÆRuby ¿ÉÄܷdz£ºÄʱ¡£
ÕÒµ½Ô¶³ÌÎļþhttps://rvm_io.global.ssl.fastly.net/binaries/centos/6/x86_64/ruby-2.3.0.tar.bz2
¼ì²éCentos ÒªÇó¡£
Centos °²×°ÒªÇó¡£
°²×°ËùÐèµÄÈí¼þ°ü£º autoconf¡¢automake¡¢bison¡¢libffi-devel¡¢libtool¡¢readline-devel¡¢sqlite-devel¡¢libyaml-devel.
ÒªÇó°²×°³É¹¦¡£
Ruby-2.3.0 - #configure
Ruby-2.3.0-#download
% ×ܼÆ% ÒѽÓÊÕ% Xferd ƽ¾ùËÙ¶Èʱ¼äʱ¼äʱ¼äµ±Ç°
Dload ÉÏ´«Ê£Óà×ÜʹÓÃÂÊ
100 21.9M 100 21.9M 0 0 266k 0 0:01:24 0:01:24 --:--:-- 278k
ÏÂÔØµÄµµ°¸Ã»ÓÐУÑéºÍ¡£ÔÚÓû§ÉèÖÃÖмǼУÑéºÍ¡£
Ruby-2.3.0 - #validate ´æµµ
Ruby-2.3.0 - #extract
Ruby-2.3.0 - #ÑéÖ¤¶þ½øÖÆÎļþ
Ruby-2.3.0-#setup
Ruby-2.3.0 - #gemset ´´½¨ÁË/usr/local/rvm/gems/ruby-2.3.0@global
Ruby-2.3.0 - #µ¼Èëgemset /usr/local/rvm/gemsets/global.gems....
Ruby-2.3.0 - #Éú³ÉÈ«¾Ö°ü×°Æ÷.
Ruby-2.3.0 - #gemset ´´½¨ÁË/usr/local/rvm/gems/ruby-2.3.0
Ruby-2.3.0 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems ÆÀ¹ÀΪ¿Õgem Áбí
Ruby-2.3.0 - #Éú³ÉĬÈ**ü×°Æ÷.
4£©°²×°gem redis½Ó¿Ú
[root@itfirst ~]# RVMʹÓÃ2.3.0
ʹÓÃ/usr/local/rvm/gems/ruby-2.3.0
[root@itfirst ~]# RVM ɾ³ý1.8.7
Ruby-1.8.7-head - #ÒѾÏûʧ
ʹÓÃ/usr/local/rvm/gems/ruby-2.3.0
[root@itfirst ~]# Ruby --version
Ruby 2.3.0p0£¨2015-12-25 ÐÞ¶©°æ53290£©[x86_64-linux]
[root@itfirst ~]# gem install redis
ÕýÔÚ»ñÈ¡£º redis-4.0.1.gem (100%)
redis-4.0.1°²×°³É¹¦
½âÎöredis-4.0.1Îĵµ
°²×°redis-4.0.1µÄriÎĵµ
0ÃëºóRedisÎĵµ°²×°Íê³É
°²×°ÁË1 ¸ö±¦Ê¯
5£©°²×°Rubygems
# yum install -y Rubygems
ÖÁ´Ë£¬RubyÔËÐÐËùÐèµÄ»·¾³ºÍredis-trib.rbÒѾ°²×°Íê±Ï¡£
3.Redis¼¯Èº´î½¨
Ò»µ©ÄúÓµÓÐÁËRuby Ö´Ðл·¾³£¬Äú¾Í¿ÉÒÔ¿ªÊ¼Ê¹ÓÃÇ°ÃæµÄÁù¸öʵÀýÀ´¹¹½¨¼¯Èº¡£
redis-trib.rb ´´½¨--replicas 1 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 192.168.186.91:7003 192.168.186 .91:7004 192.168.186.91:7005
ÓÐ3¸öÖ÷È˺Í3¸öÅ«Á¥¡£Çë×ñÑÒÔÏÂÁù¸öʾÀý¡£¸ñʽΪip: ¶Ë¿Ú¡£
¡¾ÕâÀïÓÐÒ»¸ö¶´¡¿
µÚÒ»¸ö¿Ó
[root@itfirst src]# redis-trib.rb create --replicas 1 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 192.168.186.91:7003 1 92.168.186.91:7004 192.168.186.91:7005
-bash: redis-trib.rb: ÃüÁîδÕÒµ½
[root@itfirst src]# cp redis-trib.rb /usr/local/bin
ÐèÒª½«redis-trib.rb¸´ÖƵ½/usr/local/binĿ¼Ï¡£
µÚ¶þ¸ö¿Ó
[root@itfirst bin]# redis-trib.rb create --replicas 1 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 192.168.186.91:7003 192 .168.186.91:7004 192.168.186.91:7005
´´½¨¼¯Èº
[ERR] ½Úµã192.168.186.91:7000 ²»Îª¿Õ¡£¸Ã½Úµã¿ÉÄÜÒѾÁ˽âÆäËû½Úµã£¨Ê¹ÓÃCLUSTERNODES ¼ì²é£©£¬»òÕßÊý¾Ý¿â0 °üº¬Ä³Ð©ÃÜÔ¿¡£
ÅÜÍêµÚÒ»¸ö¶´£¬¼ÌÐøÅÜ£¬·¢ÏÖÁ˵ڶþ¸ö¶´£¬ÐҺöÈÄïÔÚ£¬µ«ÍøÉÏÓв»Í¬µÄ˵·¨£¨Ö÷ÒªÊDz©¿Í¡¶¼«¿Íon֮·¡·£©¡£±íʾRedisÊý¾Ý¿âÉÐδÇå³ý¡£
[root@itfirst src]# redis-cli -h 192.168.186.91 -p 7001
192.168.186.91:7001ÉÁ´æÊý¾Ý¿â
ÖªµÀÁË
192.168.186.91:7001 Í£Ö¹Ëü¡£
[root@itfirst src]# redis-cli -h 192.168.186.91 -p 7002
192.168.186.91:7002 ÉÁ´æÊý¾Ý¿â
ÖªµÀÁË
192.168.186.91:7002 Í£Ö¹°É¡£
[root@itfirst src]# redis-cli -h 192.168.186.91 -p 7003
192.168.186.91:7003 FlashÊý¾Ý¿â
ÖªµÀÁË
192.168.186.91:7003 Í£Ö¹°É¡£
[root@itfirst src]# redis-cli -h 192.168.186.91 -p 7004
192.168.186.91:7004ÉÁ´æÊý¾Ý¿â
ÖªµÀÁË
192.168.186.91:7004 Í£Ö¹°É¡£
[root@itfirst src]# redis-cli -h 192.168.186.91 -p 7005
192.168.186.91:7005ÉÁ´æÊý¾Ý¿â
ÖªµÀÁË
192.168.186.91:7005 Í£Ö¹°É¡£
[root@itfirst src]# redis-trib.rb create --replicas 1 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 192.168.186.91:7003 1 92.168.186.91:7004 192.168.186.91:7005
´´½¨¼¯Èº
ÔÚ6 ¸ö½ÚµãÉÏÖ´ÐйþÏ£²Û·ÖÅä.
ÈýÖ÷Óãº
192.168.186.91:7000
192.168.186.91:7001
192.168.186.91:7002
½«¸±±¾192.168.186.91:7003 Ìí¼Óµ½192.168.186.91:7000
½«¸±±¾192.168.186.91:7004 Ìí¼Óµ½192.168.186.91:7001
½«¸±±¾192.168.186.91:7005 Ìí¼Óµ½192.168.186.91:7002
M: 61b2b608177374fd0382c872f996a2c25f62daac 192.168.186.91:7000
²å²Û£º0-5460,9189£¨5462¸ö²å²Û£©Ö÷¿Ø
M: 50e678c98c31baa4ece1cba096cc34b4545456f3 192.168.186.91:7001
²å²Û£º5461-10922£¨5462¸ö²å²Û£©Ö÷
M: b8dc855a92d1c9a6e358380286a757011c40601d 192.168.186.91:7002
²å²Û£º9189¡¢10923-16383£¨5462 ¸ö²å²Û£© Ö÷Õ¾
S: 42392d8b4665500b3229b5c5b9dcebed311c9cdf 192.168.186.91:7003
¿Ë¡61b2b608177374fd0382c872f996a2c25f62daac
S: 4e8cd9bae1dc0ffa63a3b8315e3f92b0490e65f8 192.168.186.91:7004
¿Ë¡50e678c98c31baa4ece1cba096cc34b4545456f3
S: 3344981c3290c39b0d9f427842398c17de835293 192.168.186.91:7005
ÖØ¸´b8dc855a92d1c9a6e358380286a757011c40601d
ÎÒ¿ÉÒÔÉèÖÃÒÔÉÏÅäÖÃÂ𣿣¨ÇëÊäÈëyes½ÓÊÜ£©: ÊÇ
/usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis/client.rb:119:in `call': ERR ²å²Û9189 ÒÑæ£¨Redis:CommandError£©
À´×Ô/usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:2764: Öеġ°×èÈû·½·¨_ȱʧ¡±
/usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:45:in À´×Ô¡°Í¬²½¿é¡±
À´×Ô/usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214: ÖеÄ`mon_synchronize'
/usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:45:in À´×Ô¡°Í¬²½¡±
À´×Ô/usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:2763: ÖеÄ`method_missing'
À´×Ô/usr/local/bin/redis-trib.rb:212: ÖеÄ`flush_node_config'
À´×Ô/usr/local/bi
n/redis-trib.rb:776:in `block in flush_nodes_config' from /usr/local/bin/redis-trib.rb:775:in `each' from /usr/local/bin/redis-trib.rb:775:in `flush_nodes_config' from /usr/local/bin/redis-trib.rb:1296:in `create_cluster_cmd' from /usr/local/bin/redis-trib.rb:1696:in `' µÚÈý¿Ó [root@itfirst src]# redis-trib.rb create --replicas 1 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 192.168.186.91:7003 192.168.186.91:7004 192.168.186.91:7005 >>> Creating cluster >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 Adding replica 192.168.186.91:7003 to 192.168.186.91:7000 Adding replica 192.168.186.91:7004 to 192.168.186.91:7001 Adding replica 192.168.186.91:7005 to 192.168.186.91:7002 M: 61b2b608177374fd0382c872f996a2c25f62daac 192.168.186.91:7000 slots:0-5460,9189 (5462 slots) master M: 50e678c98c31baa4ece1cba096cc34b4545456f3 192.168.186.91:7001 slots:5461-10922 (5462 slots) master M: b8dc855a92d1c9a6e358380286a757011c40601d 192.168.186.91:7002 slots:9189,10923-16383 (5462 slots) master S: 42392d8b4665500b3229b5c5b9dcebed311c9cdf 192.168.186.91:7003 replicates 61b2b608177374fd0382c872f996a2c25f62daac S: 4e8cd9bae1dc0ffa63a3b8315e3f92b0490e65f8 192.168.186.91:7004 replicates 50e678c98c31baa4ece1cba096cc34b4545456f3 S: 3344981c3290c39b0d9f427842398c17de835293 192.168.186.91:7005 replicates b8dc855a92d1c9a6e358380286a757011c40601d Can I set the above configuration (type 'yes' to accept): yes /usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis/client.rb:119:in `call': ERR Slot 9189 is already busy (Redis::CommandError) from /usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:2764:in `block in method_missing' from /usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:45:in `block in synchronize' from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' from /usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:45:in `synchronize' from /usr/local/rvm/gems/ruby-2.3.0/gems/redis-4.0.1/lib/redis.rb:2763:in `method_missing' from /usr/local/bin/redis-trib.rb:212:in `flush_node_config' from /usr/local/bin/redis-trib.rb:776:in `block in flush_nodes_config' from /usr/local/bin/redis-trib.rb:775:in `each' from /usr/local/bin/redis-trib.rb:775:in `flush_nodes_config' from /usr/local/bin/redis-trib.rb:1296:in `create_cluster_cmd' from /usr/local/bin/redis-trib.rb:1696:in `' »¹ÊǶÈÄï¿¿Æ×£¬ÔÚ¡¶redis ¿ç»úÆ÷¼¯ÈºÆô¶¯³ö´í¡·²©¿ÍÖÐÕÒµ½Á˴𰸡£ ÕâÊÇÓÉÓÚÖ®¼ä´´½¨¼¯ÈºÃ»Óгɹ¦,ÐèÒª½«nodes.confºÍdirÀïÃæµÄÎļþÈ«²¿É¾³ý¡£ [root@itfirst 7000]# find / -name \"nodes-7000.conf\" /usr/local/redis-3.2.3/src/nodes-7000.conf [root@itfirst 7000]# cd ../../ [root@itfirst src]# rm -rf nodes-700* È»ºóÖØÆôredis·þÎñ¡£ [root@itfirst src]# redis-trib.rb create --replicas 1 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 192.168.186.91:7003 192.168.186.91:7004 192.168.186.91:7005 >>> Creating cluster >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.186.91:7000 192.168.186.91:7001 192.168.186.91:7002 Adding replica 192.168.186.91:7003 to 192.168.186.91:7000 Adding replica 192.168.186.91:7004 to 192.168.186.91:7001 Adding replica 192.168.186.91:7005 to 192.168.186.91:7002 M: 319da27d8668a15d2d2d02afe433247694343459 192.168.186.91:7000 slots:0-5460 (5461 slots) master M: 3da756265e301ac0210760f13e990473f87a3017 192.168.186.91:7001 slots:5461-10922 (5462 slots) master M: 6f336da48c892d8e0c541a864765978ebfbca6d5 192.168.186.91:7002 slots:10923-16383 (5461 slots) master S: ff4cf9d8a141d85c478b9af0358c93bca342c236 192.168.186.91:7003 replicates 319da27d8668a15d2d2d02afe433247694343459 S: 43c2e0d7799e84b449803a68d557c3431e9e047e 192.168.186.91:7004 replicates 3da756265e301ac0210760f13e990473f87a3017 S: 3f174fae106cb6cf7e7f21ed844895ed7c18f793 192.168.186.91:7005 replicates 6f336da48c892d8e0c541a864765978ebfbca6d5 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.186.91:7000) M: 319da27d8668a15d2d2d02afe433247694343459 192.168.186.91:7000 slots:0-5460 (5461 slots) master M: 3da756265e301ac0210760f13e990473f87a3017 192.168.186.91:7001 slots:5461-10922 (5462 slots) master M: 6f336da48c892d8e0c541a864765978ebfbca6d5 192.168.186.91:7002 slots:10923-16383 (5461 slots) master M: ff4cf9d8a141d85c478b9af0358c93bca342c236 192.168.186.91:7003 slots: (0 slots) master replicates 319da27d8668a15d2d2d02afe433247694343459 M: 43c2e0d7799e84b449803a68d557c3431e9e047e 192.168.186.91:7004 slots: (0 slots) master replicates 3da756265e301ac0210760f13e990473f87a3017 M: 3f174fae106cb6cf7e7f21ed844895ed7c18f793 192.168.186.91:7005 slots: (0 slots) master replicates 6f336da48c892d8e0c541a864765978ebfbca6d5 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. 4¡¢ÑéÖ¤¼¯Èº×´Ì¬ µÇ¼¼¯Èº¿Í»§¶Ë£¬-c±êʶÒÔ¼¯Èº·½Ê½µÇ¼ [root@itfirst src]# redis-cli -h 192.168.186.91 -c -p 7002 ²é¿´¼¯Èº×´Ì¬ 192.168.186.91:7002> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:6 cluster_size:3 cluster_current_epoch:6 cluster_my_epoch:3 cluster_stats_messages_sent:124174 cluster_stats_messages_received:124174 192.168.186.91:7002> cluster nodes 319da27d8668a15d2d2d02afe433247694343459 192.168.186.91:7000 master - 0 1519465974307 1 connected 0-5460 3f174fae106cb6cf7e7f21ed844895ed7c18f793 192.168.186.91:7005 slave6f336da48c892d8e0c541a864765978ebfbca6d5 0 1519465971278 6 connected 6f336da48c892d8e0c541a864765978ebfbca6d5 192.168.186.91:7002 myself,master - 0 0 3 connected 10923-16383 3da756265e301ac0210760f13e990473f87a3017 192.168.186.91:7001 master - 0 1519465972288 2 connected 5461-10922 43c2e0d7799e84b449803a68d557c3431e9e047e 192.168.186.91:7004 slave3da756265e301ac0210760f13e990473f87a3017 0 1519465973298 5 connected ff4cf9d8a141d85c478b9af0358c93bca342c236 192.168.186.91:7003 slave319da27d8668a15d2d2d02afe433247694343459 0 1519465969258 4 connected







