Centos7上部署安裝Redis集群(单机多节点)
安裝環境
- Centos7
- redis4.0.11
这里将安装官网的要求,部署6个节点,三个主节点,三个从节点。
复制配置
通过复制六份redis.conf配置文件,修改各个配置文件端口号来启动多个实例。规定六个实例的端口号分别为:7000,7001,7002,7003,7004,7005;
1. 首先在redis的安装目录下创建一个文件夹cluster用于存放六份配置文件
mkdir cluster
cd cluster
mkdir 7000 7001 7002 7003 7004 7005
2. 复制redis.conf文件到各个端口号目录下
cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7000/
cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7001/
cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7002/
cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7003/
cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7004/
cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7005/
cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7006/
如果你不想频繁cp操作,可以使用如下简化操作:
进入cluster目录下,使用echo+xargs命令一步到位.
cd cluster
echo 7000 7001 7002 7003 7004 7005 | xargs -n 1 cp -v /usr/local/redis/redis.conf
3. 修改配置文件
主要修改redis.conf如下几点信息:
port 7001 //六个节点配置文件分别是7000-7005
daemonize yes //redis后台运行
pidfile /var/run/redis_7001.pid //pidfile文件对应7000-7005
cluster-enabled yes //开启集群
cluster-config-file nodes_7001.conf //保存节点配置,自动创建,自动更新对应7000-7005
cluster-node-timeout 5000 //集群超时时间,节点超过这个时间没反应就断定是宕机
appendonly yes //存储方式,aof,将写操作记录保存到日志中
将每个文件都修改下,你也可以先修改一份,然后copy到其他目录,修改与其端口号相对应的地方即可。
创建集群
1. 启动节点
同时启动六个节点,使用如下命令:
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/7000/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/7001/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/7002/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/7003/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/7004/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/cluster/7005/redis.conf
查看redis启动情况:
ps -ef|grep redis
能够查看如下信息代表启动成功:
root 9501 1 0 17:38 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:7001 [cluster]
root 9512 1 0 17:45 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:7002 [cluster]
root 9516 1 0 17:45 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:7003 [cluster]
root 9520 1 0 17:45 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:7004 [cluster]
root 9524 1 0 17:45 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:7005 [cluster]
root 9528 1 0 17:45 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:7000 [cluster]
2. 创建集群
redis官网提供了redis-trib.rb工具,它位于redis源码包的src目录下, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。由于使用Ruby,所以你必须安装Ruby与Ruby-redis依赖。
gem install redis
./redis-trib.rb create --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内部提供了一个脚本,方便我们快捷的创建包含6个节点的集群,它们默认的端口号为30001~30006,该工具在redis源码包的utils包中的create-cluster目录下
使用如下命令即可以快速的启动,停止集群:
#启动节点
create-cluster start
#创建集群
create-cluster create
#停止集群
create-cluster stop
集群数据测试
可以看到,在7000节点插入的数据,我们再7001节点上查找该数据的时候,redis会自动的重定向到7000节点。
还没有评论,来说两句吧...