1. 程式人生 > >redis單機及叢集部署

redis單機及叢集部署

Redis安裝部署

1、Redis單機部署

1.1、安裝步驟

步驟1:

到Redis官網(https://redis.io/download)下載Redis,現在最新的版本為:4.0.2,將下載好的壓縮包上傳到伺服器當中。目錄如下:

步驟2:

解壓包,執行如下指令:

cd/mnt/redis/;

tar -zxvfredis-4.0.2.tar.gz;

步驟3:

安裝redis,執行如下指令:

cdredis-4.0.2;

make && make install;

步驟4:

檢驗安裝是否成功,執行如下執行:

maketest;

如果報如下錯誤:

則說tcl版本過低,需要升級,執行如下指令:

wgethttp://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz; 

sudo tarxzvf tcl8.6.1-src.tar.gz  -C /usr/local/; 

cd  /usr/local/tcl8.6.1/unix/; 

sudo./configure; 

sudo make; 

sudo makeinstall;

步驟5:

啟動redis,執行如下指令:

cd/mnt/redis/redis-4.0.2/src/;

./redis-server&;

啟動成功介面如下圖:

2、Redis叢集部署

2.1、安裝部署

步驟1:

建立叢集目錄,執行如下指令:

cd /mnt;

mkdirredis-cluster;

cdredis-cluster/;

mkdir7000 7001 7002 7003 7004 7005;

說明:建立6個節點的Redis作為叢集,所以我們需要建立6個資料夾,分別存放6個節點的配置資訊,6個節點需要對應6個埠號,例如7000~7005,這個埠號我們自行定義。

步驟2:

將單機部署中安裝好的redis資料夾拷貝到redis-cluster,並授權,執行命令如下:

cp../redis/redis-4.0.2/ ./ -R;

chmod 755redis-4.0.2/ -R;

建立完成後的目錄如下圖:

步驟3:

配置redis.conf檔案,這個可以從redis安裝資料夾中拷貝,然後根據需要進行修改,也可以直接新建一個redis.conf檔案,把需要的配置寫進去。這裡我們採用自己新建一個redis.conf檔案的方式,在7000到7005資料夾分別建立redis.conf檔案,並將以下內容寫入到檔案中,注意不同redis節點的埠號不同,注意修改:

port 7000

cluster-enabledyes

cluster-config-filenodes.conf

cluster-node-timeout5000

appendonlyyes

步驟4:

分別將6個節點redis服務啟動起來,執行命令如下:

cd/mnt/redis-cluster/7000/;

../redis-4.0.2/src/redis-serverredis.conf &;

cd/mnt/redis-cluster/7001/;

../redis-4.0.2/src/redis-serverredis.conf &;

cd/mnt/redis-cluster/7002/;

../redis-4.0.2/src/redis-serverredis.conf &;

cd/mnt/redis-cluster/7003/;

../redis-4.0.2/src/redis-serverredis.conf &;

cd/mnt/redis-cluster/7004/;

../redis-4.0.2/src/redis-serverredis.conf &;

cd/mnt/redis-cluster/7005/;

../redis-4.0.2/src/redis-serverredis.conf &;

啟動成功介面如下:

說明:目前6個節點都已正常啟動,但相互之間還沒建立聯絡。

步驟5:

將6個節點聯絡起來,建立redis叢集環境,如果執行成功,則部署結束,不再執行後面的步驟,執行指令如下:

cd/mnt/redis-cluster/redis-4.0.2/src/;

./redis-trib.rbcreate --replicas 1 XXXX:7000 XXXX:7001 XXXX:7002 XXXX:7003XXXX:7004 XXXX:7005;

注意:XXXX為伺服器IP,本次部署機器IP為:172.31.3.159,所以XXXX應該配置為172.31.3.159。若此處配置為127.0.0.1,則用jedis客戶端遠端訪問redis叢集時,會出現訪問被拒絕的錯誤。

說明:1)如果執行成功,介面如下:

輸入yes:意思是服從這種主從分配方式,我們也可以通過配置檔案自己指定slave。執行完成後介面如下:

2)如果出現以下錯誤,則說明沒有ruby環境,需要安裝ruby環境,執行步驟6

3)如果出現以下錯誤,說明缺少redis和ruby的介面,使用gem 安裝,執行步驟7

步驟6:

安裝ruby環境,可以使用以下兩種方式安裝,推薦方式二:

方式一:使用yum安裝,執行如下指令:

yum install ruby

方式二:去ruby官網https://www.ruby-lang.org/en/downloads/下載穩定版本,本次安裝下載的是ruby-2.4.2版本,將下載好的軟體上傳到伺服器上,截圖如下:

上傳完成後,開始安裝ruby,執行指令如下:

cd /mnt/;

tar -zxvfruby-2.4.2.tar.gz;

cdruby-2.4.2;

./configure;

make&& make install;

說明:Ruby安裝完成後,繼續執行步驟5中指令。

步驟7:

安裝redis庫,執行如下指令:

geminstall redis

說明:1)如果執行成功,則出現以下介面:

2)如果出現以下錯誤,說明缺少zlib-devel,需要安裝zlib-devel,安裝說明見步驟8

3)如果出現以下錯誤,說明缺少openssl,需要安裝openssl,安裝說明見步驟9

步驟8:

安裝zlib-devel環境,可以使用以下兩種方式安裝,推薦方式二:

方式一:使用yum安裝,執行如下指令:

yum install zlib-devel

方式二:去zlib-devel官網https://pkgs.org/download/zlib-devel下載穩定版本,本次安裝下載的是zlib-devel-1.2.3-29.el6.x86_64.rpm版本,將下載好的軟體上傳到伺服器上,截圖如下:

上傳完成後,開始安裝zlib-devel,執行指令如下:

cd /mnt/;

rpm -ivhzlib-devel-1.2.3-29.el6.x86_64.rpm;

cd/mnt/ruby-2.4.2/ext/zlib/;

rubyextconf.rb ;

make;

makeinstall;

說明:1)如果執行成功,出現以下介面,則繼續執行步驟7中指令:

2)如果執行make過程中報如下錯誤:

則執行如下指令,執行完成後繼續執行make指令:

sed -i's#$(top_srcdir)/include/ruby.h#../../include/ruby.h#g' Makefile

步驟9:

安裝openssl環境,可以使用以下兩種方式安裝,推薦方式二:

方式一:使用yum安裝,執行如下指令:

yum install openssl

方式二:去openssl官網https://www.openssl.org/source/下載穩定版本,本次安裝下載的是openssl-1.1.0f.tar.gz版本,將下載好的軟體上傳到伺服器上,截圖如下:

上傳完成後,開始安裝openssl,執行指令如下:

cd /mnt/;

tar -xzvfopenssl-1.1.0f.tar.gz;

cd openssl-1.1.0f;

./config-fPIC --prefix=/usr/local/openssl enable-shared;

./config-t;

make&& make install;

cd/mnt/ruby-2.4.2/ext/openssl/;

rubyextconf.rb ;

make;

makeinstall;

說明:1)如果執行成功,出現以下介面,則繼續執行步驟7中指令:

2)如果執行ruby extconf.rb過程中出現如下介面,則說明沒有找到ssl.h,執行出錯:

執行如下指令替代ruby extconf.rb,執行成功後繼續執行後面的指令:

ruby extconf.rb--with-openssl-include=/usr/local/openssl/include/--with-openssl-lib=/usr/local/openssl/lib

3)如果執行make過程中報如下錯誤:

則執行如下指令,執行完成後繼續執行make指令:

sed -i's#$(top_srcdir)/include/ruby.h#../../include/ruby.h#g' Makefile

2.2、叢集測試

按照2.1中安裝步驟安裝完redis集群后,現對其進行測試:

1)檢視Redis叢集狀態,埠可以指定叢集中任意一個埠,執行如下指令:

cd /mnt/redis-cluster/redis-4.0.2/src/;

./redis-cli -p 7000 cluster nodes;

執行結果如下:

2)測試叢集中的資料插入及獲取,執行如下指令:

cd /mnt/redis-cluster/redis-4.0.2/src/;

./redis-cli -p 7001 -c;

說明:-h+host -p+埠號-c是要連線叢集,注意-c必須加,否則會報錯。埠可以指定叢集中任意一個埠。

測試結果如下: