Linux搭建redis叢集
阿新 • • 發佈:2018-12-15
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>