Linux搭建高并发高可用Redis集群
安裝Redis
Redis 是一個高性能的key-value數據庫。常用作緩存服務器使用。
1. 下載redis安裝包,redis-3.2.11.tar.gz(http://download.redis.io/releases/redis-3.2.11.tar.gz)
> wget http://download.redis.io/releases/redis-3.2.11.tar.gz
2. 將安裝包放到/usr/local/src/目錄下
> mv redis-3.2.11.tar.gz /usr/local/src/
3. 解壓安裝包
> tar zxvf redis-3.2.11.tar.gz
4. 進入解壓后的目錄
> cd redis-3.2.11
5. 編譯并安裝(PREFIX指定目錄)
> make PREFIX=/usr/local/redis install
6. 修改redis.conf
daemonize yes #后臺運行
7. 將Redis的bin目錄(/usr/local/redis/bin)加到系統環境變量中
8. 運行redis(后面加上文件名啟動配置才能生效)
> redis-server redis.conf
9. 查看Redis是否已啟動
ps -ef|grep redis
配置主從復制應對高并發
配置主從復制實現數據備份,確保數據安全,多個從同時提供讀服務,提高并發訪問量。
1. 進入redis主目錄,將所有正在運行的redis進程關閉。
# redis-cli -p 6379 shutdown
2. 復制兩份redis.conf文件,并命名為slave1.conf和slave2.conf。
# cp redis.conf slave1.conf
# cp redis.conf slave2.conf
3. 修改redis.conf、slave1.conf和slave2.conf,修改端口號,使一主兩從共三個redis實例不沖突。
redis.conf修改port為6379
slave1.conf修改port為6380
slave2.conf修改port為6381
4. 分別啟動三個redis實例。
> redis-server redis.conf
> redis-server slave1.conf
> redis-server slave2.conf
5. 啟動后,分別進入兩個slave實例客戶端執行下面的命令:
> redis-cli -p 6380
127.0.0.1:6380> slaveof 127.0.0.1 6379 #指定本實例成為本機6379端口實例的slave
127.0.0.1:6380> exit
> redis-cli -p 6381
127.0.0.1:6381> slaveof 127.0.0.1 6379 #指定本實例成為本機6379端口實例的slave
127.0.0.1:6381> exit
開啟哨兵實現高可用
開啟哨兵監控redis服務的運行狀態,當出現主服務異常關閉的情況時,哨兵會選舉一個從服務為新的主服務,確保服務集群的高可用。
1. 進入redis主目錄。
2. 復制兩份sentinel.conf文件,并命名為sentinel1.conf和sentinel2.conf。
cp sentinel.conf sentinel1.conf
cp sentinel.conf sentinel2.conf
3. 修改sentinel1.conf和sentinel2.conf,修改端口號,使兩個sentinel實例不沖突。
sentinel1.conf修改port為26380
sentinel2.conf修改port為26381
4. 分別啟動兩個sentinel實例。
> redis-sentinel sentinel1.conf &
> redis-sentinel sentinel2.conf &
開啟成功后,當主redis實例異常關閉后,sentinel會從兩個從redis實例中選出一個成為新的主人redis實例
當遇異常關閉的redis實例重新啟動后,會變成新主人的從redis。
如果你的主從不在同一臺服務器上,建議使用redis.conf中的bind綁定多個IP,不建議注釋掉IP綁定使用密碼來訪問,更不要直接關閉保護模式。Redis本身是緩存服務器,為安全起見,不應該暴露在公網中。
總結
以上是生活随笔為你收集整理的Linux搭建高并发高可用Redis集群的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 列表与表单
- 下一篇: 如何让二维码自适应浏览器的尺寸
