1. 程式人生 > >基於三臺虛擬機器模擬真機部署三主三從redis叢集全過程實錄

基於三臺虛擬機器模擬真機部署三主三從redis叢集全過程實錄

第一步:首先準備三臺CentOS虛擬機器

192.168.3.101 192.168.3.102 192.168.3.103
埠:6379 埠:6380 埠:6379 埠:6380 埠:6379 埠:6380

第二步:其次編寫兩套redis.conf配置檔案,分別服務於主節點和從節點

主:從: 內容如下所示:

主節點配置 從節點配置
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
protected-mode no
port 6380
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
protected-mode no

第三步:準備環境

1、準備redis   redis-4.0.10 下載地址:http://download.redis.io/releases/redis-4.0.10.tar.gz    我為了統一,將所有的tar包拷貝至三臺機器的usr/redis_cluster目錄下,該目錄為我自己建的,可以按照個人喜好建立自己的資料夾以示區分。由於一臺機器上主從節點要啟動兩個redis例項,所以建議單獨建立兩個資料夾儲存主從redis程式。如下所示

192.168.3.101 192.168.3.102 192.168.3.103

將redis-4.0.10.tar.gz複製到每一個資料夾中,執行命令進行解壓。以redis_101_01為例

[[email protected] redis_101_01]# tar -xzvf redis-4.0.10.tar.gz 
[[email protected] redis_101_01]# cd redis-4.0.10/src/
[[email protected] src]# make MALLOC=libc

將剛才的配置檔案“redis_conf”分別按照1為主 2為從的規劃放置在資料夾中

2、準備Ruby環境,安裝RVM

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile

列出已知的 Ruby 版本

rvm list known

安裝一個 Ruby 版本

rvm install 2.5.1 --disable-binary

3、安裝redis外掛

gem install redis

看到如下提示則成功

第四步 : 啟動redis例項

在不同的機器上分別執行下面命令 101機器就執行 101_01 101_02的命令

[[email protected] redis-cluster]# ./redis_101_01/redis-4.0.10/src/redis-server ./redis_101_01/redis.conf 
[[email protected] redis-cluster]# ./redis_101_02/redis-4.0.10/src/redis-server ./redis_101_02/redis.conf 
[[email protected] redis-cluster]# ./redis_102_01/redis-4.0.10/src/redis-server ./redis_102_01/redis.conf 
[[email protected] redis-cluster]# ./redis_102_02/redis-4.0.10/src/redis-server ./redis_102_02/redis.conf 
[[email protected] redis-cluster]# ./redis_103_01/redis-4.0.10/src/redis-server ./redis_103_01/redis.conf 
[[email protected] redis-cluster]# ./redis_103_02/redis-4.0.10/src/redis-server ./redis_103_02/redis.conf 

第五步: 關閉linux防火牆

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動

第六步 : 啟動redis叢集

./redis-trib.rb create --replicas 1 192.168.3.101:6379 192.168.3.101:6380 192.168.3.102:6379 192.168.3.102:6380 192.168.3.103:6379 192.168.3.103:6380

測試一下

102機器上

這個時候如果在其他機器上去獲取這個key 會報錯

這是因為這個值已經放在102槽中,

怎麼辦,我們可以使用 ./redis-cli -c方式查詢

可以看到該值位於102