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节点获取数据