1. 程式人生 > >Redis之叢集搭建

Redis之叢集搭建

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,將daemonizeno改為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