手动搭建,比较繁琐, 维护成本高, 今天介绍使用redis自带工具来搭建, 手动搭建
环境
- redis5.0.7
- centos7
网上流传的redis-trib.rb先搭建ruby环境和rubygems打包工具
(其实不需要啦, 很多书上,网上还介绍这种方式)
yum -y install ruby # ruby环境
yum -y install rubygems # ruby打包工具
gem install redis

使用redis-cli create创建集群

准备目录与redis.conf文件
新建目录(data, logs, conf), 创建6个redis.conf文件,端口7000~7005
-
创建目录. conf, data, logs
mkdir -p /usr/local/redis-ruby-cluster/
-
修改cluster集群相关配置项
以下是模板配置,其它端口的配置,只需要修改端口号即可.
bind 127.0.0.1 # 绑定的IP
daemonize yes # 后台运行
port 7000# 监听端口
pidfile /var/run/redis_6391.pid # PID文件
logfile "/usr/local/redis-cluster/logs/cluster-6391.log" # 日志文件
dbfilename dump-6391.rdb #rdb存储文件名称
dir /usr/local/redis-cluster/data/ #工作目录
cluster-enabled yes # 开启cluster功能
cluster-config-file nodes-6391.conf # 集群内部配置文件
cluster-node-timeout 15000 # 节点超时设置, 单位: 毫秒
- 使用脚本快速创建其它配置文件
[root@kubernetes conf]# cat redis.conf |grep -v "#" |grep -v "^$"|sed 's/7000/7000/g' > redis-7000.conf
[root@kubernetes conf]# cat redis.conf |grep -v "#" |grep -v "^$"|sed 's/7000/7001/g' > redis-7001.conf
[root@kubernetes conf]# cat redis.conf |grep -v "#" |grep -v "^$"|sed 's/7000/7002/g' > redis-7002.conf
[root@kubernetes conf]# cat redis.conf |grep -v "#" |grep -v "^$"|sed 's/7000/7003/g' > redis-7003.conf
[root@kubernetes conf]# cat redis.conf |grep -v "#" |grep -v "^$"|sed 's/7000/7004/g' > redis-7004.conf
[root@kubernetes conf]# cat redis.conf |grep -v "#" |grep -v "^$"|sed 's/7000/7005/g' > redis-7005.conf

启动redis实例
[root@kubernetes conf]# redis-server redis-7000.conf
[root@kubernetes conf]# redis-server redis-7001.conf
[root@kubernetes conf]# redis-server redis-7002.conf
[root@kubernetes conf]# redis-server redis-7003.conf
[root@kubernetes conf]# redis-server redis-7004.conf
[root@kubernetes conf]# redis-server redis-7005.conf


使用redis-cli create创建集群.
redis-cli --cluster help
查看帮助
- 使用
redis-cli --cluster create --cluster-replicas <arg> ip1:port1 ... ipN:portN
命令自动创建集群
-
--cluster-replicas <arg>
表示1个主节点1个从节点
<arg> 共6个节点, arg=2的话, 分配失败,因为3个master节点, 每个节点配2个从节点的话,共需要9个节点才对.
*** ERROR: Invalid configuration for cluster creation.
*** Redis Cluster requires at least 3 master nodes.
*** This is not possible with 6 nodes and 2 replicas per node.
*** At least 9 nodes are required.
- ip1:port1 就是已启动的节点IP和端口
redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005


测试
redis-cli -c -p 7000

- 压测
redis-benchmark -h 127.0.0.1 -p 7000 -n 10000 -c 100
网友评论