Redis之叢集搭建
阿新 • • 發佈:2019-01-29
OS:Ubuntu16.04LTS
Resis:3.2.11(3.x以後支援叢集)
單機
1、先決條件
sudo apt install build-essential
sudo apt install g++
2、下載
3、安裝
切換到root下;否則帶sudo.
# 解壓
tar -zxvf redis-3.2.11.tar.gz
cd redis-3.2.11
# 安裝
make
make install PREFIX=/usr/local/redis
4、修改配置檔案
在/usr/local/redis/bin
目錄下修改redis.conf
:
# 註釋掉
bind 127.0.0.1
# 預設是yes,改為no
protected-mode no
5、啟動
5.1、前端啟動
# 切換到/usr/local/redis/bin目錄下
./redis-server
5.2、後端啟動
從redis源目錄中複製redis.conf
到/usr/local/redis/bin
下.
修改配置檔案redis.conf
,將daemonize
從no
改為yes
.
./redis-server redis.conf
# 驗證
ps aux | grep redis
叢集
通過在主機上開放不同埠號模擬多主機的叢集環境.
至少需要3個主節點,另外每個主節點配置一個從節點,總共至少需要6個節點,所以需要開放至少6個埠號,比如:7001-7006
.
1、先決條件
sudo apt install ruby
sudo apt install rubygems
sudo gem install redis -v 3.3.0
2、修改配置檔案
a、首先在/usr/local/redis-cluster
目錄下建立6個目錄,分別為redis01-redis06
,並將/usr/local/redis/bin
目錄拷貝到6個目錄下
sudo cp -r /usr/local/redis/bin /usr/local/redis-cluster/redid01
b、修改配置檔案redis.conf
# 預設埠號為6379
port 7001
# 預設是註釋掉的,去掉註釋.
cluster-enabled yes
3、啟動例項
在/usr/local/redis-cluster
目錄下建立start.sh
指令碼,內容如下:
cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..
注意;如果該指令碼沒有執行許可權,請使用命令chmod +x start.sh
使用命令 ./start.sh
執行指令碼,即可啟動6個redis例項.
4、建立叢集
使用如下命令:
./redis-trib.rb create --replicas 1 192.168.2.104:7001 192.168.2.104:7002 192.168.2.104:7003 192.168.2.104:7004 192.168.2.104:7005 192.168.2.104:7006
5、測試叢集
使用如下命令連線叢集
# 其中-c代表連線叢集
redis-cli -h 192.168.2.104 -p 7002 -c
出現如下圖所示時,表示叢集搭建成功
6、關閉
# -p指定埠號
redis-cli -p 7001 shutdown