天天看点

搭建redis集群(版本是redis-3.2.9)

今天说说怎么在linux系统搭建redis集群,redis在3.0版本后支持集群,在所有的集群方式里,最为推荐的就是redis本身退出的redis-cluster方式,今天说说如何搭建.
我们计划集群中 Redis 节点的端口号为 7001-7006 ,端口号即集群下各实例文件夹。数据存放在 端口号/data 文件夹中,由于是自己搭建,服务器不够用,因此搭建在一台服务器上,以端口作区分.
在搭建之前首先下载安装一个纯净的redis

第一:创建文件夹
  mkdir /usr/local/redis-cluster
  cd redis-cluster/
  mkdir -p 7001/data 7002/data 7003/data 7004/data 7005/data 7006/data
           

第二:复制脚本,

在 /usr/local/redis-cluster 下创建 bin 文件夹,用来存放集群运行脚本,并把安装好的 Redis 的 src 路径下的运行脚本拷贝过来。看命令:

cd /usr/local/redis-cluster

mkdir bin

cd /usr/local/redis-3.2.9/src

cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin

第三步

我们现在从已安装好的 Redis 中复制一个新的实例到 9001 文件夹,并修改 redis.conf 配置

cp -r /usr/local/redis /usr/local/redis-cluster/7001

注意,修改 redis.conf 配置和单点唯一区别是下图部分,其余还是常规的这几项:

port 9001(每个节点的端口号)

daemonize yes

bind 192.168.119.131(绑定当前机器 IP:注意必须是内网IP不然报错)

dir /usr/local/redis-cluster/9001/data/(数据文件存放位置,这句配置加在 redis.conf的最后一行即可)

pidfile /var/run/redis_9001.pid(pid 9001和port要对应)

cluster-enabled yes(启动集群模式)

cluster-config-file nodes9001.conf(9001和port要对应)

cluster-node-timeout 15000

appendonly yes

第四步:再复制出五个新 Redis 实例

\cp -rf /usr/local/redis-cluster/7001/* /usr/local/redis-cluster/7002

\cp -rf /usr/local/redis-cluster/7001/* /usr/local/redis-cluster/7003

\cp -rf /usr/local/redis-cluster/7001/* /usr/local/redis-cluster/7004

\cp -rf /usr/local/redis-cluster/7001/* /usr/local/redis-cluster/7005

\cp -rf /usr/local/redis-cluster/7001/* /usr/local/redis-cluster/7006

\cp -rf 命令是不使用别名来复制,因为 cp 其实是别名 cp -i,操作时会有交互式确认,比较烦人。

第五步:修改 7002-7006 的 redis.conf 文件

vi /usr/local/redis-cluster/7002/redis/etc/redis.conf

vi /usr/local/redis-cluster/7003/redis/etc/redis.conf

vi /usr/local/redis-cluster/7004/redis/etc/redis.conf

vi /usr/local/redis-cluster/7005/redis/etc/redis.conf

vi /usr/local/redis-cluster/7006/redis/etc/redis.conf

%s/7001/7002
		%s/7001/7003
		%s/7001/7004
		%s/7001/7005
		%s/7001/7006
           

其实我们也就是替换了下面这四行:

port 7002

dir /usr/local/redis-cluster/7002/data/

cluster-config-file nodes-7002.conf

pidfile /var/run/redis_7002.pid

第六步:启动7001-7006六个节点(可以封装为bat/sh脚本)

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7001/redis/etc/redis.conf

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7002/redis/etc/redis.conf

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7003/redis/etc/redis.conf

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7004/redis/etc/redis.conf

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7005/redis/etc/redis.conf

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/7006/redis/etc/redis.conf

第七步:安装集群所需软件

yum install ruby

yum install rubygems

gem install redis 使用本地上传方式,如不能下载,本地下载好,上传linux

第八步:创建集群

/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 172.17.0.12:7001 172.17.0.12:7002 172.17.0.12:7003 172.17.0.12:7004 172.17.0.12:7005 172.17.0.12:7006

集群搭建如图

搭建redis集群(版本是redis-3.2.9)

accept这里填yes,M代表是主节点,S代表从节点,一般是三主三从,验证方式连接至其中一个节点,进行操作

搭建redis集群(版本是redis-3.2.9)

集群状态为成功,至此搭建完成

继续阅读