1. 程式人生 > >Linux搭建redis叢集

Linux搭建redis叢集

1、下載解壓

wget http://download.redis.io/releases/redis-3.2.7.tar.gz
tar -zxvf redis-3.2.7.tar.gz

2、安裝

cd redis-3.2.7
make
make install

3、將啟動叢集的檔案redis-trib.rb 拷貝到本地 /usr/local/bin 目錄下

cd /redis-3.2.7/src
cp redis-trib.rb /usr/local/bin/

4、建立服務節點,在伺服器上(這裡以本地127.0.0.1為例),建立叢集的資料夾redis_cluster

mkdir redis_cluster 

將解壓的redis-3.2.7拷貝打牌rediscuter中重新命名為redis_7000

cp -R /redis-3.2.7  /redis_cluster
mv redis-3.2.7  redis_7000

修改/redis_cluster/redis_7000中的redis.conf檔案

port  7000                                        //埠7000,7002,7003        
bind 本機ip 127.0.0.1                                       //預設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秒,可自行設定
appendonly  yes                           //aof日誌開啟  有需要就開啟,它會每次寫操作都記錄一條日誌 

然後將redis_7000複製5分放入/redis_cluster中命名分別為redis_7001、redis_7002、redis_7003、redis_7004、redis_7005; 然後分別修改其目錄下的redis.conf檔案中的埠和ip。

5、啟動各節點,進入redis_7000目錄下,啟動如下

redis-server redis.conf
然後依次啟動redis_7001、redis_7002、redis_7003、redis_7004、redis_7005。

6、檢視情況

ps -ef | grep redis

root     24559 24517  0 16:37 pts/0    00:00:00 grep redis
root     31987     1  0 11:40 ?        00:01:44 redis-server 127.0.0.1:7000 [cluster]
root     32002     1  0 11:40 ?        00:02:40 redis-server 127.0.0.1:7001 [cluster]
root     32006     1  0 11:40 ?        00:01:11 redis-server 127.0.0.1:7002 [cluster]
root     32015     1  0 11:40 ?        00:00:28 redis-server 127.0.0.1:7003 [cluster]
root     32027     1  0 11:40 ?        00:00:28 redis-server 127.0.0.1:7005 [cluster]
root     32136     1  0 11:43 ?        00:00:28 redis-server 127.0.0.1:7004 [cluster]

7、建立叢集 Redis 官方提供了 redis-trib.rb 這個工具,就在解壓目錄的 src 目錄中,第三步中已將它複製到 /usr/local/bin 目錄中,可以直接在命令列中使用了。使用下面這個命令即可完成安裝。

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

中途如果錯誤內容:/usr/bin/env: ruby: No such file or directory,則需要安裝 ruby。這裡推薦使用yum install ruby安裝,安裝命令如下:

yum install ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

8、驗證 通過命令進行訪問redis叢集: redis-cli -h 127.0.0.1 -c -p 7002 ,加引數 -C 可連線到叢集,因為上面 redis.conf 將 bind 改為了ip地址,所以 -h 引數不可以省略。

[[email protected] bin]# redis-cli -h 127.0.0.1 -c -p 7002
127.0.0.1:7002> set happy day
-> Redirected to slot [2936] located at 127.0.0.1:7000
OK
127.0.0.1:7000>
[[email protected] bin]# redis-cli -h 127.0.0.1 -c -p 7001
127.0.0.1:7001> get happy
-> Redirected to slot [2936] located at 127.0.0.1:7000
"day"
127.0.0.1:7000>