2 min read

Redis cluster部署摘要

Redis cluster部署摘要


节点拓扑

  • prod-redis-01:10.10.76.1
  • prod-redis-02:10.10.76.2
  • prod-redis-03:10.10.76.3
  • prod-redis-04:10.10.76.4
  • prod-redis-05:10.10.76.5
  • prod-redis-06:10.10.76.6

内核优化

sysctl -w vm.overcommit_memory=1


目录规划

  • /data/redis/DATA
  • /data/redis/LOG

redis 安装

yum -y install yum install make gcc gcc-c++
id redis || useradd -u 6379 redis -s /sbin/nologin -M

export version=7.2.12
wget http://download.redis.io/releases/redis-${version}.tar.gz
tar axvf redis-${version}.tar.gz
cd redis-${version}


make distclean
make BUILD_TLS=no -j $(nproc --all)
make PREFIX=/usr/local/redis-${version} install
cd /usr/local/ && ln -svf redis-${version} redis


配置redis

写入配置文件

cat >/etc/redis-cluster/redis.conf <<EOF
### GENERAL CONFIGURATION
bind 0.0.0.0
port 6379
requirepass "QIU@8848"
masterauth "QIU@8848"
daemonize no
supervised no
maxclients 100000
protected-mode no
dir "/data/redis/DATA"
loglevel notice
logfile "/data/redis/LOG/redis.log"

# 最大可使用的内存
maxmemory 12G
maxmemory-policy volatile-lru

# 开启AOF持久化
appendonly no

# 开启集群模式
cluster-enabled yes

# 集群节点配置文件
cluster-config-file  "/etc/redis-cluster/nodes.conf"

# 集群超时时间设置
cluster-node-timeout 10000
EOF


写入systemd

cat >/usr/lib/systemd/system/redis-cluster.service<<EOF
[Unit]
Description=redis-server
After=network.target

[Service]
Type=simple
User=root
Group=root
TimeoutStopSec=0
Restart=always
ExecStart=/usr/local/redis/bin/redis-server /etc/redis-cluster/redis.conf --supervised systemd
ExecStop=/usr/local/redis/bin/redis-cli shutdown
OOMScoreAdjust=-900
UMask=0077
RuntimeDirectoryMode=2755
PrivateTmp=yes
LimitNOFILE=131070
PrivateDevices=yes
ProtectHome=yes
WorkingDirectory=/data/redis

[Install]
WantedBy=multi-user.target
EOF



在任意一台执行如下:

redis-cli -a QIU@8848 --cluster create 10.10.76.1:6379 \
                                       10.10.76.2:6379 \
                                       10.10.76.3:6379 \
                                       10.10.76.4:6379 \
                                       10.10.76.5:6379 \
                                       10.10.76.6:6379 \
                                       --cluster-replicas 1 



3.2.5 Redis 测试

# 进入redis节点
redis-cli -h 10.10.76.1 -a QIU@8848

# 查看集群相关信息
cluster info

# 查看节点相关信息
cluster nodes