天天看點

Redis 安裝及設定主從配置

Redis 安裝及設定主從配置

目标是為了設定Redis的Master-slave主從配置,從安裝部署到主從配置完成,折騰了一個下午的時光,終于成功了。好記憶不如爛筆頭,算是給自己一個回看閱讀的機會。把自己一步一步解決問題的過程記錄下來,也是一個複習總結的過程,給碰見同樣問題的大家一個參考文章!

本人試驗的Redis安裝分window和Linux(CentOS)版本:

1:window 版本Redis安裝:

到https://github.com/dmajkic/redis/downloads中下載下傳最新版本安裝包,執行安裝一路下一步安裝完成。

預設安裝路徑為:C:\Program Files\Redis\,修改C:\Program Files\Redis\conf下的配置檔案:Redis.conf

先隻關注的bind 和  requirepass 兩處,設定為 bind 本機IP, requirepass =123456 Redis連接配接密碼;端口預設:6379;

然後運作中輸入services.msc 回車,找到Redis服務并開啟;

Redis 安裝及設定主從配置

2:下載下傳Redis Desktop Manager Redis用戶端工具并安裝;

Redis 安裝及設定主從配置

 3:Linux下Redis安裝:

大緻步驟如下:根據Redis官網教程:

http://www.redis.net.cn/tutorial/3503.html

  1. $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
  2. $ tar xzf redis-2.8.17.tar.gz
  3. $ cd redis-2.8.17
  4. $ make

實際執行過程中碰見不少的問題,下面來詳細了解:

1:上面的Redis版本,官網給的是一個示例版本,可以進入http://download.redis.io/releases檢視最新的版本,然後下載下傳:

Redis 安裝及設定主從配置

2:tar xzf redis-4.0.2.tar.gz 解壓後cd redis-4.0.2

3: 編譯:make 提示錯誤:make:cc指令未找到:

沒安裝gcc,然後安裝

yum install gcc 

yum install gcc-c++ 

再次make,此處報錯2:jemalloc/jemalloc.h:沒有那個檔案或目錄

百度得來的解決辦法:https://blog.csdn.net/honchou56/article/details/53994708

引:配置設定器allocator, 如果有MALLOC  這個 環境變量, 會有用這個環境變量的 去建立Redis。

而且libc 并不是預設的 配置設定器, 預設的是 jemalloc, 因為 jemalloc 被證明 有更少的 fragmentation problems 比libc。

但是如果你又沒有jemalloc 而隻有 libc 當然 make 出錯。 是以加這麼一個參數,運作如下指令:

make MALLOC=libc

4:make test 編譯測試報錯:

You need tcl 8.5 or newer in order to run the Redis test

make: *** [test] Error 1

解決辦法:出處:https://blog.csdn.net/jiangxiaoge1023/article/details/51547856

下載下傳tcl8.6.1-src.tar.gz :wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz  

解壓安裝包:sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/  

進入解壓檔案夾:cd  /usr/local/tcl8.6.1/unix/  

執行配置:sudo ./configure  

編譯:sudo make  

安裝:sudo make install

5:安裝Redis完成,接下來是修改Redis.conf 配置檔案;此處我們copy 現有安裝目錄下的Redis.conf檔案到其他地方:

設定配置檔案路徑

mkdir -p /home/user/redis-3.2.0/6379

cp redis.conf /home/user/redis-3.2.0/6379

同windows 安裝Redis一樣,先隻關注bind requirepass 這些。設定好後,啟動Linux 端Redis服務;

Redis 安裝及設定主從配置

6:此時用Redis Client Manager将連接配接不上Linux端Redis服務,解決辦法:

systemctl stop firewalld 關閉防火牆(安裝iptables-services:yum install iptables-services)

參考:https://blog.csdn.net/huxu981598436/article/details/54668874

https://blog.csdn.net/c233728461/article/details/52679558

7:設定Linux端Redis服務為從屬服務:

[[email protected] ~]# cd /home/user/redis-4.0.2/6379/

[[email protected] 6379]# vi redis.conf 

Redis 安裝及設定主從配置

8:執行redis-server /home/user/redis-4.0.2/6379/redis.conf 開啟Redis服務

主從設定完成,資料同步成功:

Redis 安裝及設定主從配置
Redis 安裝及設定主從配置

9:開啟新視窗執行:

[[email protected] bin]# redis-cli -h 192.168.56.3 -p 6379

192.168.56.3:6379> ping

(error) NOAUTH Authentication required.

192.168.56.3:6379> auth 111111

OK

192.168.56.3:6379> set testkey2 testvalue2

(error) READONLY You can't write against a read only slave.

上面的提示從屬Redis服務不可做寫入操作。回到window版Redis伺服器中新增key ,然後檢視從屬Redis服務中是否可以擷取到key, 當然是可以的。試驗完畢!

繼續閱讀