Redis搭建高併發叢集-----Redis Cluster
伺服器:CentOS7
是偽分散式,一臺虛擬機器建立6個redis例項
1、安裝需要的依賴包
[[email protected] ~]# yum install gcc gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim ruby rubygems unzip git -y
2、下載redis並安裝
[[email protected] src]# cd /usr/redis/
[[email protected] redis]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz
[[email protected] redis]# tar xzf redis-3.0.6.tar.gz
[[email protected] redis]# cd redis-3.0.6
[[email protected] redis-3.0.6]# make && make install
(執行上句會出現報錯提示,不用管)
3、建立叢集需要的目錄
[[email protected] redis]mkdir -p /usr/redis/redis-cluster
[[email protected] redis]cd /usr/redis/redis-cluster
[[email protected] redis]mkdir 7000
[[email protected] redis]mkdir 7001
[[email protected] redis]mkdir 7002
[[email protected] redis]mkdir 7003
[[email protected] redis]mkdir 7004
[[email protected] redis]mkdir 7005
4、修改配置檔案redis.conf
- [[email protected] redis]cp /usr/redis/redis-3.0.6/redis.conf /usr/redis/redis-cluster
- [[email protected] redis]cd /usr/redis/redis-cluster
- [[email protected] redis]vi redis.conf ,修改如下
port 7000 //埠
bind 10.93.84.53 //預設ip為127.0.0.1 需要改為其他節點機器可訪問的ip ,如自己本機ip
daemonize yes //redis後臺執行
cluster-enabled yes //開啟叢集 把註釋#去掉
cluster-config-file nodes_7000.conf //叢集的配置
cluster-node-timeout 15000 //請求超時 預設15秒,可自行設定
appendonly yes //aof日誌開啟 有需要就開啟,它會每次寫操作都記錄一條日誌
- 修改完redis.conf配置檔案中的這些配置項之後把這個配置檔案分別拷貝到7000/7001/7002/7003/7004/7005節點目錄下
- 拷貝完成之後要分別修改7001/7002/7003/7004/7005目錄下面redis.conf檔案中的port引數,分別改為對應的資料夾的名稱
5、分別啟動這6個redis例項
進入7000~7005目錄下一次啟動,例如進入7000,輸入如下命令進行啟動
[[email protected] 7000]# redis-server redis.conf
[[email protected] 7005]# ps -ef | grep redis //檢視是否都啟動成功
6、建立叢集
[[email protected] src]# ./redis-trib.rb create --replicas 1 192.168.1.78:7000 192.168.1.xx:7001 192.168.1.xx:7002 192.168.1.xx:7003 192.168.1.78:7004 192.168.1.xx:7005
注意ip與埠號!!!!
報錯!!!!!
提示不能載入redis,是因為缺少redis和ruby的介面,使用gem 安裝
錯誤內容:
7、使用gem這個命令來安裝redis介面gem是ruby的一個工具包
[[email protected] src]# gem install redis
又報錯!!!!Ruby版本太低
8、安裝更高版本的ruby
安裝rvm,我不知道這是個什麼東西,但是感覺像是Ruby的一個包管理器。
①[[email protected] src]# curl -L get.rvm.io | bash -s stable
出現報錯提示,
②[[email protected] src]# gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
③[[email protected] src]# curl -L get.rvm.io | bash -s stable
出現如下顯示:說明rvm安裝成功
④[[email protected] src]# source /usr/local/rvm/scripts/rvm //source讓rvm生效可用
⑤[[email protected] src]# rvm list known
檢視kvm版本,出現結果如下:
⑥[[email protected] src]# rvm install 2.5.1
找個高於2.2.2版本的,進行更新,出現如下顯示
9、重複第7,6步
[[email protected] src]# gem install redis
[[email protected] src]# ./redis-trib.rb create --replicas 1 192.168.1.78:7000 192.168.1.xx:7001 192.168.1.xx:7002 192.168.1.xx:7003 192.168.1.78:7004 192.168.1.xx:7005
出現結果如下所示:(要在redis安裝目錄的src下輸入以上命令)
10、測試叢集
測試儲存:
測試從叢集中取值: