天天看點

redis 叢集搭建碰到的問題

make PREFIX=/usr/local/redis install

把編譯好的redis 安裝到指定目錄下。

redis.conf檔案從源碼目錄拷貝到/usr/local/redis(安裝目錄)下。

redis:address already in use 解決方法:

1.ps -ef |grep -i redis

2.kill -9 程序ID。

3.啟動redis-server

redis 前台運作改成背景運作

daemonize no->daemonize yes

redis叢集環境初始條件:

yum install ruby

gem install redis

 執行gem  install redis 提示ruby版本過低的解決方法。

 ~]# yum install centos-release-scl-rh    //會在/etc/yum.repos.d/目錄下多出一個CentOS-SCLo-scl-rh.repo源

    ~]# yum install rh-ruby23  -y    //直接yum安裝即可  

    ~]# scl  enable  rh-ruby23 bash    //必要一步

    ~]# ruby -v    //檢視安裝版本

然後執行gem install redis就完成了

ERROR: Could not find a valid gem 'redis' (>= 0), here is why:

Unable to download data from https://rubygems.org/ - timed out (https://api.rubygems.org/specs.4.8.gz)的解決方法:

這是因為國内的GREATE WALL的問題,需要替換gem 鏡像源位址:

https://gems.ruby-china.com,這裡可以找到答案。

然後就可以執行gem install redis -V 了,-V是Verbose的縮寫,可以檢視安裝過程。

redis.conf 檔案中啟用叢集cluster-enabled yes (預設為不啟用)。

建立一個目錄,目錄裡面6個子檔案夾對應6個叢集,分别命名為目前REDIS的端口号從9001到9006.,并把之前的bin檔案夾複制6份到這6個檔案夾裡面,修改每個檔案夾的redis.conf檔案的預設端口(預設為6379)

cp -r /study/redis-installed/bin 9001

cp -r /study/redis-installed/bin 9002

......

進入這6個目錄,然後分别執行 ./redis.server ./redis.conf執行這6個指令,啟動6台redis伺服器,并用ps -aux|grep redis檢視redis服務的啟動情況。

root 20927 0.0 0.1 153888 2884 ? Ssl 10:42 0:00 ./redis-server 127.0.0.1:6379 [cluster]

root 21111 0.1 0.1 153888 2880 ? Rsl 10:44 0:00 ./redis-server 127.0.0.1:9001 [cluster]

root 21225 0.1 0.1 153888 2900 ? Rsl 10:45 0:00 ./redis-server 127.0.0.1:9002 [cluster]

root 21323 0.0 0.1 153888 2888 ? Ssl 10:46 0:00 ./redis-server 127.0.0.1:9003 [cluster]

root 21369 0.0 0.1 153888 2884 ? Rsl 10:46 0:00 ./redis-server 127.0.0.1:9004 [cluster]

root 21417 0.0 0.1 153888 2888 ? Rsl 10:46 0:00 ./redis-server 127.0.0.1:9005 [cluster]

root 21457 0.0 0.1 153888 2888 ? Ssl 10:46 0:00 ./redis-server 127.0.0.1:9006 [cluster]

root 21511 0.0 0.0 112716 940 pts/1 R+ 10:47 0:00 grep --color=auto redis

服務的啟動情況如上面所示,表名服務已經啟動。

因為我用的5.0以上的redis,是以采用下面的方式把上述6台機器加入到一個叢集中:

redis-cli --cluster create 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 127.0.0.1:9006 --cluster-replicas 1

然後用redis-cli連接配接到叢集中的任意一台機器:

./redis-cli -c -h 127.0.0.1 -p 9002,并用cluster nodes 查詢叢集節點:

127.0.0.1:9002> cluster nodes

98450c9595407666abedd8f75e3c51620ce18c6d 127.0.0.1:9005@19005 slave 7bbc29dbe82ae9fe427a8116ace2c1c838a91808 0 1553828724441 5 connected

7bbc29dbe82ae9fe427a8116ace2c1c838a91808 127.0.0.1:9001@19001 master - 0 1553828723437 1 connected 0-5460

22b89c572209a6ea974763f02952ae80e45336d5 127.0.0.1:9003@19003 master - 0 1553828721428 3 connected 10923-16383

1fd885060f4333afe6198e3aec0eaab6c74ce4e0 127.0.0.1:9006@19006 slave b13147c4d1fd92379cd329904943b937108fab8c 0 1553828722433 6 connected

0ff92f832c69498c4c7fb74fcfdd5d7919c9460f 127.0.0.1:9004@19004 slave 22b89c572209a6ea974763f02952ae80e45336d5 0 1553828723000 4 connected

b13147c4d1fd92379cd329904943b937108fab8c 127.0.0.1:9002@19002 myself,master - 0 1553828722000 2 connected 5461-10922

redis 叢集搭建碰到的問題

作者:

KMSFan

出處:http://www.cnblogs.com/kmsfan

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

歡迎大家加入KMSFan之家,以及通路我的優酷空間!