redis集群部署

http://www.redis.cn/documentation.html  #中文官方文档

yum -y install gcc automake autoconf libtool make
wget https://download.redis.io/releases/redis-5.0.10.tar.gz
tar -zxvf redis-5.0.10.tar.gz
cd redis-5.0.10/
mkdir -p /home/redis-cluster/redis
make && make PREFIX=/home/redis-cluster/redis install
cd src
cp redis-trib.rb /home/redis-cluster/redis/bin
mkdir -p /home/redis-cluster/9001/data
cd ..
cp redis.conf /home/redis-cluster/9001/9001.conf
cd /home/redis-cluster/9001

vim 9001.conf
protected-mode no
#bind 172.18.107.30  #填写本机的ip这里注释本机的ip
port 9001
daemonize yes
pidfile /var/run/redis_9001.pid
dir /home/redis-cluster/9001/data
appendonly yes
cluster-enabled yes
cluster-config-file nodes-9001.conf
cluster-node-timeout 15000

cp -rf /home/redis-cluster/9001 /home/redis-cluster/9002
cp -rf /home/redis-cluster/9001 /home/redis-cluster/9003
cp -rf /home/redis-cluster/9001 /home/redis-cluster/9004
cp -rf /home/redis-cluster/9001 /home/redis-cluster/9005
cp -rf /home/redis-cluster/9001 /home/redis-cluster/9006

mv /home/redis-cluster/9002/9001.conf /home/redis-cluster/9002/9002.conf
mv /home/redis-cluster/9003/9001.conf /home/redis-cluster/9003/9003.conf
mv /home/redis-cluster/9004/9001.conf /home/redis-cluster/9004/9004.conf
mv /home/redis-cluster/9005/9001.conf /home/redis-cluster/9005/9005.conf
mv /home/redis-cluster/9006/9001.conf /home/redis-cluster/9006/9006.conf

sed -i  's/9001/9002/g' 9002/9002.conf
sed -i  's/9001/9003/g' 9003/9003.conf
sed -i  's/9001/9004/g' 9004/9004.conf
sed -i  's/9001/9005/g' 9005/9005.conf
sed -i  's/9001/9006/g' 9006/9006.conf

/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9001/9001.conf
/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9002/9002.conf
/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9003/9003.conf
/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9004/9004.conf
/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9005/9005.conf
/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9006/9006.conf

创建集群
原命令 redis-trib.rb 这个工具目前已经废弃,使用redis-cli
#使用create命令 --replicas 1 参数表示为每个主节点创建一个从节点,其他参数是实例的地址集合。其中,前三个 ip:port 为第一台机器的节点,剩下三个为第二台机器.
/home/redis-cluster/redis/bin/redis-cli --cluster help
/home/redis-cluster/redis/bin/redis-cli --cluster create --cluster-replicas 1 172.18.107.29:9001 172.18.107.29:9002 172.18.107.29:9003 172.18.107.30:9004 172.18.107.30:9005 172.18.107.30:9006   #只能阿里同一个内网使用
/home/redis-cluster/redis/bin/redis-cli --cluster create --cluster-replicas 1 8.135.49.60:9001 8.135.49.60:9002 8.135.50.156:9003 8.135.50.156:9004 8.135.48.44:9005 8.135.48.44:9006   #任何外网都可以进入集群

/home/redis-cluster/redis/bin/redis-cli -h 172.18.107.30 -c -p 9004
cluster info   #打印集群信息
cluster nodes  #列出集群节点
 ./redis-cli -h 172.18.107.31 -p 9001 cluster nodes | grep master  #列出集群中的所有主节点
 ./redis-cli -h 172.18.107.31 -p 9001 cluster nodes | grep slave   #列出集群中的所有从节点
 重置 Redis 群集节点,根据复位类型,或多或少有些激烈,可能很难或很软。请注意,如果主设备拥有一个或多个密钥,则此命令不起作用,在这种情况下,要完全重置主节点密钥,必须首先移除密钥,例如先使用 FLUSHALL,然后使用 CLUSTER RESET。
 ./redis-cli -h 172.18.107.33 -c -p 9006 FLUSHALL      #每个节点端口都要执行一次清空节点
 ./redis-cli -h 172.18.107.33 -c -p 9006 CLUSTER RESET #集群复位,重建集群用,每个节点清空一次,就可以重建集群了
 
 扩容
/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9007/9007.conf
/home/redis-cluster/redis/bin/redis-server /home/redis-cluster/9008/9008.conf
/home/redis-cluster/redis/bin/redis-cli --cluster add-node 172.18.107.29:9007 172.18.107.29:9002  #add-node新节点9007的ip加端口,取集群任意ip和端口,默认为主节点
/home/redis-cluster/redis/bin/redis-cli --cluster add-node 172.18.107.29:9008 172.18.107.29:9002 --cluster-slave --cluster-master-id a62e0a79b9528038c870547f6da93f3d2296deca  #从节点9008ip加端口,--cluster-slave指定从节点,--cluster-master-id指定主节点
/home/redis-cluster/redis/bin/redis-cli --cluster rebalance 172.18.107.29:9002

pkill -9 redis #关闭redis


备注配置密码访问
bind redis-02
# 设置端口,区分集群中Redis的实例
port 7001
# 后台运行
daemonize yes
# pid进程文件名,以端口号命名
pidfile "/var/run/redis-7001.pid"
# 日志文件名称,以端口号为目录来区分
logfile "/data/redis/redis_cluster/7001/logs/redis.log"
# 数据文件存放地址,以端口号为目录名来区分
dir "/data/redis/redis_cluster/7001/data"
# 启用集群
cluster-enabled yes
# 配置每个节点的配置文件,同样以端口号为名称
cluster-config-file "nodes_7001.conf"
# 配置集群节点的超时时间
cluster-node-timeout 15000
# 启动AOF增量持久化策略
appendonly yes
# 发生改变,则记录日志
appendfsync always

#设置密码
requirepass "123456"
masterauth "123456"

集群设置了密码创建集群时也要加上密码  -a '123456'

./redis-cli --cluster create --cluster-replicas 1 10.100.10.190:6379 10.100.10.190:6380 10.100.10.190:6381 10.100.10.190:6382 10.100.10.190:6383 10.100.10.190:6384 -a '123456'

/home/redis-cluster/redis/bin/redis-cli -h 172.18.107.30 -c -p 9004 -a '123456'

阿里云redis账号redis登陆方式,以及查看那些服务连接了redis
redis-cli -h r-wz9jhynpkdi3fxn4u3.redis.rds.aliyuncs.com -a redis:'q#VDj9n3!E2&'
client list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值