最近專案即將上線,由於人手問題,各種研究運維相關知識,這兩天剛弄完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...