redis 5.0.8 cluster集群在Linux Centos下的安装步骤

 1.创建目录

mkdir -p /data/redis/db      # redis实例rdb、aof数据文件存储目录
mkdir -p /data/redis/conf    # 配置文件
mkdir -p /data/redis/log     # 所有服务日志输出目录
mkdir -p /data/redis/run     # pid文件存储目录

2. redis下载和编译 

cd /usr/local
wget https://download.redis.io/releases/redis-5.0.8.tar.gz
tar zxvf redis-5.0.8.tar.gz
cd redis-5.0.8
make && make install 

编译完成后会在/usr/local/bin/下生成可执行文件。

3. 配置环境变量$PATH,如果/usr/local/bin/不在$PATH中则需要在/etc/profile中添加

export PATH="/usr/local/bin:"$PATH

4.创建配置文件/data/redis/conf/redis_9000.conf (端口号可以是任意的端口)

port 9000
cluster-enabled yes
cluster-config-file nodes_9000.conf
cluster-node-timeout 5000
appendonly yes
appendfilename "appendonly_9000.aof"
appendfsync no
dbfilename dump_9000.rdb
daemonize yes
maxmemory 6gb
maxmemory-policy allkeys-lru
pidfile /data/redis/run/redis_9000.pid
dir "/data/redis/db"
save 300 1
logfile "/data/redis/log/redis_9000.log"
protected-mode no

5. 自启动脚本/etc/rc.d/init.d/redis_9000

#!/bin/sh
#
# chkconfig: 2345 55 25
# description: Redis server daemon
#
# processname: redis_9000 #需要修改与$port相同
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=9000   # 需要修改与$port相同
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/data/redis/run/redis_${REDISPORT}.pid
CONF=/data/redis/conf/redis_${REDISPORT}.conf
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis $REDISPORT ..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit
esac

根据需要,配置启动脚本的执行权限: 

chmod a+x /etc/rc.d/init.d/redis_9000

6. 启动redis实例

/etc/rc.d/init.d/redis_9000 start

查看日志/data/redis/log/redis_9000.log ,出现如下信息则启动成功。

20103:M 14 Jan 2021 16:16:20.434 * Ready to accept connections

7. 按照1-6步骤配置多个redis实例,本例配置6个实例 192.168.6.1:9000 192.168.6.2:9000 192.168.6.3:9000 192.168.6.4:9000 192.168.6.5:9000 192.168.6.6:9000

8.创建集群主节点,任意找一台集群中的服务器运行客户端工具redis-cli

redis-cli --cluster create 192.168.6.1:9000 192.168.6.2:9000 192.168.6.3:9000 192.168.6.4:9000 192.168.6.5:9000 192.168.6.6:9000

自动推荐出一个配置,在提示信息后输入yes,然后看见如下信息则集群创建成功

[OK] All 16384 slots covered

验证集群可用性,任意找一个节点输入set key命令,如果发生redirect重定向则集群正常

$ redis-cli -c -p 9000
redis 192.168.6.1:9000> set foo bar
-> Redirected to slot [12182] located at 192.168.6.5:9000
OK

redis 192.168.6.5:9000> get foo
-> Redirected to slot [12182] located at 192.168.6.5:9000
"bar"

9. 创建从节点,按照1-6步骤创建和主节点相同数量的redis实例 

10. 向集群添加从节点,参见《redis 5 cluster集群增加节点动态扩容的步骤》

猜你喜欢

转载自blog.csdn.net/pengpengzhou/article/details/112648124