1. 首页 > 软件安装教程 > 正文

Memcached安装-Memcached 1.6 for RHEL 9安装配置及升级迁移详细过程

1. 硬件环境检查

在安装Memcached之前,必须对服务器的硬件环境进行全面检查,确保满足Memcached 1.6的最低要求。更多学习教程www.fgedu.net.cn

# 检查内存大小
# free -h
total used free shared buff/cache available
Mem: 8G 2.1G 5G 8.5M 1.8G 5.9G
Swap: 4G 0B 4G

# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4G 0 4G 0% /dev
tmpfs 4G 0 4G 0% /dev/shm
tmpfs 4G 8.5M 4G 1% /run
tmpfs 4G 0 4G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /

# 检查CPU核心数
# nproc
4

# 检查系统架构
# uname -m
x86_64

生产环境建议:最小内存2GB(测试环境),生产环境建议8GB以上。磁盘空间:系统盘至少50GB。CPU:测试环境至少2核心,生产环境建议4核心以上。

2. 操作系统检查

Memcached 1.6支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)

# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64

# 检查SELinux状态
# getenforce
Disabled

# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled

# 检查防火墙状态
# systemctl status firewalld

# 关闭防火墙(生产环境建议开放特定端口而非完全关闭)
# systemctl stop firewalld
# systemctl disable firewalld

3. 安装准备

在安装Memcached之前,需要进行一系列准备工作,包括安装依赖、创建用户和组、配置网络等。

# 安装依赖
# yum install -y gcc gcc-c++ make libevent-devel

# 创建Memcached用户和组
# 创建组
# groupadd -g 1001 memcached

# 创建用户
# useradd -u 1001 -g memcached -s /sbin/nologin memcached

# 配置网络
# 确保服务器IP地址为192.168.1.51
# ip addr show eth0
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.51/24 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe12:3456/64 scope link noprefixroute
valid_lft forever preferred_lft forever

风哥提示:Memcached安装需要root权限,建议使用root账户进行安装。

4. Memcached软件安装

现在开始安装Memcached 1.6软件,按照以下步骤进行。

# 下载Memcached 1.6安装包
# wget https://memcached.org/files/memcached-1.6.17.tar.gz

# 解压安装包
# tar -xzf memcached-1.6.17.tar.gz
# cd memcached-1.6.17

# 配置
# ./configure

# 编译
# make

# 安装
# make install

# 验证安装
# memcached -V
memcached 1.6.17

5. Memcached配置

配置Memcached,包括服务配置、参数配置等。

# 创建系统服务文件
# vi /etc/systemd/system/memcached.service

[Unit]
Description=Memcached
After=network.target

[Service]
Type=simple
User=memcached
Group=memcached
ExecStart=/usr/local/bin/memcached -u memcached -p 11211 -m 2048 -c 1024 -l 192.168.1.51
Restart=always

[Install]
WantedBy=multi-user.target

# 重新加载系统服务
# systemctl daemon-reload

# 启动Memcached服务
# systemctl start memcached

# 设置Memcached服务开机自启
# systemctl enable memcached

# 验证Memcached服务状态
# systemctl status memcached
● memcached.service – Memcached
Loaded: loaded (/etc/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2026-03-31 10:00:00 CST; 1min ago
Main PID: 12345 (memcached)
Tasks: 10 (limit: 4915)
Memory: 2.0M
CGroup: /system.slice/memcached.service
└─12345 /usr/local/bin/memcached -u memcached -p 11211 -m 2048 -c 1024 -l 192.168.1.51

Mar 31 10:00:00 fgedudb01 systemd[1]: Started Memcached.

6. 测试验证

测试Memcached功能正常。学习交流加群风哥QQ113257174

# 安装telnet
# yum install -y telnet

# 连接Memcached
# telnet 192.168.1.51 11211

# 设置测试数据
try { set test_key 0 3600 10 }
data
Hello World

# 响应
STORED

# 获取测试数据
get test_key

# 响应
VALUE test_key 0 10
Hello World
END

# 退出
quit

# 使用memcached-tool查看状态
# /usr/local/bin/memcached-tool 192.168.1.51:11211 stats
# 输出示例
# 127.0.0.1:11211 Field Value
# accept_conns 1
# auth_cmds 0
# auth_errors 0
# bytes 10
# bytes_read 15999
# bytes_written 16531
# cas_badval 0
# cas_hits 0
# cas_misses 0
# cmd_flush 0
# cmd_get 1
# cmd_set 1
# cmd_touch 0
# conn_yields 0
# curr_connections 1
# curr_items 1
# decr_hits 0
# decr_misses 0
# delete_hits 0
# delete_misses 0
# evicted_unfetched 0
# evictions 0
# expired_unfetched 0
# get_expired 0
# get_flushed 0
# get_hits 1
# get_misses 0
# incr_hits 0
# incr_misses 0
# libevent 2.1.12-stable
# limit_maxbytes 2097152
# listen_disabled_num 0
# max_connections 1024
# pid 12345
# pointer_size 64
# reclaimed 0
# rusage_system 0.004836
# rusage_user 0.004836
# threads 4
# time 1680276000
# total_connections 1
# total_items 1
# touch_hits 0
# touch_misses 0
# uptime 600
# version 1.6.17

7. 备份配置

配置Memcached备份策略,确保数据安全。

# 创建备份目录
# mkdir -p /backup/memcached
# chown -R memcached:memcached /backup/memcached

# 配置自动备份脚本
# vi /root/backup_memcached.sh

#!/bin/bash

DATE=$(date +%Y%m%d)
BACKUP_DIR=”/backup/memcached”

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR

# 导出Memcached数据(使用memcached-dump工具)
# 注意:memcached-dump工具需要单独安装
# 这里使用示例命令,实际使用时需要根据具体工具调整
# memcached-dump -h 192.168.1.51 -p 11211 > $BACKUP_DIR/memcached_backup_$DATE.txt

# 备份配置文件
cp /etc/systemd/system/memcached.service $BACKUP_DIR/memcached.service_$DATE

# 保留最近7天的备份
find $BACKUP_DIR -name “memcached*” -mtime +7 -delete

# 给脚本添加执行权限
# chmod +x /root/backup_memcached.sh

# 添加到crontab
# crontab -e

# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_memcached.sh

8. 升级迁移

Memcached的升级和迁移过程。

# 升级Memcached版本
# 1. 备份数据和配置
# /root/backup_memcached.sh

# 2. 停止Memcached服务
# systemctl stop memcached

# 3. 下载新版本
# wget https://memcached.org/files/memcached-1.6.18.tar.gz

# 4. 解压并安装
# tar -xzf memcached-1.6.18.tar.gz
# cd memcached-1.6.18
# ./configure
# make
# make install

# 5. 启动Memcached服务
# systemctl start memcached

# 6. 验证升级结果
# memcached -V
memcached 1.6.18

# 数据迁移
# 从旧Memcached服务器迁移到新服务器

# 1. 在旧服务器上导出数据
# memcached-dump -h old-server-ip -p 11211 > memcached_data.txt

# 2. 将数据文件复制到新服务器
# scp memcached_data.txt root@192.168.1.51:/tmp/

# 3. 在新服务器上导入数据
# memcached-load -h 192.168.1.51 -p 11211 < /tmp/memcached_data.txt # 4. 验证迁移结果 # telnet 192.168.1.51 11211 # get test_key

风哥提示:Memcached是内存缓存系统,数据存储在内存中,重启服务会导致数据丢失。因此,生产环境中应确保有持久化机制或使用其他缓存方案。

9. 总结

本文详细介绍了Memcached 1.6 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署Memcached服务并确保其稳定运行。from:fengge

生产环境建议:
– 定期备份Memcached配置文件
– 监控Memcached性能,定期检查服务状态
– 定期更新Memcached版本,确保系统安全性和性能
– 配置合适的内存大小,避免内存不足
– 对于生产环境,建议部署多个Memcached节点,提高可用性和可靠性
– 考虑使用Memcached集群方案,如memcached-session-manager等

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息