Redis服務端的配置(單機+集羣)

Linux下安裝 Redis

1、wget http://download.redis.io/redis-stable.tar.gz

2、tar xvzf redis-stable.tar.gz

3、cd redis-stable

4、make

前面3步應該沒有問題,主要的問題是執行make的時候,出現了異常。

異常一:

make[2]: cc:Command not found

異常原因:沒有安裝gcc

解決方案:yum install gcc-c++

異常二:

zmalloc.h:51:31:error: jemalloc/jemalloc.h: No such file or directory

異常原因:一些編譯依賴或原來編譯遺留出現的問題

解決方案:make distclean。清理一下,然後再make。

在mke成功以後,需要make test。在make test出現異常。

異常一:

couldn't execute"tclsh8.5": no such file or directory

異常原因:沒有安裝tcl

解決方案:yum install -y tcl。

在make成功以後,會在src目錄下多出一些可執行文件:redis-server,redis-cli等等

1.Redis配置(單機)

方便後期使用,可以用cp命令複製到usr目錄下運行。

cd src

cp redis-server/usr/local/bin/

cp redis-cli/usr/local/bin/

然後新建目錄,存放配置文件

mkdir /etc/redis

mkdir /var/redis

mkdir/var/redis/log

mkdir/var/redis/run

mkdir/var/redis/6379

在redis解壓根目錄中找到配置文件模板,複製到如下位置。

cd ..

cp redis.conf/etc/redis/6379.conf

通過vi命令修改

vi/etc/redis/6379.conf

改動爲如下內容:

daemonize yes

pidfile/var/redis/run/redis_6379.pid

logfile/var/redis/log/redis_6379.log

最後運行redis:

使用指定配置文件啓動

$/usr/local/redis-stable/src/redis-server /etc/redis/6379.conf

將Redis作爲 Linux 服務隨機啓動

vi /etc/rc.local,使用vi編輯器打開隨機啓動配置文件,並在其中加入下面一行代碼。

/usr/local/redis-stable/src/redis-server/etc/redis/6379.conf


2.redis配置(集羣:一主兩從三哨兵)

參考文檔:

yum -y install gcc-c++ tcl

tar xvzf redis-2.8.3.tar.gz -C /usr/local/
cd /usr/local/redis-2.8.3/
make
(若失敗運行make distclean,然後make MALLOC=libc)

成功後:make test
然後:make install(拷貝編譯好的文件到/usr/local/bin/)
mkdir /etc/redis; mkdir -pv /var/redis/{log,run,6379,sentinel}

!!!!不要安裝3.2.0 3.2.1等高版本,sentinel bug多,無法正常failover !!!!

=====================================================================================

主redis:
port 6379
daemonize yes
bind 0.0.0.0
logfile "/var/redis/log/sentinel.log"
pidfile "/var/run/redis.pid"
dir "/var/redis/6379"
slave-read-only yes
appendonly no


從redis:
port 6379
daemonize yes
bind 0.0.0.0
logfile "/var/redis/log/sentinel.log"
pidfile "/var/run/redis.pid"
dir "/var/redis/6379"
slave-read-only yes
appendonly no
slaveof 192.168.16.121 6379


哨兵:
port 26379
daemonize yes
dir "/var/redis/sentinel/
logfile "/var/redis/log/sentinel.log"
sentinel monitor mymaster 192.168.16.121 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1




開機啓動:
redis-server /etc/redis/redis.conf 啓動redis服務
redis-server /etc/redis/sentinel.conf --sentinel 啓動哨兵

常用命令:
redis-cli -p 6379 進入redis命令行
redis-cli -p 26379 進入sentinel命令行
進入命令行後用info在命令行下查看各信息
redis-cli -p 6379 DEBUG sleep 30 測試server下線30秒的高可用情況


============================================================================
構架圖:
+----+
| M1 |
| S1 |
+----+
|
+----+ | +----+
| R2 |----+----| R3 |
| S2 | | S3 |
+----+ +----+
Masters are called M1, M2, M3, ..., Mn.
Slaves are called R1, R2, R3, ..., Rn (R stands for replica).
Sentinels are called S1, S2, S3, ..., Sn.

M1:ip=192.168.16.121,port=6379
R2:ip=192.168.16.122,port=6379
R3:ip=192.168.16.123,port=6379


3.redis服務端常用命令

redis開啓:/usr/redis/src/redis-server /usr/redis/redis.conf

redis關閉:/usr/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown

redis狀態查看:/usr/redis/src/redis-cli


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章