CygWin安装RedisCluster指南

  • 背景

客户为提高性能升级至RedisCluster,本地也要安装开发环境,
因为Redis最新版只能在64位机器上运行,操作系统用Win7 64版。
Redis最新版官方只有Linux版,下载地址 http://redis.io/download
某开源小组提供了Windows版,下载地址 (https://github.com/MSOpenTech/redis)(releases页面)
但是毕竟不能保证其功能性能等方面与官方版完全一致,所以考虑用CygWin在Win7上模拟Linux环境。
CygWin官方主页及下载地址 https://www.cygwin.com/  注意选64位的 setup-x86_64.exe

  • 安装CygWin

安装前确认磁盘有6G以上的磁盘容量,
安装时双击setup-x86_64.exe,基本按照默认设置安装就行,也可自己指定安装路径等,



到选择下载镜像网站时,建议选择一个中国国内的镜像网站以便提高下载速度,
比如 http://mirrors.neusoft.edu.cn 或 http://mirrors.ustc.edu.cn 等


到选择package这步时,建议选择Devel和Ruby两者为Install。
Devel 里面包括gcc,make等工具,Ruby是运行redis cluster时需要的。




然后按默认下一步,无视警告,然后是漫长的下载与安装时间,(15:46-)
此处等待约1-2个小时。。。。



最后安装完成,双击桌面的CygWin图标即可进入命令行窗口。
如图输入pwd命令即可知道目前的工作目录。


  • 安装Redis

redis从3.0以上版本才开始有cluster功能,
在官方下载Redis安装包(我选择的是最新稳定版,redis-3.0.7.tar.gz),复制到cygwin的工作目录,

执行解压缩操作

# tar -zxvf redis-3.0.7.tar.gz

然后 尝试编译,

接下来的编译过程中会遇到一些错误,基本上问百度和google后都能找到解决办法。
我总共改了四个文件,我们提前修改一下:
(1) src\redis.h中添加SA_ONSTACK值

#ifdef __CYGWIN__
#ifndef SA_ONSTACK
#define SA_ONSTACK 0x08000000
#endif
#endif


(2) src\anet.c中注释掉 <netinet/tcp.h>


(3) deps\hiredis\net.c中注释掉 <netinet/tcp.h>,并在#include "sds.h"之后追加

#ifdef __CYGWIN__
#define TCP_KEEPCNT 8
#define TCP_KEEPINTVL 150
#define TCP_KEEPIDLE 14400
#endif


(4) src\Makefile 文件,搜索rdynamic关键字,删掉或注释掉和它相关的行(可能不止一行)

尝试编译,报出无数警告之后,没有error就算OK。
# cd redis-3.0.7
# make



编译OK后,运行 src/redis-server.exe 启动成功!

src/redis-cli shutdown 或者 直接Ctrl+C可以终止redis服务。

  • 安装Redis Cluster

redis在utils\create-cluster目录下提供了create-cluster命令,可以快速的创建cluster。
打开文件create-cluster建议将第35行的127.0.0.1改为机器的实际ip地址,这样就可以从其它机器远程调用了。


首先安装gem redis
# gem install redis
这个连外网时有可能被墙,多试几次就可以了。(试过3,4次差不多会成功)
如果还搞不下来,直接去网站:https://rubygems.org/gems/redis 下载后执行
# gem install -l ~/Downloads/redis-3.2.1.gem


进入create-cluster目录
# cd utils/create-cluster

执行命令
# ./create-cluster start
# ./create-cluster create

第一个命令会生成cluster的配置文件,
第二个命令根据配置文件启动redis服务,遇到提问输入yes,
如果遇到“can't connect to node ..”错误的话把这两个命令反复执行多试几次即可。
最后出现如下信息即表示安装成功,可以连接测试了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值