make PREFIX=/usr/local/redis install
把編譯好的redis 安裝到指定目錄下。node
redis.conf文件從源碼目錄拷貝到/usr/local/redis(安裝目錄)下。redis
redis:address already in use 解決方法:
1.ps -ef |grep -i redis
2.kill -9 進程ID。
3.啓動redis-servercentos
redis 前臺運行改爲後臺運行
daemonize no->daemonize yesapi
redis集羣環境初始條件:
yum install ruby
gem install redisruby
執行gem install redis 提示ruby版本太低的解決方法。bash
~]# yum install centos-release-scl-rh //會在/etc/yum.repos.d/目錄下多出一個CentOS-SCLo-scl-rh.repo源服務器
~]# yum install rh-ruby23 -y //直接yum安裝便可 server
~]# 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 nodes98450c9595407666abedd8f75e3c51620ce18c6d 127.0.0.1:9005@19005 slave 7bbc29dbe82ae9fe427a8116ace2c1c838a91808 0 1553828724441 5 connected7bbc29dbe82ae9fe427a8116ace2c1c838a91808 127.0.0.1:9001@19001 master - 0 1553828723437 1 connected 0-546022b89c572209a6ea974763f02952ae80e45336d5 127.0.0.1:9003@19003 master - 0 1553828721428 3 connected 10923-163831fd885060f4333afe6198e3aec0eaab6c74ce4e0 127.0.0.1:9006@19006 slave b13147c4d1fd92379cd329904943b937108fab8c 0 1553828722433 6 connected0ff92f832c69498c4c7fb74fcfdd5d7919c9460f 127.0.0.1:9004@19004 slave 22b89c572209a6ea974763f02952ae80e45336d5 0 1553828723000 4 connectedb13147c4d1fd92379cd329904943b937108fab8c 127.0.0.1:9002@19002 myself,master - 0 1553828722000 2 connected 5461-10922