網(wǎng)站首頁 編程語言 正文
前言:
本文使用的是操作系統(tǒng)為:linux centos7
本文使用的Redis版本為:redis-5.0.13
其他系統(tǒng)或者版本也可以按照以下步驟安裝
1、Redis單機(jī)版安裝
1.1:下載安裝包
官網(wǎng)地址:Redis
下載地址為:https://download.redis.io/releases/redis-5.0.13.tar.gz
cd /usr/local/src/
wget https://download.redis.io/releases/redis-5.0.13.tar.gz
看到redis-5.0.13.tar.gz 文件就說明下載成功了
1.2:解壓安裝包
tar -zxvf redis-5.0.13.tar.gz
解壓完成后進(jìn)入解壓后的文件夾會(huì)看到如下的文件內(nèi)容?
cd redis-5.0.13
ll
-rw-rw-r--. 1 root root 125833 Jul 22 02:07 00-RELEASENOTES
-rw-rw-r--. 1 root root 53 Jul 22 02:07 BUGS
-rw-rw-r--. 1 root root 2381 Jul 22 02:07 CONTRIBUTING
-rw-rw-r--. 1 root root 1487 Jul 22 02:07 COPYING
drwxrwxr-x. 6 root root 124 Jul 22 02:07 deps
-rw-rw-r--. 1 root root 11 Jul 22 02:07 INSTALL
-rw-rw-r--. 1 root root 151 Jul 22 02:07 Makefile
-rw-rw-r--. 1 root root 6888 Jul 22 02:07 MANIFESTO
-rw-rw-r--. 1 root root 20555 Jul 22 02:07 README.md
-rw-rw-r--. 1 root root 63088 Jul 22 02:07 redis.conf
-rwxrwxr-x. 1 root root 275 Jul 22 02:07 runtest
-rwxrwxr-x. 1 root root 280 Jul 22 02:07 runtest-cluster
-rwxrwxr-x. 1 root root 373 Jul 22 02:07 runtest-moduleapi
-rwxrwxr-x. 1 root root 281 Jul 22 02:07 runtest-sentinel
-rw-rw-r--. 1 root root 9710 Jul 22 02:07 sentinel.conf
drwxrwxr-x. 3 root root 4096 Jul 22 02:07 src
drwxrwxr-x. 11 root root 182 Jul 22 02:07 tests
drwxrwxr-x. 8 root root 4096 Jul 22 02:07 utils
1.3:執(zhí)行make命令,編譯redis代碼
make
一般會(huì)出現(xiàn)一下錯(cuò)誤,不要慌,由于 redis 是用 C 語言開發(fā),安裝之前必先確認(rèn)是否安裝 gcc 環(huán)境(gcc -v),如果沒有安裝,執(zhí)行以下命令進(jìn)行安裝??yum install -y gcc
?gcc環(huán)境安裝成功后,執(zhí)行?make distclean 清楚之間的make記錄,然后重新 make
1.4:安裝并指定安裝目錄
make install PREFIX=/usr/local/redis
1.5:配置環(huán)境變量
vi /etc/profile
#在最后面加上以下內(nèi)容
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin
#使環(huán)境變量生效
source /etc/profile
1.6:讓redis作為服務(wù)進(jìn)行后臺(tái)啟動(dòng)
1.6.1:從 redis 的源碼目錄中復(fù)制 redis.conf 到 redis 的安裝目錄
cp /usr/local/src/redis-5.0.13/redis.conf /usr/local/redis/bin/
1.6.2:修改 redis.conf?文件,把 daemonize no?改為 daemonize yes,使redis作為守護(hù)線程啟動(dòng)
cd /usr/local/redis/bin/
vi redis.conf
1.6.3:后臺(tái)啟動(dòng),并且鏈接redis測試, 執(zhí)行一下命令啟動(dòng)redis
redis-server /usr/local/redis/bin/redis.conf
然后執(zhí)行 redis-cli 連接redis,然后set get 數(shù)據(jù)測試
至此,單機(jī)版redis已經(jīng)安裝成功了!!!
1.7:redis關(guān)閉服務(wù)
redis-cli shutdown
2、Redis 集群版安裝
說明本文的redis集群版本,使用的是主從復(fù)制的集群版本安裝
2.1:基本的集群拓?fù)鋱D如下
2.2:修改redis-sentinel的配置文件?sentinel.conf
#sentinel-1 配置文件修改內(nèi)容
port 26379
sentinel monitor mymaster 192.168.33.100 6379 2
#sentinel-2 配置文件修改內(nèi)容
port 26380
sentinel monitor mymaster 192.168.33.100 6379 2
#sentinel-3 配置文件修改內(nèi)容
port 26380
sentinel monitor mymaster 192.168.33.100 6379 2
sentinel monitor <master-name> <ip> <redis-port> <quorum> 配置文件說明:該配置是告訴sentinel去監(jiān)聽地址為ip:port的一個(gè)master,這里的master-name可以自定義,quorum是一個(gè)數(shù)字,指明當(dāng)有多少個(gè)sentinel認(rèn)為一個(gè)master失效時(shí),master才算真正失效。master-name只能包含英文字母,數(shù)字,和“.-_”這三個(gè)字符需要注意的是master-ip 要寫真實(shí)的ip地址而不要用回環(huán)地址(127.0.0.1)。
2.3:修改redis-server的配置文件?redis.conf
# redis-1 的 redis.conf配置
port 6379
# redis-2 的 redis.conf配置
port 6380
replicaof 127.0.0.1 6379
# redis-3 的 redis.conf配置
port 6381
replicaof 127.0.0.1 6379
2.4:分別啟動(dòng) redis-1,redis-2,redis-3 服務(wù)
2.5:分別啟動(dòng)?sentinel-1, sentinel-2, sentinel-3
cd /usr/local/redis/bin
redis-sentinel sentinel.conf
2.6:驗(yàn)證集群效果
2.6.1:連接到主redis服務(wù),查看集群情況,可以看到有當(dāng)前redis為master,其他兩臺(tái)redis服務(wù)為slave
redis-cli -h 192.168.33.100 -p 6379
info replication
#得到以下內(nèi)容
role:master
connected_slaves:2
slave0:ip=192.168.33.101,port=6380,state=online,offset=246573,lag=1
slave1:ip=192.168.33.102,port=6381,state=online,offset=246706,lag=0
master_replid:bc4a9331019d765fe16199fcdcb357b4681a9f75
master_replid2:b41587d209ec96c2b2c634c1880fed7b12ded6e8
master_repl_offset:246839
second_repl_offset:221755
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:9553
repl_backlog_histlen:237287
2.6.2:停止redis主服務(wù)
redis-cli -h 192.168.33.100 -p 6379 shutdown
2.6.3:查看sentinel服務(wù)的日志,可以看到redis主服務(wù)宕機(jī),sentinel服務(wù)主動(dòng)切換6381為主redis服務(wù)
2.6.4:再次啟動(dòng)6379端口 redis 服務(wù)查看集群情況,可以看到,6379已經(jīng)變?yōu)閺姆?wù)了
?至此,哨兵模式的高可用主從復(fù)制集群已經(jīng)搭建好了
原文鏈接:https://blog.csdn.net/qq_36793589/article/details/119957906
相關(guān)推薦
- 2022-07-08 Python如何通過地址獲取變量_python
- 2022-11-14 Python中__init__.py文件的作用_python
- 2023-02-27 plt.subplot()參數(shù)及使用介紹_python
- 2024-04-06 npm install安裝插件很慢,解決方法
- 2022-07-20 Flutter系統(tǒng)網(wǎng)絡(luò)圖片加載流程解析_Android
- 2022-04-14 error: failed to push some refs to ‘http://git.tex
- 2022-05-15 C++11:lambda表達(dá)式詳細(xì)介紹
- 2023-03-02 C++回溯算法之深度優(yōu)先搜索詳細(xì)介紹_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支