Linux 下搭建Redis集群

发布于:2023-01-22 ⋅ 阅读:(13) ⋅ 点赞:(0) ⋅ 评论:(0)

1. 解压文件

tar -zxvf redis-5.0.3.tar.gz

2. 编译

make

3. 安装

// PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。
假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。
配置文件会存放在/usr/local/etc目录。
其他的资源文件会存放在usr/local/share目录。
这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

 make PREFIX=/data/tools/redis install

5. 开通端口号

1、开启防火墙

    sudo systemctl start firewalld

2、开放指定端口

通讯端口(外部访问redis的端口):
sudo firewall-cmd --permanent --add-port=6379/tcp
sudo firewall-cmd --permanent --add-port=6380/tcp
sudo firewall-cmd --permanent --add-port=6381/tcp
集群总线端口(cluster内部通信访问端口):
sudo firewall-cmd --permanent --add-port=16379/tcp
sudo firewall-cmd --permanent --add-port=16380/tcp
sudo firewall-cmd --permanent --add-port=16381/tcp

此处端口未开放的话,将会导致后面创建集群失败。
命令含义:
–zone #作用域
–add-port=6379/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
3、重启防火墙

    sudo firewall-cmd --reload

4、查看所有端口

	firewall-cmd --list-all

6. 配置环境变量

sudo vi /etc/profile.d/redis.sh

export REDIS_HOME=/data/tools/redis
export PATH=$PATH:$REDIS_HOME/bin

重新加载文件

source /etc/profile

7.分别启动各自服务

cd /data/tools/redis
bin/redis-server etc/redis6379.conf
bin/redis-server etc/redis6380.conf

修改配置文件

bind 10.211.55.14    必须是服务器IP地址
port 6379  对应配置文件名的端口号
dir /home/parallels/program/cluster/7001  系统默认配置即可
cluster-enabled yes    cluster集群模式开启
cluster-config-file nodes-6379.conf   默认即可
cluster-node-timeout 5000    默认为15000,可做修改
appendonly yes    不知道啥,照着改就行了
daemonize yes    不知道啥,照着改就行了
protected-mode no    不知道啥,照着改就行了
pidfile /var/run/redis_7001.pid    不知道啥,照着改就行了
requirepass *******   密码要加上
masterauth *******

################################## INCLUDES ###################################

################################## MODULES #####################################

################################## NETWORK #####################################

bind 10.96.198.75
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
################################# GENERAL #####################################
daemonize yes
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo yes
################################ SNAPSHOTTING  ################################
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
# The filename where to dump the DB
dbfilename dump.rdb
dir ./
################################# REPLICATION #################################
masterauth *****
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
################################## SECURITY ###################################

################################### CLIENTS ####################################

############################## MEMORY MANAGEMENT ################################

############################# LAZY FREEING ####################################
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

8.执行创建集群的命令:

./redis-cli --cluster create --cluster-replicas 1 10.96.2.68:6379 10.96.2.68:6380 10.96.2.68:6381 10.96.2.69:6379 10.96.2.69:6380 10.96.2.69:6381 -a ****

cluster-replicas 1 表示集群主节点需要多少个从节点,即3台服务器构成集群,每台服务器设置1台从服务器,所以我们用了6台

-a redis密码

在这里插入图片描述

9.常用命令:

登录:
cd /icc/tools/redis/redis
单机模式:bin/redis-cli -h 10.96.2.68 -p 6381 -a ****
这里必须要用服务器IP地址,不然连接不上去,每台服务器三个redis服务,可根据-p来进入不同的服务,-a授权;
集群模式:bin/redis-cli -c -h 10.96.2.68 -p 6381 -a ******
-c是集群模式标识,进入后可在任意节点进行数据存取操作,而不加-c的话,则会出现如下情况。

查看集群cluster状态
登录进redis-cli之后,执行cluster info
在这里插入图片描述

查看集群中的各个节点
登录进redis-cli之后,执行cluster nodes
在这里插入图片描述

查询单个节点信息
登录进redis-cli之后,执行info
在这里插入图片描述
在这里插入图片描述