redis集群搭建常用命令
redis单机安装
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar -zxvf redis-5.0.3.tar.gz
cd redis-5.0.3
yum -y install gcc
make && make install
创建目录
mkdir /usr/local/redis-cluster
cd /usr/local/redis-cluster
mkdir -p 7001 7002 7003 8001 8002 8003
拷贝配置文件
cd /usr/local/redis-5.0.3
cp redis.conf /usr/local/redis-cluster/7001
cp redis.conf /usr/local/redis-cluster/7002
cp redis.conf /usr/local/redis-cluster/7003
cp redis.conf /usr/local/redis-cluster/8001
cp redis.conf /usr/local/redis-cluster/8002
cp redis.conf /usr/local/redis-cluster/8003
集群要修改的参数
bind 192.168.83.128 # 设置当前节点主机地址 本人热衷于设为 0.0.0.0
port 7001 # 设置客户端连接监听端口
pidfile /var/run/redis_7001.pid # 设置 Redis 实例 pid 文件
daemonize yes # 以守护进程运行 Redis 实例
cluster-enabled yes # 启用集群模式
cluster-node-timeout 15000 # 设置当前节点连接超时毫秒数
cluster-config-file nodes-7001.conf # 设置当前节点集群配置文件路径
启动redis
/usr/local/bin/redis-server /usr/local/redis-cluster/7001/redis.conf
检查运行参数
/usr/local/bin/redis-cli -p 7001 cluster info
查询集群
/usr/local/bin/redis-cli -p 7002 cluster nodes
手动分配哈希槽
/usr/local/bin/redis-cli -p 7001 cluster addslots {0..5461}
/usr/local/bin/redis-cli -p 7002 cluster addslots {5462..10922}
/usr/local/bin/redis-cli -p 7003 cluster addslots {10923..16383}
进入redis
/usr/local/bin/redis-cli -p 7001
手动搭集群
cluster meet 0.0.0.0 7002
手动配置主从
/usr/local/bin/redis-cli -p 8001 cluster replicate 61e8c4ed8d1ff2a765a4dd2c3d300d8121d26e12
清空数据
flushdb
删除集群
cluster reset
安装集成搭建工具
yum -y install ruby ruby-devel rubygems rpm-build
ruby -v
搭建集群命令
/usr/local/bin/redis-cli --cluster create 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 1.1.1.1:8001 1.1.1.1:8002 1.1.1.1:8003 --cluster-replicas 1
远程登陆redis 可以查询集群的所有数据
redis-cli -c -h 0.0.0.0 -p 7001
查询集群状态
redis-cli --cluster check 0.0.0.0:7001
修复集群
redis-cli --cluster fix 0.0.0.0:7001
添加从节点
redis-cli --cluster add-node 2.2.2.2:9001 0.0.0.0:7001 --cluster-slave --cluster-master-id dfa238fff8a7a49230cff7eb74f573f5645c8ec5
redis哨兵搭建
redis.cof配置
bind 0.0.0.0
daemonize yes
requirepass 123456
port 6363
从配置
slaveof 192.192.192.192 6363
masterauth 123456
编辑sentinel.conf
禁止保护模式
protected-mode no
配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义, 192.192.192.192 代表监控的主服务器,6363代表端口,2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。
sentinel monitor mymaster 192.192.192.192 6363 2
sentinel author-pass定义服务的密码,mymaster是服务名称,123456是Redis服务器密码
port 26379
sentinel auth-pass
sentinel auth-pass mymaster 123456
启动Redis服务器进程
./redis-server ../redis.conf &
启动哨兵进程
./redis-sentinel ../sentinel.conf &