您的位置:首页 > 数据库 > Redis

CygWin安装RedisCluster指南

2016-08-23 17:27 519 查看
背景

客户为提高性能升级至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.cnhttp://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 ..”错误的话把这两个命令反复执行多试几次即可。

最后出现如下信息即表示安装成功,可以连接测试了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis cygwin