最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis-cli創(chuàng)建redis集群的實(shí)現(xiàn)

 更新時(shí)間:2024年06月17日 11:37:56   作者:余生逆風(fēng)飛翔  
本文主要介紹了redis-cli創(chuàng)建redis集群的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、redis單節(jié)點(diǎn)部署

創(chuàng)建文件用service啟動(dòng)redis方式

創(chuàng)建如下文件

vi /etc/systemd/system/redis.service

寫入內(nèi)容如下:

[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
#使用時(shí)更改redies-server的目錄地址,更改redis.conf配置文件的地址
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重啟配置使用上述文件生效

systemctl daemon-reload

二、redis集群部署

注:以下ruby環(huán)境和命令只適用于5.0(不包括)以前版本,5.0以上版本請(qǐng)?zhí)^7.1之前步驟

  • redis-trib.rb是在redis3.x版本時(shí)所用的一種部署redis集群的工具,redis-cli是redis5.x及更高版本所支持創(chuàng)建集群的工具,在redis3.x版本時(shí)redis-cli只是一個(gè)客戶端連接管理工具。
  • redis-cli比redis-trib.rb多了一個(gè)可以認(rèn)證集群密碼的功能,后者創(chuàng)建的集群不能對(duì)有密碼的集群節(jié)點(diǎn)進(jìn)行很好的管理,所以后來官方直接廢棄了這個(gè)工具。
  • 用redis-trib.rb創(chuàng)建集群之前需要配置ruby環(huán)境,新版本的redis-cli可以直接創(chuàng)建集群環(huán)境而不用配置ruby環(huán)境

集群架構(gòu)

  • redis 集群至少需要3個(gè) master 實(shí)例
  • master 可以帶0個(gè)或者多個(gè) slave
  • Master之間的數(shù)據(jù)并不同步,而是各自存放各自的數(shù)據(jù)
  • 所有的 master 按照接近1:1的比例分配16384個(gè)槽,意味著集群最多有 16384個(gè)master 但是在實(shí)際中推薦最大的
    master 節(jié)點(diǎn)數(shù)不超過1000個(gè)。
  • slave不分配槽
  • 整個(gè)集群中的數(shù)據(jù)是以分布式的方式存儲(chǔ)的,在存儲(chǔ)或者獲取的時(shí)候先對(duì) key進(jìn)行hash運(yùn)算,看看該 key落在那個(gè)槽上,從而確定該 key
    應(yīng)該在那個(gè)節(jié)點(diǎn)存取
  • Key 值落在哪一個(gè)槽上,只取決于 key 值本身,這個(gè)算法是固定的。

部署環(huán)境

版本:6.2.11
節(jié)點(diǎn)數(shù)量:redis-master-3節(jié)點(diǎn)
redis-selve-3節(jié)點(diǎn)

1.先安裝依賴文件

yum -y install gcc tcl

2.解壓redis包并執(zhí)行如下命令

tar xf /home/redis-6.2.11.tar.gz
cd /home/redis-6.2.11
make

3.需要更改的參數(shù)

#端口,各自端口不同
port 637*
#后臺(tái)啟動(dòng)
daemonize yes
#密碼,集群的密碼都要相同
masterauth 123456
#開啟集群
cluster-enabled yes
#綁定本機(jī)Ip地址
bind 0.0.0.0
#更改密碼,所有節(jié)點(diǎn)均紋統(tǒng)一密碼,此為認(rèn)證密碼,單節(jié)點(diǎn)登錄使用
requirepass 123456
#各節(jié)點(diǎn)集群配置文件
cluster-config-file node-63**.conf

4.安裝ruby環(huán)境及依賴

yum -y install ruby ruby-devel rubygems

5.安裝ruby環(huán)境

備注:redis-trib.rb這個(gè)二進(jìn)制文件,用來構(gòu)建redis集群,要用到ruby環(huán)境
補(bǔ)充:報(bào)錯(cuò)問題:“redis requires Ruby version >= 2.2.2”為ruby版本太低造成

#會(huì)在/etc/yum.repos.d/目錄下多出一個(gè)CentOS-SCLo-scl-rh.repo源3
yum install centos-release-scl-rh
#直接yum安裝即可
yum install rh-ruby25  -y      
#必要一步
scl  enable  rh-ruby25 bash    
#查看安裝版本redis-trib.rb這個(gè)二進(jìn)制文件就可以使用了,用來構(gòu)建redis集群
ruby -v
#安裝redis接口
gem install redis

6.設(shè)置環(huán)境變量

備注:如果不設(shè)置環(huán)境變量的話,重啟節(jié)點(diǎn)后ruby就找不到了

#使用export命令顯示所有環(huán)境變量,復(fù)制后添加到/etc/profile文件中
export
export PATH=/bin:/usr/bin:/sbin:$PATH
#保存退出后使用命令source使用配置生效
source /etc/profile

7.集群創(chuàng)建

1.redis-trib.rb模式啟動(dòng)集群

#需要要先修改redis-trib.rb的密碼與集群相同
#過濾出client.rb文件路徑
find / -name "client.rb"
#修改client.rb文件中的密碼
默認(rèn)為空修改為集群密碼
#執(zhí)行如下命令啟動(dòng)集群
/home/redis-6.2.11/src/redis-trib.rb create --replicas 1 192.168.95.133:6349 192.168.95.134:6378 192.168.95.135:6379 192.168.95.139:6375 192.168.95.137:6376 192.168.95.138:6377

在這里插入圖片描述

2. 5.0以上版本 

#4.0以上的版本用如下命令啟動(dòng)集群-a指定集群密碼
./redis-cli --cluster create 192.168.95.133:6349 192.168.95.134:6378 192.168.95.135:6379 192.168.95.139:6375 192.168.95.137:6376 192.168.95.138:6377 --cluster-replicas 1 -a '123456'

8.查看節(jié)點(diǎn)

#連接任意節(jié)點(diǎn)IP,-c是連接集群模式
./src/redis-cli -h 192.168.95.139 -p 6375 -c
#輸入密碼
auth ****
#查看節(jié)點(diǎn)
cluster nodes

9.停止集群

各節(jié)點(diǎn)停止redis后即可停止集群

10.增刪節(jié)點(diǎn)(此命令針對(duì)的是主節(jié)點(diǎn))

#增加節(jié)點(diǎn)需要登錄集群任何節(jié)點(diǎn)
cluster meet IP 端口
#刪除節(jié)點(diǎn),ID號(hào)在nodes文件中
cluster forget 節(jié)點(diǎn)ID

11.增刪從節(jié)點(diǎn)

#增加從節(jié)點(diǎn)時(shí),登錄哪個(gè)節(jié)點(diǎn)即為從節(jié)點(diǎn)
cluster replicate 節(jié)點(diǎn)id #此ID必須在集群中已記錄,即在nodes-**上記錄后才能添加,否則會(huì)報(bào)錯(cuò)
#重置當(dāng)前節(jié)點(diǎn)的配置信息,該名會(huì)重置rodes-port.conf 文件為初始狀態(tài)
cluster rest

問題記錄

解決辦法:刪除redis目錄下的nodes*后重啟redis所有節(jié)點(diǎn)

在這里插入圖片描述

解決辦法:登錄時(shí)要加-c參數(shù)以集群方式登錄

在這里插入圖片描述

試驗(yàn)結(jié)論:

經(jīng)過多次試驗(yàn)殺掉其中某一個(gè)主節(jié)點(diǎn),集群會(huì)自動(dòng)切換新的master,宕機(jī)節(jié)點(diǎn)恢復(fù)后會(huì)主動(dòng)加入集群

到此這篇關(guān)于redis-cli創(chuàng)建redis集群的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)redis-cli創(chuàng)建redis集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • redis通過位圖法記錄在線用戶的狀態(tài)詳解

    redis通過位圖法記錄在線用戶的狀態(tài)詳解

    這篇文章主要給大家介紹了關(guān)于redis如何通過位圖法記錄在線用戶的狀態(tài)的相關(guān)資料,文中先對(duì)位圖進(jìn)行了一個(gè)簡(jiǎn)單的介紹,而后通過示例代碼將實(shí)現(xiàn)的方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Redis不是一直號(hào)稱單線程效率也很高嗎,為什么又采用多線程了?

    Redis不是一直號(hào)稱單線程效率也很高嗎,為什么又采用多線程了?

    這篇文章主要介紹了Redis不是一直號(hào)稱單線程效率也很高嗎,為什么又采用多線程了的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Redis如何從海量key中查詢出某一固定前綴的key

    Redis如何從海量key中查詢出某一固定前綴的key

    當(dāng)Redis存儲(chǔ)一億key時(shí),使用keys指令可能因返回全部key導(dǎo)致服務(wù)器卡頓,而scan指令通過游標(biāo)分批獲取,避免阻塞,適合生產(chǎn)環(huán)境,需注意重復(fù)結(jié)果可用hashSet去重,count參數(shù)可調(diào)整返回?cái)?shù)量但非強(qiáng)制
    2025-07-07
  • 淺談redis內(nèi)存數(shù)據(jù)的持久化方式

    淺談redis內(nèi)存數(shù)據(jù)的持久化方式

    這篇文章主要介紹了淺談redis內(nèi)存數(shù)據(jù)的持久化方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Redis分布式鎖方案設(shè)計(jì)之防止訂單重復(fù)提交或支付

    Redis分布式鎖方案設(shè)計(jì)之防止訂單重復(fù)提交或支付

    這篇文章主要為大家介紹了Redis分布式鎖之防止訂單重復(fù)提交或支付方案設(shè)計(jì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Redis?HyperLogLog數(shù)據(jù)量統(tǒng)計(jì)的實(shí)現(xiàn)實(shí)例

    Redis?HyperLogLog數(shù)據(jù)量統(tǒng)計(jì)的實(shí)現(xiàn)實(shí)例

    在大數(shù)據(jù)時(shí)代,統(tǒng)計(jì)海量數(shù)據(jù)中的唯一值是一個(gè)常見的需求,但同時(shí)也是極具挑戰(zhàn)性的任務(wù),傳統(tǒng)的統(tǒng)計(jì)方法可能會(huì)消耗大量?jī)?nèi)存或計(jì)算資源,而?Redis?的?HyperLogLog?數(shù)據(jù)結(jié)構(gòu)?則提供了一種高效、輕量的解決方案,下面就來詳細(xì)介紹一下HyperLogLog的使用,感興趣的可以了解一下
    2025-09-09
  • 詳解Redis單線程的正確理解

    詳解Redis單線程的正確理解

    這篇文章主要介紹了詳解Redis單線程的正確理解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Redis數(shù)據(jù)存儲(chǔ)原理和結(jié)構(gòu)解讀

    Redis數(shù)據(jù)存儲(chǔ)原理和結(jié)構(gòu)解讀

    這篇文章詳細(xì)介紹了Redis的數(shù)據(jù)結(jié)構(gòu)和過期機(jī)制,包括鍵值對(duì)存儲(chǔ)、哈希表、字典、跳表等,并探討了大Key問題和解決方法
    2026-03-03
  • Redis源碼分析之set?和?sorted?set?使用

    Redis源碼分析之set?和?sorted?set?使用

    本文介紹了Redis?中的?set?和?sorted?set?使用源碼實(shí)現(xiàn)分析,Redis?的?Set?是?String?類型的無序集合,集合成員是唯一的,sorted?set有序集合和集合一樣也是?string?類型元素的集合,對(duì)Redis?set?和?sorted?set使用相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-03-03
  • 淺析Redis?切片集群的數(shù)據(jù)傾斜問題

    淺析Redis?切片集群的數(shù)據(jù)傾斜問題

    如果?Redis?中的部署,采用的是切片集群,數(shù)據(jù)是會(huì)按照一定的規(guī)則分散到不同的實(shí)例中保存,比如,使用?Redis?Cluster?或?Codis,這篇文章主要介紹了Redis?切片集群的數(shù)據(jù)傾斜分析,需要的朋友可以參考下
    2022-06-06

最新評(píng)論

宾阳县| 安塞县| 陈巴尔虎旗| 修文县| 江源县| 莱西市| 汕头市| 家居| 抚顺县| 辽宁省| 治多县| 和顺县| 遂昌县| 郁南县| 荥阳市| 古交市| 册亨县| 蓝山县| 巨鹿县| 丰宁| 自治县| 潼南县| 武夷山市| 清水河县| 泸州市| 阿荣旗| 湘乡市| 奎屯市| 舞阳县| 曲水县| 司法| 武宁县| 新宾| 龙川县| 惠水县| 明光市| 鄢陵县| 南丹县| 西乡县| 霸州市| 玉田县|