Redis集群搭建
总阅读次
Redis集群搭建
Redis集群搭建至少需要三个master,三个salver。在这里我们使用单机版的集群,配置方式和实际的集群一致。我们通过使用不同的配置文件,将redis启动到不同的端口,实现一个台服务器上启动多个redis实例。
集群搭建第一步
创建一个文件夹redis-cluster,然后在其下面创建6个子文件夹:
- 在hadoop用户的加目录下的
apps
目录下创建redis-cluster
目录。 - 创建6个子文件夹
集群搭建第二步
将redis.conf
配置文件分别复制到上面创建的redis-cluster
目录下的6个目录下,并修改复制后的redis.conf
文件的一些配置。
复制文件
修改
redis.conf
配置daemonize yes
## 修改为后台启动port 700*
## 修改启动端口,为具体目录名,这里就是7001bind 192.168.137.5
## 绑定本机ipdir /home/hadoop/apps/redis-cluster/700*/
## 指定数据存放目录,不同的文件夹存放到不同的目录,这里存放到dir /home/hadoop/apps/redis-cluster/7001/
cluster-enabled yes
## 启动集群cluster-config-file nodes-700*.conf
##集群配置,和目录对应,这里是cluster-config-file nodes-7001.conf
cluster-node-timeout 15000
##集群节点超时时间,单位毫秒appendonly yes
##打开AOF模式- 配置完成后,将7001目录下的配置文件,拷贝到其他700*目录下
- 在将其他redis配置文件中的7001,改成自己对应目录的名称。也就是将7002目录下的redis配置问中,上面修改配置的包含7001的地方改为7002。总共三个地方需要修改
集群搭建第三步,安装Ruby
由于redis集群需要使用ruby命令,所以需要安装ruby。
- 安装ruby命令:
$ sudo yum install ruby
- 安装rubygems:
sudo yum install rubygems
- 安装redis和ruby的接口:
sudo gem install redis
集群搭建第四步,分别启动6个redis实例
将6个redis实例都启动,并检查是否启动成功
/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/700*/redis.conf
例如启动7001实例,/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/7001/redis.conf
- 通过
ps -ef | grep redis
命令查看是否启动成功
集群搭建第六步,为redis实例配置集群中的角色
通过ruby脚本,为前面启动的6个redis实例分配不同的角色。
- 进入redis的安装目录,执行ruby命令。
- 使用ruby命令为redis实例分配角色
./redis-trib.rb create --replicas 1 192.168.137.5:7001 192.168.137.5:7002 192.168.137.5:7003 192.168.137.5:7004 68.137.5:7001 192.168.137.5:7002 192.168.137.5:7003 192.168.137.5:7004 192.168.137.5:7005 192.168.137.5:7006
## redis-trib.rb create –replicas 创建集群的命令,后面的1
表示master和slaver的比例,这里设置为1表示一个master和1个slaver;在后面的三个ip和端口的实例表示是master,其他的是slaver。
集群搭建最后一步,验证
通过上面的步骤已经完成集群的搭建,现在开始验证集群的是否正常工作。
- 可以连接上面启动的6个任意实例,
/home/hadoop/apps/redis-3.0.0/bin/redis-cli -c -h 192.168.137.5 -p 7001
,使用info
命令 - 保存数据和获取数据
- 通过上面的图片我们感觉很奇怪,其实应该要这样理解,你需要将这6个实例看成一个整体,你所有的操作都是对于这个集群而言的。