redis cluster搭建

1.环境准备

Redis集群最少准备6个点,那样就可以每一台机器3个节点,创建出3master和3salve环境 我是使用一台机器创建 redis版本3.2.0   redis cluster搭建集群会导致salve节点闲置

2.下载Redis安装包和解压缩

进入服务器/usr/local 界面

创建一个redis的文件夹mkdir redis_cluster

进去文件夹 下载redis 安装包wgethttp://download.redis.io/releases/redis-3.2.0.tar.gz

下载后进行解压 tar -xzf redis-3.2.0.tar.gz

编译并安装 make && make install这里需要jemalloc的支持,如果报找不到jemalloc错误大概如下:

make[1]: Entering directory `/usr/local/redis_cluster/redis/src'

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/usr/local/redis_cluster/redis/src'

cd src && make install

make[1]: Entering directory `/usr/local/redis_cluster/redis/src'

进入src目录下直接执行 make MALLOC=libc  && make instal 就可以

3. 安装完成后创建多个节点

安装后,创建多个文件夹,将redis复制到文件夹中作为每个redis的节点 修改redis.conf文件

集群配置信息 :

daemonize yes//redis后台运行

pidfile/var/run/redis_10000.pid//pidfile文件对应10000

port10000//端口10000

cluster-enabled yes//开启集群 把注释#去掉

cluster-config-file nodes_10000.conf//集群的配置 配置文件首次启动自动生成

cluster-node-timeout5000//请求超时 设置5秒够了

appendonly yes//aof日志开启 有需要就开启,它会每次写操作都记录一条日志

bind127.0.0.1//这里要注意了,如果你只想在本机访问用127.0.0.1 ,如果是局域网,请配置内网ip,如果想外网请配置外网ip

直接vi redis.conf 进入文件后,/查找相关字段修改就可以

4.创建节点后启动,查看启动情况

./文件夹路径/redis-server  文件夹路径/redis.conf

由于设置了后台运行 可通过ps-ef|grep redis 查看节点启动情况 如果某个节点没有启动成功,需要到配置中将后台运行daemoize 设置成no  在前台查看日志 排除分析问题原因

5.创建集群

创建redis-cluster集群需要使用工具 ,官方推荐是redis-trib.rb需要安装ruby

yum-y install ruby ruby-devel rubygems rpm-build

gem install redis#这里需要等一会,需要点时间

使用redis-trib.rb 的create 命令进行创建

/usr/local/redis_cluster/10000/redis/src/redis-trib.rb create--replicas1127.0.0.1:10000127.0.0.1:10001127.0.0.1:10002127.0.0.1:10003127.0.0.1:10004127.0.0.1:10005

说明:replicas表示需要有几个slave--replicas  1  表示 自动为每一个master节点分配一个slave节点    上面有6个节点,程序会按照一定规则生成 3个master(主),3个slave(从) 。

如果创建失败可能是由于防火墙的原因

6.测试集群

进入redis/src目录下redis-cli-p端口-h IP -c

set key value

get key

del key

测试是否能获取到相应存储数据,如果不加-c 可能在slave获取master节点的数据时 报

(error) MOVED 866 10.4.226.85:10000  加-c后

-> Redirected to slot [866] located at 10.4.226.85:10000 重定向会master节点获取数据

你可能感兴趣的:(redis cluster搭建)