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

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

本篇文章講述了 Redis 單機環(huán)境、主備、哨兵 Sentinel 模式以及 Redis Cluster 集群模式下的操作步驟,關于這些操作我們沒必要死記硬背,只需要總結(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服務

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.安裝服務./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] 設置配置文件目錄Selected default - /etc/redis/6379.confPlease select the redis log file name [/var/log/redis_6379.log] 設置日志目錄Selected default - /var/log/redis_6379.logPlease select the data directory for this instance [/var/lib/redis/6379] 設置數(shù)據(jù)庫目錄Selected default - /var/lib/redis/6379Please select the redis executable path [/usr/local/redis5/bin/redis-server] 設置可執(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... 安裝服務Successfully added to chkconfig! 設置開機啟動Successfully added to runlevels 345!Starting Redis server... 啟動服務Installation successful!
7.service redis_6379 status?檢查是否安裝成功ps -ef|grep redis?檢查正在運行的服務

必會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.設置追隨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.設置 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相關命令 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)


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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉