www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導讀]本篇文章講述了Redis單機環(huán)境、主備、哨兵Sentinel模式以及RedisCluster集群模式下的操作步驟,關(guān)于這些操作我們沒必要死記硬背,只需要總結(jié)下來,下次使用直接拿出來就好。建議當作操作手冊收藏。安裝單實例Redis編譯Redis1.下載Redis源碼包wgethtt...

本篇文章講述了 Redis 單機環(huán)境、主備、哨兵 Sentinel 模式以及 Redis Cluster 集群模式下的操作步驟,關(guān)于這些操作我們沒必要死記硬背,只需要總結(jié)下來,下次使用直接拿出來就好。

建議當作操作手冊收藏。

安裝單實例 Redis

編譯Redis

1.下載Redis源碼包wget https://download.redis.io/releases/redis-5.0.13.tar.gz2.解壓文件tar -zxvf redis-5.0.13.tar.gz3.cd redis-5.0.134.make?編譯

1.如果遇到以下報錯,需要安裝依賴?yum install gcc

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

2.如果遇到以下報錯

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

分配器allocator, 如果有MALLOC 這個 環(huán)境變量, 會有用這個環(huán)境變量的 去建立Redis。

而且libc 并不是默認的 分配器, 默認的是 jemalloc, 因為 jemalloc 被證明 有更少的 fragmentation problems 比libc。

但是如果你又沒有jemalloc 而只有 libc 當然 make 出錯。所以加這么一個參數(shù),運行如下命令:

make MALLOC=libc

此時編譯完成,文件目錄下已經(jīng)生成可執(zhí)行文件。


必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)


安裝Redis服務(wù)

1.安裝編譯后的文件make install PREFIX=/usr/local/redis52.編輯環(huán)境變量vi /etc/profile3.追加如下信息

export REDIS_HOME=/usr/local/redis5export PATH=$PATH:$REDIS_HOME/bin4.更新配置source /etc/profile

echo $PATH檢查環(huán)境變量是否正確必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

5.cd utils/6.安裝服務(wù)./install_server.sh然后出現(xiàn)如下輸出

[root@node1 utils]# ./install_server.sh Welcome to the redis service installerThis script will help you easily set up a running redis server
Please select the redis port for this instance: [6379] 選擇啟動端口Selecting default: 6379Please select the redis config file name [/etc/redis/6379.conf] 設(shè)置配置文件目錄Selected default - /etc/redis/6379.confPlease select the redis log file name [/var/log/redis_6379.log] 設(shè)置日志目錄Selected default - /var/log/redis_6379.logPlease select the data directory for this instance [/var/lib/redis/6379] 設(shè)置數(shù)據(jù)庫目錄Selected default - /var/lib/redis/6379Please select the redis executable path [/usr/local/redis5/bin/redis-server] 設(shè)置可執(zhí)行文件目錄Selected config:Port : 6379Config file : /etc/redis/6379.confLog file : /var/log/redis_6379.logData dir : /var/lib/redis/6379Executable : /usr/local/redis5/bin/redis-serverCli Executable : /usr/local/redis5/bin/redis-cliIs this ok? Then press ENTER to go on or Ctrl-C to abort.Copied /tmp/6379.conf => /etc/init.d/redis_6379 復制配置文件Installing service... 安裝服務(wù)Successfully added to chkconfig! 設(shè)置開機啟動Successfully added to runlevels 345!Starting Redis server... 啟動服務(wù)Installation successful!
7.service redis_6379 status?檢查是否安裝成功ps -ef|grep redis?檢查正在運行的服務(wù)

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

配置修改

1.修改 配置信息vi /etc/redis/6379.conf?(這一步可選)

daemonize no # 前臺方式運行 為了方便觀察#logfile /var/log/redis_6379.log #注釋掉,前臺輸出 為了方便觀察appendonly yes # aof同步開啟
2.啟動?redis-server /etc/redis/6379.conf3.啟動客戶端?redis-cli -p 6379

主備安裝

1.使用install_server.sh再安裝兩個Redis實例,使用端口號在同一機器區(qū)分 這里分別使用6379,6380,6381,并且分別啟動2.登陸客戶端 redis-cli -p 63813.輸入命令 help SLAVEOF,6380端口實例操作同理。

redis-cli -p 6381 127.0.0.1:6381>help SLAVEOFSLAVEOF host port summary: Make the server a replica of another instance, or promote it as master. Deprecated starting with Redis 5. Use REPLICAOF instead. since: 1.0.0 group: server
127.0.0.1:6381> REPLICAOF 127.0.0.1 6379 OK 127.0.0.1:6381>
4.設(shè)置追隨6379為主?REPLICAOF 127.0.0.1 6379

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

6381變化:

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

6379變化:

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

25692:S 03 Sep 2021 20:19:53.182 * REPLICAOF 127.0.0.1:6379 enabled (user request from 'id=3 addr=127.0.0.1:42336 fd=7 name= age=113 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=44 qbuf-free=32724 obl=0 oll=0 omem=0 events=r cmd=replicaof')25692:S 03 Sep 2021 20:19:54.146 * Connecting to MASTER 127.0.0.1:637925692:S 03 Sep 2021 20:19:54.146 * MASTER <-> REPLICA sync started25692:S 03 Sep 2021 20:19:54.146 * Non blocking connect for SYNC fired the event.25692:S 03 Sep 2021 20:19:54.147 * Master replied to PING, replication can continue...25692:S 03 Sep 2021 20:19:54.147 * Trying a partial resynchronization (request 839fc4e0817f7c98e9fa8204c53aedf661c71bf1:1).25692:S 03 Sep 2021 20:19:54.148 * Full resync from master: 4cff4bffe3e33adcca1864de53064480eb00c200:025692:S 03 Sep 2021 20:19:54.148 * Discarding previously cached master state.25692:S 03 Sep 2021 20:19:54.251 * MASTER <-> REPLICA sync: receiving 176 bytes from master25692:S 03 Sep 2021 20:19:54.254 * MASTER <-> REPLICA sync: Flushing old data # 會先刪除本節(jié)點老數(shù)據(jù)25692:S 03 Sep 2021 20:19:54.254 * MASTER <-> REPLICA sync: Loading DB in memory25692:S 03 Sep 2021 20:19:54.254 * MASTER <-> REPLICA sync: Finished with success
效果如下圖:

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

如果一個節(jié)點首次追隨主節(jié)點,會執(zhí)行RDB同步 如果從節(jié)點掛掉,啟動直接追隨先前的主節(jié)點,只做增量同步 但是如果節(jié)點掛掉,啟動直接追隨先前的主節(jié)點,同步方式為AOF,則會做RDB全量同步。??赡苁且驗锳OF沒有記錄之前追隨過誰

取消追隨主節(jié)點:REPLICAOF no one

哨兵模式 Sentinel

配置 sentinel

1.從redis源碼目錄復制官網(wǎng)提供的配置文件cp /root/soft/redis-5.0.13/sentinel.conf /etc/redis/sentinel_26379.conf2.修改配置文件

port 26379sentinel monitor mymaster 127.0.0.1 6379 23.啟動sentinel實例redis-server /etc/redis/sentinel_26379.conf --sentinel?以此為例啟動三臺

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

?

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

4.設(shè)置 sentinel 成功

驗證

1.此時殺死m(xù)aster 6379實例

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

2.選舉6380為新的主節(jié)點

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

3.此時重啟6379節(jié)點?

redis-server /etc/redis/6379.conf必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

其中一個sentinel輸出如下

11035:X 04 Sep 2021 01:41:29.685 # -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 638011035:X 04 Sep 2021 01:41:39.675 * convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6380原有的主節(jié)點已經(jīng)切換為備用節(jié)點

Redis Cluster

配置集群

1.查看Redis cluster相關(guān)命令 redis-cli --cluster help

[root@node1 ~]# redis-cli --cluster helpCluster Manager Commands: create host1:port1 ... hostN:portN --cluster-replicas check host:port --cluster-search-multiple-owners info host:port fix host:port --cluster-search-multiple-owners reshard host:port --cluster-from --cluster-to --cluster-slots --cluster-yes --cluster-timeout --cluster-pipeline --cluster-replace rebalance host:port --cluster-weight <node1=w1...nodeN=wN> --cluster-use-empty-masters --cluster-timeout --cluster-simulate --cluster-pipeline --cluster-threshold --cluster-replace add-node new_host:new_port existing_host:existing_port --cluster-slave --cluster-master-id del-node host:port node_id call host:port command arg arg .. arg set-timeout host:port milliseconds import host:port --cluster-from --cluster-copy --cluster-replace2.分別啟動每個Redis實例

Redis 本身在Utils目錄下提供了單機部署 cluster demo 的util腳本,可以快速一鍵部署。

cd /root/soft/redis-5.0.13/utils/create-cluster

vi create-cluster

# SettingsPORT=30000TIMEOUT=2000NODES=6 # 節(jié)點數(shù)REPLICAS=1 # 備用節(jié)點數(shù) 此配置為3主3從./create-cluster start 啟動實例

./create-cluster create

3.redis-cli --cluster create 127.0.0.1:30001 127.0.0.1:30002 127.0.0.1:30003 127.0.0.1:30004 127.0.0.1:30005 127.0.0.1:30006 --cluster-replicas 1

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)


4.創(chuàng)建集群完成,客戶端鏈接校驗redis-cli -c -p 30001

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

?如果發(fā)生了自動重定向,則表示RedisCluster使用正常


檢查Redis cluster狀態(tài)

1.redis-cli --cluster check 127.0.0.1:30001

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

reshrad Redis槽位

1.redis-cli --cluster reshard 127.0.0.1:300012.然后按照提示操作,首先選擇要移動的槽位數(shù)量,然后選擇接受節(jié)點

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)


3.再選擇需要從哪些節(jié)點移出槽位

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)

4.最后輸入done,然后yes確定5.檢查移動后的結(jié)果 redis-cli --cluster info 127.0.0.1:30001

必會Redis單節(jié)點、Sentinel和Cluster操作實戰(zhàn)


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉