用一臺linux,創造3 master、3 salve環境。
reids採用redis-3.2.4版本
安裝過程
下載並解壓
//目錄自行選擇
cd /usr/mypack/redis
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz
編譯安裝
cd redis-3.2.4
make && make install
創建redis節點
mkdir redis_cluster
//在redis_cluster目錄下,創建7000、7001、7002等的目錄,並將 redis.conf 拷貝到這三個目錄中
mkdir 7000 7001 7002 7003 7004 7005
//注意一下,redis.conf爲redis安裝目錄src下的redis.conf文件,目錄需要自己改下才能cp
cp redis.conf redis_cluster/7000
cp redis.conf redis_cluster/7001
cp redis.conf redis_cluster/7002
cp redis.conf redis_cluster/7003
cp redis.conf redis_cluster/7004
cp redis.conf redis_cluster/7005
對於每個目錄下的redis.conf文件,需要做如下修改:
port 7000 //端口7000,7002,7003等
bind 本機ip //默認ip爲127.0.0.1 需要改爲其他節點機器可訪問的ip,否則創建集羣時無法訪問對應的端口,無法創建集羣,如果只是本機,可以先不改
daemonize yes //redis後臺運行
pidfile /var/run/redis_7000.pid //pidfile文件對應7000,7001,7002
cluster-enabled yes //開啓集羣 把註釋#去掉
cluster-config-file nodes_7000.conf //集羣的配置 配置文件首次啓動自動生成 7000,7001,7002等
cluster-node-timeout 15000 //請求超時 默認15秒,可自行設置
啓動各個節點
//6個節點都按如下啓動
./redis-server redis_cluster/7000/redis.conf
//查看redis啓動情況
ps -ef | grep redis
現在redis已經啓動成功了,但是還沒有創建集羣,沒有把多個redis關聯起來。
創建集羣
//redis-trib.rb在redis安裝目錄的src文件夾下
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
如果出錯了,需要安裝ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
安裝完成後再創建集羣,如果install redis的時候報錯,Ruby 版本過低,解決辦法見常見問題。
創建集羣的時候會有一個Can I set above configuration?提示,選擇yes。
到此,集羣就創建完成了。
集羣驗證
./redis-cli -h 127.0.0.1 -c -p 7000
set hello world
get hello //返回world
ctrl+c退出
./redis-cli -h 127.0.0.1 -c -p 7002
get hello //返回world,說明集羣正常工作
常見問題
Ruby 版本過低
這裏需要升級Ruby的版本
利用RVM升級ruby版本,安裝ruby
yum install curl
安裝rvm
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
查看ruby可用版本
rvm list known
選擇需要安裝的版本安裝
rvm install 2.5.1
rvm use 2.5.1
加載redis
gem install redis
現在就不會報錯了