Redis集群安装
Redis简单介绍:
Redis是一个开源(BSD许可),使用ANSI C语言编写、支持网络、可基于内存,也持久化的日志型、Key-Value数据库,是常用的NoSQL之一,并提供多种语言的API。Redis是内存数据结构存储,用作数据库,缓存和消息代理。支持的数据结构常见的有strings, hashes, lists, sets, sorted sets等等。下面我们来看看Redis的集群安装
Redis集群搭建:
使用版本Redis3.X
Linux操作系统:CentOS6.X
规划:
IP:192.168.174.221 Server01
以端口号区别各个Redis服务结点
端口:【6381主,6384从】,【6382主,6385从】,【6383主,6386从】
环境准备【自行下载安装需要的文件,并使用SFTP【LZ 常用Filezilla】工具上传Linux服务器】:
redis-3.0.0.tar.gz 软件包
redis-3.0.0.gem 文件
安装Redis相关依赖:
yum -y install gcc-c++
yum -y install ruby
yum -y install rubygems
安装步骤:
拷贝redis-3.0.0.gem文件到/usr/loca/目录
cp redis-3.0.0.gem /usr/loca/
执行install
gem install /usr/local/redis-3.0.0.gem
先编译安装一个Redis服务,然后cp即可,然后修改端口
创建相关目录:
mkdir -p /usr/local/redis-cluster/6381
解压并进入redis
tar -zxvf redis-3.0.0.tar.gz -C /usr/local
cd /usr/local/redis-3.0.0
执行编译和安装
make PREFIX=/usr/local/redis-cluster/6381 install
redis.conf是redis的配置文件,redis.conf在redis解压的目录。
注意等会修改port作为redis进程的端口,port默认6379
拷贝配置文件到安装目录下
cp /usr/local/redis-3.0.0/redis.conf /usr/local/redis-cluster/6381
启动方式约定:./bin/redis-server redis.conf #因为不同的路径启动,库的位置不一样(现在先不要着急启动这个Redis服务)
修改cp过来的redis.conf
vi /usr/local/redis-cluster/6381/redis.conf
查找到相应的配置位置并修改为如下【截图原始文件的配置的相关位置,方便读者修改】:
daemonize yes #改为后台守护进程启动
port=6381 #将端口改为我们约定好的
cluster-enable=yes #将集群开启
拷贝上面已经安装好的5份,然后修改目录
拷贝其他的5台
cp -r 6381 6382
......
拷贝完了记得修改配置和端口号
从Redis的src目录把这两个文件cp到如下目录下,方便以后操作
cp redis-cli redis-trib.rb /usr/local/redis-cluster
现在启动每台机器试试
./bin/redis-server redis.conf
查看启动状态(在末尾看到cluster说明几乎成功了)
ps aux | grep redis
现在只是说Redis是集群模式,但是结点之间还没有真正建立集群关系,现在执行下面的脚本,真正的安装集群
使用上面我们拷贝的脚本创建集群(中间需要输个yes,表示默认它为你分配的槽位【0~16384个槽位数】),执行完就完成集群了
./redis-trib.rb create --replicas 1 192.168.174.221:6381 192.168.174.221:6382 192.168.174.221:6383 192.168.174.221:6384 192.168.174.221:6385 192.168.174.221:6386
说明:replicas指定为1表示每个主节点有一个从节点
接下来我们使用刚刚拷贝过来的客户端来连接
连接任意一台,然后执行一个简单的操作
./redis-cli -c -p 6383 -h 192.168.174.221
下面使用一个Redis的客户端工具来看看集群的值是否是主从存储的【明显是OK的】
查看集群信息
cluster info
cluster nodes
补充:一个个的启动和关闭有点烦,下面是两个小脚本,一次启动和关闭Redis集群
启动脚本:
vi startRedisCluster.sh
#!/bin/bash
cd /usr/local/redis-cluster/6381
./bin/redis-server redis.conf
/bin/sleep 1
cd /usr/local/redis-cluster/6382
./bin/redis-server redis.conf
/bin/sleep 1
cd /usr/local/redis-cluster/6383
./bin/redis-server redis.conf
/bin/sleep 1
cd /usr/local/redis-cluster/6384
./bin/redis-server redis.conf
/bin/sleep 1
cd /usr/local/redis-cluster/6385
./bin/redis-server redis.conf
/bin/sleep 1
cd /usr/local/redis-cluster/6386
./bin/redis-server redis.conf
添加执行权限:
chmod u+x startRedisCluster.sh
关闭脚本:
vi stopRedisCluster.sh
#!/bin/bash
cd /usr/local/redis-cluster/6381
./bin/redis-cli -p 6381 shutdown
cd /usr/local/redis-cluster/6382
./bin/redis-cli -p 6382 shutdown
cd /usr/local/redis-cluster/6383
./bin/redis-cli -p 6383 shutdown
cd /usr/local/redis-cluster/6384
./bin/redis-cli -p 6384 shutdown
cd /usr/local/redis-cluster/6385
./bin/redis-cli -p 6385 shutdown
cd /usr/local/redis-cluster/6386
./bin/redis-cli -p 6386 shutdown
chmod u+x stopRedisCluster.sh
********************************* 不积跬步无以至千里,不积小流无以成江海 *********************************