Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

使用 Magent 搭建 Memcached 叢集:安裝編譯與腳本自動化部署

編輯:Linux 教學

Magent 簡介

Magent 是一款基於 libevent 的 Memcached 代理,支援一致性雜湊分發、故障自動轉移,可將多個 Memcached 節點聚合為單一入口,簡化客戶端配置。

安裝步驟

1. 下載原始碼

mkdir -p /usr/local/magent
cd /usr/local/magent
wget https://pan.baidu.com/s/1eRygtEU -O magent-0.5.tar.gz
tar -xvf magent-0.5.tar.gz
cd magent

2. 修正編譯錯誤

編譯時常報 SSIZE_MAX 未定義,需修改 ketama.h:

vim ketama.h
# 在檔案開頭加入:
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif

3. 編譯安裝

/sbin/ldconfig
sed -i 's#LIBS = -levent#LIBS = -levent -lm#g' Makefile
make
# 成功產生 magent 執行檔

啟動腳本範例

啟動 Memcached 叢集(兩節點)

#!/bin/bash
# start_memcached.sh
memcached -d -m 512 -u root -l 127.0.0.1 -p 11211 -P /tmp/memcached1.pid
memcached -d -m 512 -u root -l 127.0.0.1 -p 11212 -P /tmp/memcached2.pid

啟動 Magent 代理

#!/bin/bash
# start_magent.sh
/usr/local/magent/magent -u root -n 51200 -l 127.0.0.1 -p 11210 \
  -s 127.0.0.1:11211 -s 127.0.0.1:11212 \
  -k /tmp/magent_ketama -P /tmp/magent.pid -D

參數說明:

  • -n:最大連接數
  • -s:後端 Memcached 節點
  • -k:Ketama 一致性雜湊檔案路徑
  • -D:前台運行(去除則背景執行)

驗證叢集

# 測試寫入
telnet 127.0.0.1 11210
set test_key 0 0 11
hello world
STORED
get test_key
VALUE test_key 0 11
hello world
END

# 觀察 ketama 分發
cat /tmp/magent_ketama

常見問題排查

  • 編譯失敗:確認已安裝 libevent-devel、gcc、make
  • 連接被拒:檢查防火牆、SELinux、後端 Memcached 是否啟動
  • 資料不均勻:檢查 ketama 檔案節點權重、Key 分佈特性

下載連結

原始碼與腳本打包:百度網盤

Copyright © Windows教程網 All Rights Reserved