- redis中间件版本:
redis-5.0.5 - 环境介绍
这里使用服务器数量3,分别为172.0.0.1,172.0.0.2,172.0.0.3,每台机器redis节点数量2个,共6个redis节点构成redis-cluster模式。 - 编译安装包
在172.0.0.1的机器上进入安装目录
cd redis-5.0.5
执行编译命令
make
由于是集群模式,需要将安装包redis-5.0.5传到另外172.0.0.2,172.0.0.3。并且同样执行编译命令make等待成功。
如果编译时报错:/bin/sh: cc: command not found 执行:yum -y install gcc gcc-c++ libstdc+±devel
如果编译时报错:You need tcl 8.5 or newer in order to run the Redis test 执行:yum install tcl
如果编译时报错:jemaoc/jemalloc.h: No such file or directory 执行:make MALLOC=libc
- 创建数据目录
172.0.0.1
mkdir -p /data/soft/dataRedis/6381
mkdir -p /data/soft/dataRedis/6382
172.0.0.2
mkdir -p /data/soft/dataRedis/6383
mkdir -p /data/soft/dataRedis/6384
172.0.0.3
mkdir -p /data/soft/dataRedis/6385
mkdir -p /data/soft/dataRedis/6386
- 创建配置目录
172.0.0.1
cd redis-5.0.5
mkdir -p redis/6381
mkdir -p redis/6382
172.0.0.1
cd redis-5.0.5
mkdir -p redis/6383
mkdir -p redis/6384
172.0.0.1
cd redis-5.0.5
mkdir -p redis/6385
mkdir -p redis/6386
- 拷贝配置文件
cd redis-5.0.5/src
cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb ../redis/6381
cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb ../redis/6382
..........
**每个目录都需要做同样的操作,保证第5步中创建的配置文件目录中的,配置文件相同**
- 创建redis.conf文件
在/bonc/soft/redis-5.0.5/redis/6381目录中
vim redis.conf
redis.conf 配置文件,每台机器的每个端口下都会有一份,每一份都需要修改的参数有
pidfile
bind
dir
port
protected-mode no
timeout 3600
tcp-keepalive 300
supervised no
pidfile "./redis_6381.pid" #这里需要修改为配置文件所在目录的端口号
loglevel notice
logfile "log.out"
databases 16
dbfilename "dump.rdb"
slave-read-only yes
rename-command FLUSHALL ""
rename-command FLUSHDB ""
maxclients 10000
maxmemory 10gb
maxmemory-policy noeviction
maxmemory-samples 5
appendonly yes
appendfilename "appendonly.aof"
appendfsync no
cluster-enabled yes
cluster-config-file "node.conf"
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes
slowlog-log-slower-than 10000
slowlog-max-len 500
client-query-buffer-limit 1gb
aof-rewrite-incremental-fsync yes
daemonize yes
bind 172.0.0.1 #所在机器的IP地址
dir "/data/soft/dataRedis/6381" #第四步创建数据目录的路径
port 6381 #服务端口
masterauth "dd#R114Q"
requirepass "dd#R114Q"
- 启动程序
当修改完配置文件之后,数据目录对应正确,确保每一个端口下的配置文件数量正确,确保每一个redis.conf 中的配置正确之后。
执行启动命令,注意每一台机器中有俩个redis服务,启动时要注意配置文件指定的目录路径
/data/soft/redis-5.0.5/redis/6381/redis-server /data/soft/redis-5.0.5/redis/6381/redis.conf
- 节点状态查询
ps -ef|grep redis
- 组建redis集群
./redis-cli -a dd#R114Q --cluster create --cluster-replicas 172.0.0.1:6381 172.0.0.1:6382 172.0.0.2:6383 172.0.0.2:6384 172.0.0.3:6385 172.0.0.3:6386
- 集群验证
可在任意机器执行验证
cd redis-5.0.5/redis
./redis-cli -c -h 172.0.0.1 -p 6381 -a dd#R114Q
set a a
get a
del a
命令操作无异常则正常