Redis集群版安装

说明


备注:如果集群版代码不需部署多个redis节点,请查看单机环境搭建中的《Redis安装》进行搭建。Redis3.0版本之后支持Cluster,Redis多节点可以按照通用的方式进行多节点搭建,Javashop建议使用SOHU推出的redis管理平台工具cachecloud,无论在性能、维护成本、伸缩性、监控等方面,cachecloud更优。

参考官方文档:基于CacheCloud搭建Redis云平台

CacheCloud环境需求


Java 7(javashop6.4.0版本需要jdk1.8,如果此服务器上需运行javashop产品,那么安装java8) 、 Maven 3 、 MySQL (可以使用自行搭建的也可以采用rds,此文档示例使用自建数据库,文档不讲解MySQL数据库搭建)、Redis 3

搭建步骤


1.下载CacheCloud

官网:https://github.com/sohutv/cachecloud

下载cachecloud-master.zip

解压并移动cachecloud-master到/usr/local目录

备注:此示例文档的cachecloud源文件目录:usr/local;cachecloud安装目录:/opt/cachecloud-web

2.在MySQL中创建库并授权

导入初始数据

3.编辑/usr/local/cachecloud-master/cachecloud-open-web/src/main/swap/online.properties文件

  • 3.1在cachecloud根目录下运行
mvn clean compile install -Ponline

  • 3.2创建/opt/cachecloud-web目录,并拷贝相关文件
mkdir -p /opt/cachecloud-web

cp  cachecloud-open-web/target/cachecloud-open-web-1.0-SNAPSHOT.war /opt/cachecloud-web/

cp  cachecloud-open-web/src/main/resources/cachecloud-web.conf /opt/cachecloud-web/

ln -s /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war  /etc/init.d/cachecloudweb
4.启动cachecloud-web并通过http://IP:8585访问,用户名和密码admin
/etc/init.d/cachecloudweb start

备注:默认端口是8585,可以修改start.sh中的server.port进行重置

5.使用cachecloud-init.sh安装redis和初始化,可根据需求修改脚本中redis的版本
/usr/local/cachecloud-master/script/cachecloud-init.sh
6.在服务器上创建cachecloud SSH连接账号,和系统配置管理页面里的用户名和密码保持一致即可
useradd cachecloud     //cachecloud为自定义的账号

passwd cachecloud      //cachecloud为自定义的密码

7.redis cluster配置(在这里我们要创建6个redis节点,其中3个为主节点,3个为从节点,3台服务器)
服务器 redis节点分布
192.168.3.230 redis-6379/6380
192.168.3.231 redis-6381/6382
192.168.3.232 redis-6383/6384
创建多个redis.conf
cp -pr redis redis-6380    #其他类似按照端口号复制
修改redis.conf
daemonize yes

port 6379         #其他配置改为6380/6381/6382/6383/6384

pidfile /var/run/redis_6379.pid   #其他配置按端口号修改

cluster-enabled yes 

cluster-config-file nodes-6379.conf   # 其他配置按端口号修改

cluster-node-timeout 15000 

appendonly yes
创建配置文件软连接并启动redis
ln -s /opt/cachecloud/redis-6379/redis.conf /etc/redis-6379.conf   #其他按照类似配置
分别启动集群redis
/opt/cachecloud/redis-6379/sbin/redis /etc/redis-6379.conf  #其他按照类似配置

8.安装Redis 集群需要的Ruby工具

yum install ruby rubygems

gem install redis
进入reids目录下面运行创建节点
cd /opt/cachecloud/redis/src/

./redis-trib.rb create --reolicas 192.168.3.230:6379 192.168.3.230:6380 192.168.3.231:6381 192.168.3.231:6382 
192.168.3.232:8083 192.168.3.230:8084

备注:1:redis-trib.rb的create子命令构建;

2:--replicas 1指定了为Redis Cluster中的每个Master节点配备1个Slave节;

3:节点角色由顺序决定,先是master之后是slave。

9.redis cluster加入到cachecloud中
点击右上角导入应用
把redis cluster加入cachecloud
10.常用命令
查看集群情况
redis-trib.rb check ip:port  #检查集群状态

redis-cli -c -h ip -p port  #使用-c进入集群命令模式

redis-trib.rb rebalance ip:port --auto-weights  #重新分配权重
增加、删除集群节点
redis-trib.rb add-node ip:port(新增节点) ip:port(现有效节点)

redis-trib.rb del-node ip:port id(目标节点的id)  #删除master节点之前首先要使用reshard移除master的全部slot
重新划分slot
redis-trib.rb reshard ip:port
将master转换为salve
cluster replicate  master-id  #转换前6380端必须没有slots
模拟故障切换

杀死一个redis进程,观察FailOver情况

Redis集群通过选举方式进行容错,保证一台Server挂了还能跑,这个选举是全部集群超过半数以上的Master发现其他Master挂了后,会将其他对应的Slave节点升级成Master.

6.1点击右上角管理后台—>机器管理,添加机器
6.2点击右上角导入应用

results matching ""

    No results matching ""