亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Redis > 正文

redis集群搭建_動力節點Java學院整理

2020-03-17 12:36:55
字體:
來源:轉載
供稿:網友

現在項目上用redis的話,很少說不用集群的情況,畢竟如果生產上只有一臺redis會有極大的風險,比如機器掛掉,或者內存爆掉,就比如我們生產環境曾今也遭遇到這種情況,導致redis內存不夠掛掉的情況,當然這些都是我們及其不能容忍的,第一個必須要做到高可靠,其次才是高性能,好了,下面我來逐一搭建一下。

一:Redis集群搭建

1. 下載

首先去官網下載較新的3.2.0版本,下載方式還是非常簡單的,比如官網介紹的這樣。

$ wget http://download.redis.io/releases/redis-3.2.0.tar.gz$ tar xzf redis-3.2.0.tar.gz$ cd redis-3.2.0$ make

2. redis配置

由于我們要做集群,而且還要redis自帶的redis-trib.rb 能正常運行,我們需要在集群中開啟三臺master,三臺slave,所以這里我需要建立6個文件夾,而且文件夾的名稱就使用端口地址的名字,比如:6389. 6380....6384。

redis集群搭建,redis集群

3. config配置。

現在directory的分布情況大致如上圖,接下來要做的事情就是配置redis.conf了,在這里需要配置四個選項。。。

<1> port  端口地址,比如6380文件夾下面的port就是6380,

# Accept connections on the specified port, default is 6379 (IANA #815344).# If port 0 is specified Redis will not listen on a TCP socket.port 6379

<2> cluster-enabled 和 cluster-config-file

這個顧名思義,首先需要開啟redis的cluster模式,然后配置一個cluster-config-file文件,這個文件用于存放redis的實時信息,redis會動態追加和修改這個conf下面的內容信息,不過要記住,這個nodes-6379.conf 可以根據 端口文件夾依次配置,比如6380文件夾可以改成nodes-6380.conf這樣。。。

# Normal Redis instances can't be part of a Redis Cluster; only nodes that are# started as cluster nodes can. In order to start a Redis instance as a# cluster node enable the cluster support uncommenting the following:#cluster-enabled yes# Every cluster node has a cluster configuration file. This file is not# intended to be edited by hand. It is created and updated by Redis nodes.# Every Redis Cluster node requires a different cluster configuration file.# Make sure that instances running in the same system do not have# overlapping cluster configuration file names.#cluster-config-file nodes-6379.conf

<3> directory

為了方便管理,我這里配置的root目錄取決于在哪個文件夾,比如6380下面我的dir就是: dir ./6380/

# Note that you must specify a directory here, not a file name.dir ./6379/

<4> protected-mode

這個是redis 3.2 才追加的一個功能,從功能注釋中,我們就可以發現,這個默認就是不讓外界可以訪問redis,所以這里我們就改為no,可以遠程訪問。

# By default protected mode is enabled. You should disable it only if# you are sure you want clients from other hosts to connect to Redis# even if no authentication is configured, nor a specific set of interfaces# are explicitly listed using the "bind" directive.protected-mode no

ok,到現在為止,我們的config就修改完畢了,其他端口的文件夾也可以依次配置之~

二:開啟redis

到現在為止,各個端口文件夾都配置成功了,接下來準備開啟了。

redis集群搭建,redis集群

接下來我們可以看一下,在6379下面是不是有生成node-6379.conf文件,比如下面:

redis集群搭建,redis集群

三:配置redis-trib.rb

因為redis-trib.rb是ruby寫的,而我們的電腦肯定是沒有ruby和一些配置依賴項,不過沒關系,有強大的yum安裝,一切都不是問題。

1. 執行replicas命令

[jack@localhost ~]$ cluster/redis-trib.rb create --replicas 1 192.168.161.133:6379 192.168.161.133:6380 192.168.161.133:6381 192.168.161.133:6382 192.168.161.133:6383 192.168.161.133:6384/usr/bin/env: ruby: No such file or directory[jack@localhost ~]$ 

可以看到ruby是沒有安裝的,所以下一步我們要安裝ruby了。。。

2. 安裝ruby 【一定要是管理員權限哦】

[jack@localhost ~]$ sudousage: sudo [-D level] -h | -K | -k | -Vusage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user      name|#uid]usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user      name] [-u user name|#uid] [-g groupname|#gid] [command]usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-D level] [-g      groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid]      [VAR=value] [-i|-s] [<command>]usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-D level] [-g      groupname|#gid] [-p prompt] [-u user name|#uid] file ...[jack@localhost ~]$ suPassword: jacsu: incorrect password[jack@localhost ~]$ yum install rubyLoaded plugins: fastestmirror, refresh-packagekit, securityYou need to be root to perform this command.[jack@localhost ~]$ jackbash: jack: command not found[jack@localhost ~]$ suPassword: [root@localhost jack]# yum install rubyLoaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirror.bit.edu.cn * updates: mirror.bit.edu.cnSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package ruby.x86_64 0:1.8.7.374-4.el6_6 will be installed--> Processing Dependency: ruby-libs = 1.8.7.374-4.el6_6 for package: ruby-1.8.7.374-4.el6_6.x86_64--> Processing Dependency: libruby.so.1.8()(64bit) for package: ruby-1.8.7.374-4.el6_6.x86_64--> Running transaction check---> Package ruby-libs.x86_64 0:1.8.7.374-4.el6_6 will be installed--> Processing Dependency: libreadline.so.5()(64bit) for package: ruby-libs-1.8.7.374-4.el6_6.x86_64--> Running transaction check---> Package compat-readline5.x86_64 0:5.2-17.1.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved================================================================================ Package        Arch     Version          Repository Size================================================================================Installing: ruby          x86_64    1.8.7.374-4.el6_6     base    538 kInstalling for dependencies: compat-readline5    x86_64    5.2-17.1.el6       base    130 k ruby-libs       x86_64    1.8.7.374-4.el6_6     base    1.7 MTransaction Summary================================================================================Install    3 Package(s)Total download size: 2.3 MInstalled size: 7.8 MIs this ok [y/N]: yDownloading Packages:(1/3): compat-readline5-5.2-17.1.el6.x86_64.rpm     | 130 kB   00:00   (2/3): ruby-1.8.7.374-4.el6_6.x86_64.rpm         | 538 kB   00:00   (3/3): ruby-libs-1.8.7.374-4.el6_6.x86_64.rpm      | 1.7 MB   00:02   --------------------------------------------------------------------------------Total                      747 kB/s | 2.3 MB   00:03   warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEYRetrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6Importing GPG key 0xC105B9DE: Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org> Package: centos-release-6-5.el6.centos.11.1.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5) From  : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6Is this ok [y/N]: yRunning rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : compat-readline5-5.2-17.1.el6.x86_64             1/3  Installing : ruby-libs-1.8.7.374-4.el6_6.x86_64              2/3  Installing : ruby-1.8.7.374-4.el6_6.x86_64                3/3  Verifying : compat-readline5-5.2-17.1.el6.x86_64             1/3  Verifying : ruby-libs-1.8.7.374-4.el6_6.x86_64              2/3  Verifying : ruby-1.8.7.374-4.el6_6.x86_64                3/3 Installed: ruby.x86_64 0:1.8.7.374-4.el6_6                        Dependency Installed: compat-readline5.x86_64 0:5.2-17.1.el6 ruby-libs.x86_64 0:1.8.7.374-4.el6_6 Complete![root@localhost jack]# 

3. 安裝rubygems

接著我們再次運行 replicas命令,看看會怎么樣。。。 

[root@localhost jack]# cluster/redis-trib.rb create --replicas 1 192.168.161.133:6379 192.168.161.133:6380 192.168.161.133:6381 192.168.161.133:6382 192.168.161.133:6383 192.168.161.133:6384cluster/redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)  from cluster/redis-trib.rb:24[root@localhost jack]# 

結果苦逼了,還是報錯,看提示貌似是少了一個rubygems,這次我們還是通過yum安裝。

[root@localhost jack]# yum install -y rubygemsLoaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirror.bit.edu.cn * updates: mirror.bit.edu.cnSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package rubygems.noarch 0:1.3.7-5.el6 will be installed--> Processing Dependency: ruby-rdoc for package: rubygems-1.3.7-5.el6.noarch--> Running transaction check---> Package ruby-rdoc.x86_64 0:1.8.7.374-4.el6_6 will be installed--> Processing Dependency: ruby-irb = 1.8.7.374-4.el6_6 for package: ruby-rdoc-1.8.7.374-4.el6_6.x86_64--> Running transaction check---> Package ruby-irb.x86_64 0:1.8.7.374-4.el6_6 will be installed--> Finished Dependency ResolutionDependencies Resolved================================================================================ Package      Arch      Version          Repository  Size================================================================================Installing: rubygems     noarch     1.3.7-5.el6        base     207 kInstalling for dependencies: ruby-irb     x86_64     1.8.7.374-4.el6_6     base     317 k ruby-rdoc     x86_64     1.8.7.374-4.el6_6     base     381 kTransaction Summary================================================================================Install    3 Package(s)Total download size: 905 kInstalled size: 3.0 MDownloading Packages:(1/3): ruby-irb-1.8.7.374-4.el6_6.x86_64.rpm       | 317 kB   00:00   (2/3): ruby-rdoc-1.8.7.374-4.el6_6.x86_64.rpm      | 381 kB   00:00   (3/3): rubygems-1.3.7-5.el6.noarch.rpm          | 207 kB   00:00   --------------------------------------------------------------------------------Total                      625 kB/s | 905 kB   00:01   Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : ruby-irb-1.8.7.374-4.el6_6.x86_64              1/3  Installing : ruby-rdoc-1.8.7.374-4.el6_6.x86_64              2/3  Installing : rubygems-1.3.7-5.el6.noarch                 3/3  Verifying : ruby-rdoc-1.8.7.374-4.el6_6.x86_64              1/3  Verifying : ruby-irb-1.8.7.374-4.el6_6.x86_64              2/3  Verifying : rubygems-1.3.7-5.el6.noarch                 3/3 Installed: rubygems.noarch 0:1.3.7-5.el6                         Dependency Installed: ruby-irb.x86_64 0:1.8.7.374-4.el6_6  ruby-rdoc.x86_64 0:1.8.7.374-4.el6_6  Complete![root@localhost jack]#  

4. 安裝redis驅動

 還是繼續不死心,我們繼續運行replicas命令命令。

[root@localhost jack]# cluster/redis-trib.rb create --replicas 1 192.168.161.133:6379 192.168.161.133:6380 192.168.161.133:6381 192.168.161.133:6382 192.168.161.133:6383 192.168.161.133:6384/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'  from cluster/redis-trib.rb:25[root@localhost jack]# 

還是有問題,這次貌似是一個gem_original_require沒有安裝,當然這個一般是說ruby版本太老了,所以現在親要么升級ruby版本,要么直接安裝ruby的redis驅動。

[root@localhost jack]# gem install redisSuccessfully installed redis-3.3.01 gem installedInstalling ri documentation for redis-3.3.0...Installing RDoc documentation for redis-3.3.0...

6. 運行replicas命令

終于貌似所有的依賴我們都解決了,接下來就可以真的執行了。

[root@localhost jack]# cluster/redis-trib.rb create --replicas 1 192.168.161.133:6379 192.168.161.133:6380 192.168.161.133:6381 192.168.161.133:6382 192.168.161.133:6383 192.168.161.133:6384>>> Creating cluster>>> Performing hash slots allocation on 6 nodes...Using 3 masters:192.168.161.133:6379192.168.161.133:6380192.168.161.133:6381Adding replica 192.168.161.133:6382 to 192.168.161.133:6379Adding replica 192.168.161.133:6383 to 192.168.161.133:6380Adding replica 192.168.161.133:6384 to 192.168.161.133:6381M: fdae457e803e2e04a7c549c69b44a2beefdae3bc 192.168.161.133:6379  slots:0-5460 (5461 slots) masterM: 74285cee0fa65e64b443ecc630e447a8a65ee9f8 192.168.161.133:6380  slots:5461-10922 (5462 slots) masterM: 14ed067a1b85044325d5800fa8479a6b4e41a10c 192.168.161.133:6381  slots:10923-16383 (5461 slots) masterS: c50b1ff1fe3a00b16703f3b5705d2dafe046240b 192.168.161.133:6382  replicates fdae457e803e2e04a7c549c69b44a2beefdae3bcS: 8f7bd92f7ffb48e327820693a5820b5be7ea5556 192.168.161.133:6383  replicates 74285cee0fa65e64b443ecc630e447a8a65ee9f8S: 4a85ed078b4c99afad7f3a9a8df09082c681a649 192.168.161.133:6384  replicates 14ed067a1b85044325d5800fa8479a6b4e41a10cCan 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 clusterWaiting for the cluster to join....>>> Performing Cluster Check (using node 192.168.161.133:6379)M: fdae457e803e2e04a7c549c69b44a2beefdae3bc 192.168.161.133:6379  slots:0-5460 (5461 slots) masterM: 74285cee0fa65e64b443ecc630e447a8a65ee9f8 192.168.161.133:6380  slots:5461-10922 (5462 slots) masterM: 14ed067a1b85044325d5800fa8479a6b4e41a10c 192.168.161.133:6381  slots:10923-16383 (5461 slots) masterM: c50b1ff1fe3a00b16703f3b5705d2dafe046240b 192.168.161.133:6382  slots: (0 slots) master  replicates fdae457e803e2e04a7c549c69b44a2beefdae3bcM: 8f7bd92f7ffb48e327820693a5820b5be7ea5556 192.168.161.133:6383  slots: (0 slots) master  replicates 74285cee0fa65e64b443ecc630e447a8a65ee9f8M: 4a85ed078b4c99afad7f3a9a8df09082c681a649 192.168.161.133:6384  slots: (0 slots) master  replicates 14ed067a1b85044325d5800fa8479a6b4e41a10c[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.[root@localhost jack]# 

從上面可以看到,trib程序告知我們是否用 6379,6380,6381 作為主, 6382,6383,6384作為從。。然后我就恩準了。。就這樣我們的集群就創建好了


注:相關教程知識閱讀請移步到Redis頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人精品视频在线| 日韩av网址在线| 日韩亚洲精品电影| 久久久久一本一区二区青青蜜月| 日韩亚洲欧美中文高清在线| 亚洲精品免费一区二区三区| 日韩免费看的电影电视剧大全| 欧美专区在线视频| 992tv成人免费视频| 日韩精品极品毛片系列视频| 亚洲一区久久久| 一个人www欧美| 国产精品678| 欧美国产日韩中文字幕在线| 亚洲电影免费观看高清完整版在线| 91沈先生在线观看| 亚洲国产成人在线播放| 中文字幕欧美视频在线| 日韩国产高清视频在线| 一本色道久久88综合日韩精品| 伊人久久久久久久久久久久久| 欧美日韩在线观看视频| 亚洲精品中文字幕女同| 久久97久久97精品免视看| 日韩电影免费观看在线| 欧美激情亚洲自拍| 欧美第一页在线| 国产a∨精品一区二区三区不卡| 欧美精品久久久久a| 日韩视频欧美视频| 日本精品久久久久影院| 国产精品视频一区二区三区四| 97国产精品视频人人做人人爱| 欧美日韩美女在线观看| 在线观看日韩www视频免费| 亚洲欧美日韩第一区| 午夜精品久久久久久久白皮肤| 欧美色欧美亚洲高清在线视频| 日韩av网址在线观看| 国产精品扒开腿爽爽爽视频| 欧美黑人xxxx| 伊人久久免费视频| 在线视频精品一| 97婷婷涩涩精品一区| 欧美激情在线播放| 岛国av一区二区三区| 成人福利视频网| 欧美午夜精品久久久久久浪潮| 久久综合色88| 九九热r在线视频精品| 欧美性少妇18aaaa视频| 69av视频在线播放| 久久精品国产精品亚洲| 人九九综合九九宗合| 青青在线视频一区二区三区| 国产不卡一区二区在线播放| 国产精品入口免费视频一| 日本伊人精品一区二区三区介绍| 久久久久国产精品一区| 高清欧美性猛交xxxx黑人猛交| 欧美成人中文字幕| 日韩一区二区三区在线播放| 亚洲精品国产免费| 91av在线视频观看| 5252色成人免费视频| 日韩av一区在线观看| 亚洲一区www| 日韩中文字幕在线看| 国产亚洲美女久久| 97精品视频在线观看| 国产精品久久久久福利| 中文字幕亚洲一区在线观看| 国产精品观看在线亚洲人成网| 亚洲国产精品免费| 97香蕉久久超级碰碰高清版| 国模gogo一区二区大胆私拍| 久久亚洲精品成人| 欧美裸体男粗大视频在线观看| 亚洲第一中文字幕在线观看| 国产欧美精品一区二区三区介绍| 国产欧美婷婷中文| 成人在线中文字幕| 中文字幕在线视频日韩| 久久久久久久国产精品视频| 亚洲精品中文字幕有码专区| 亚洲精品www久久久| 亚洲人成电影网站色| 5566日本婷婷色中文字幕97| 亚洲欧洲在线播放| 色阁综合伊人av| 一区二区欧美在线| 国产成人精品综合| 91av在线国产| 久久久久久91香蕉国产| 久久99国产综合精品女同| 国产精品久久久久久久久免费看| 97婷婷大伊香蕉精品视频| 日韩精品中文字幕在线| 日韩美女主播视频| 91精品一区二区| 日韩在线观看免费全集电视剧网站| 国产精品视频yy9099| 一区二区三区美女xx视频| 久久久久久国产精品久久| 国产精品丝袜一区二区三区| 免费91麻豆精品国产自产在线观看| 日韩精品高清在线| 欧美xxxx综合视频| 国产主播在线一区| 中文字幕亚洲激情| 欧美巨猛xxxx猛交黑人97人| 日韩亚洲欧美中文在线| 夜夜嗨av一区二区三区免费区| 成人欧美一区二区三区黑人孕妇| 九九热这里只有精品免费看| 精品国产一区二区三区在线观看| 国产日韩欧美夫妻视频在线观看| 国产香蕉精品视频一区二区三区| xvideos亚洲| 正在播放亚洲1区| 午夜美女久久久久爽久久| 亚洲护士老师的毛茸茸最新章节| 影音先锋欧美在线资源| 国外日韩电影在线观看| 久久亚洲欧美日韩精品专区| 日韩欧美在线视频日韩欧美在线视频| 欧美老少配视频| 日本中文字幕成人| 久久久久久成人精品| 91久久国产综合久久91精品网站| 国产精品露脸av在线| 亚洲女成人图区| 亚洲最大的成人网| 国产精品视频在线观看| 国内外成人免费激情在线视频网站| 欧美电影在线观看| 91精品国产高清久久久久久久久| 欧美亚洲日本网站| 日韩欧美国产骚| 午夜美女久久久久爽久久| 国产91在线播放| 久久91精品国产91久久跳| 久久精彩免费视频| 俺去啦;欧美日韩| 成人黄色激情网| 精品人伦一区二区三区蜜桃免费| 日本精品在线视频| 国产视频欧美视频| 日韩在线免费视频| 成人午夜在线影院| 欧美性受xxxx黑人猛交| 亚洲第一视频网站| 亚洲色图av在线| 亚洲精品电影网在线观看| 国产精品视频26uuu| 亚洲精品按摩视频| 亚洲视频免费一区| 97精品在线视频| 日韩欧美精品网站| 欧美大片网站在线观看| 亚洲美女黄色片| 亚洲精品久久7777777| 国产精欧美一区二区三区| 17婷婷久久www|