Redis安裝 集群 效能監控

2021-09-11 13:06:56 字數 2902 閱讀 6575

最近專案即將上線,由於人手問題,各種研究運維相關知識,這兩天剛弄完redis集群部署的問題,跟大家嘮嘮。

*以下均是在linux環境下執行,系統ubuntu16.04

sudo wget 

複製**

sudo tar -zxvf redis-stable.tar.gz

複製**

sudo apt-get install gcc

複製**

cd redis-stable

make

make install prefix=安裝目錄

複製**

cd 步驟4安裝目錄/bin

cp redis-stable目錄/redis.conf ./

# 如果就是想起個簡單的redis服務,到這裡就結束了

針對redis cluster需要修改的配置(實際使用去掉注釋):

bind ip位址 # 為了外網訪問,原為127.0.0.1

port 6379 # 埠號

daemonize yes # 後台模式

# 如果要設定密碼的話,masterauth和requirepass都要設定,否則主從切換時,會有授權問題

masterauth 密碼

requirepass 密碼(必須一致)

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 15000

複製**

如果想在一台機器上啟多個服務,可以複製多個reids.conf,修改port,並且要修改日誌檔名稱

也可以粗暴的複製多個bin資料夾,只改port就行了

./redis-server redis.conf

複製**

目前,redis集群解決方案有兩個:

這是twitter推出的解決方案,簡單的說就是上層加個**負責分發,屬於client端集群方案,目前大多數應用者都在採用的解決方案。

redis3.0之後,官方推出的server端集群方案

優點:

(1) 官方解決方案

(3) 客戶端直連,系統瓶頸更少

(4) 無中心架構

(5) 支援資料分片

複製**

根據需求,最終解決方案選擇:redis cluster +主從模式

下面介紹一下配置

sudo apt-get install ruby

sudo apt-get install rubygems

sudo gem install redis # ruby的redis客戶端

複製**

執行 gem environment 找到 installation directory

cd到上面路徑+/gems/redis-***/lib/redis/

vim client.rb

password => "密碼" #修改password為指定密碼

複製**

最開始redis不要設定密碼,待集群起來之後,通過config命令挨個redis服務修改配置

configset masterauth 密碼

config set requirepass 密碼

config rewrite

複製**

cd redis安裝目錄

cp redis-stable目錄/src/redis-trib.rb ./

./redis-trib.rb create --replicas 1 192.168.1.222:6379 192.168.1.223:6379 192.168.1.224:6379 192.168.1.225:6379192.168.1.226:6379 192.168.1.227:6379 # replicas 1表示一從,本案例三主三從

複製**

可以通過如下檢查各節點情況:

./redis-trib.rb check 192.168.1.222:6379

複製**

redis-cli本身提供monitor功能,且功能強大,不過monitor效能消耗很大,只應該短期開啟除錯,不能作為長期效能監控解決方案

這裡選用了redis-monitor,支援集群,python編寫,有web端

sudo apt-get install python2.7 python2.7-dev

複製**

sudo apt-get install build-essential libssl-dev libevent-dev libjpeg-devlibxml2-dev libxslt-dev

複製**

sudo apt-get install python-pip

複製**

git clone 

複製**

cd redis-monitor

pip install -r requirements.txt

複製**

cd redis-monitor/src

pythonredis_monitor_daemon.py # 資訊收集

python redis_live_daemon.py # web,port:8888

訪問:127.0.0.1:8888/index.html

複製**

RocketMQ 集群效能摸高

我們在生產環境搭建乙個集群時,需要對該集群的效能進行摸高。即 集群的最大 tps 大約多少,我們做到心裡有數。通常我們日常的實際流量控制在壓測最高值的 1 3 到 1 2 左右,預留一倍到兩倍的空間應對流量的突增情況。如何進行壓力測試呢?寫段傳送 測試同學通過 jmeter 進行壓力測試,或者 中通...

ES集群效能優化及維護

注 集群 elasticsearch 版本為 v7.2.1。index.refresh interval 重新整理時間,預設1 put index all settings?preserve existing false index.number of replicas 備份數,預設1 put in...

kafka集群效能的OS引數

kafka讀寫磁碟會頻繁的建立並修改檔案系統中的檔案,主要有下面3類 日誌檔案 索引檔案 元資料檔案乙個broker需要控制的檔案數 近似 等於 乙個topic分割槽大小 分割槽段檔案大小 3 所有topic分割槽數總和比如乙個partition topic 分割槽 大小為200g,乙個partit...