此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群
搭建环境: ubuntun 16.04 + redis-3.0.6
本文章分为三个部分:redis安装、搭建redis集群
一.本机安装redis:
1.下载redis: wget http://download.redis.io/releases/redis-3.0.6.tar.gz
2.redis安装解压、编译与安装:安装路径在root用户下的:~/softwares文件下
解压:先将安装包放到~/softwares文件下, 然后执行:tar -zxvf redis-3.0.0.6.tar.gz,解压完成后,就会有一个redis-3.0.0.6文件夹
编译:先 cd /redis-3.0.0.6,进入此文件夹, 然后运行命令: make
安装:make install PREFIX=~/softwares/redis-3 (PREFIX=~/softwares/redis-3:redis指定的安装路径)
3.启动redis-server:
复制redis.conf配置文件:在~/softwares/redis-3.0.0.6目录下,执行:cp redis.conf ~/softwares/redis-3/bin,就会将文件移过来
修改配置文件:cd ~/softwares/redis-3/bin目录下, 将redis.conf 里面的 "daemonize no" 改为"daemonize yes"
启动:在当前目录下,执行: ./redis-server ./redis.conf
查看启动是否成功: ps -ef|grep redis
4.登录redis-cli:要保证当前路径在~/softwares/redis-3/bin下:
登录:执行命令 ./redis-cli -h 127.0.0.1 -p 6379
二.redis集群的搭建:
注:该集群中有三个节点,每个节点有一主一备,需要6台虚拟机。在此搭建一个伪分布式的集群,使用6个redis实例来模拟。
1.安装ruby环境: redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(~/softwares/redis-3.0.0.6/)。
是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的。所以redis集群需要先安装ruby环境
apt-get install ruby
apt-get install rubygems
gem install redis-3.0.6.gem 执行此命令的时候会报一个这样的错:ERROR: Could not find a valid gem 'redis-3.0.0.6'
(>= 0) in any repository,此时只需要执行此命令:wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem,
会将redis-3.0.6.gem安装包下载到当前路径,只需要再次执行: gem install redis-3.0.6.gem, 此刻已经成功安装ruby环境
2.开始搭建redis集群: 在~/softwares下创建redis-cluster文件夹,在该文件夹中创建6个redis实例,端口号从7001~7006
2.1 首先,创建6个实例,并且从~/softwares/redis-3/bin拷贝redis-cli、redis-server、redis.conf三个文件到每个实例下分别:
redis-cluster-01: redis-cli、redis-server、redis.conf,
redis-cluster-02: redis-cli、redis-server、redis.conf
redis-cluster-03: redis-cli、redis-server、redis.conf
redis-cluster-04: redis-cli、redis-server、redis.conf
redis-cluster-05: redis-cli、redis-server、redis.conf
redis-cluster-06: redis-cli、redis-server、redis.conf
2.2 然后, 修改6个实例下面的redis.conf文件参数,修改如下:
redis-cluster-01: 1) 打开 #cluster-enable注释; 2) port修改为:7001; 3) daenonize no 改为:daenonize yes
redis-cluster-02: 1) 打开 #cluster-enable注释; 2) port修改为:7002; 3) daenonize no 改为:daenonize yes
redis-cluster-03: 1) 打开 #cluster-enable注释; 2) port修改为:7003; 3) daenonize no 改为:daenonize yes
redis-cluster-04: 1) 打开 #cluster-enable注释; 2) port修改为:7004; 3) daenonize no 改为:daenonize yes
redis-cluster-05: 1) 打开 #cluster-enable注释; 2) port修改为:7005; 3) daenonize no 改为:daenonize yes
redis-cluster-06: 1) 打开 #cluster-enable注释; 2) port修改为:7006; 3) daenonize no 改为:daenonize yes
2.3 接着, 进入~/softwares/redis-3.0.6/src目录下,将文件redis-trib.rb复制到~/softwares/redis-cluster目录下
具体执行的命令如下: cd ~/softwares/redis-3.0.6/src cp redis-trib.rb ~/softwares/redis-cluster
2.4 下来, 在~/softwares/redis-cluster 创建一个 redis-server.sh的脚本文件,内容如下:
#!/bin/sh
cd ./redis-cluster-01/
./redis-server ./redis.conf
cd ..
cd ./redis-cluster-02/
./redis-server ./redis.conf
cd ..
cd ./redis-cluster-03/
./redis-server ./redis.conf
cd ..
cd ./redis-cluster-04/
./redis-server ./redis.conf
cd ..
cd ./redis-cluster-05/
./redis-server ./redis.conf
cd ..
cd ./redis-cluster-06/
./redis-server ./redis.conf
cd ..
2.5 更改脚本权限,并且执行脚本之后,在查看6个redis实例是否正常启动,具体的执行命令如下:
该权限: chmod 777 start-server.sh
执行脚本 ./start-server.sh
查看是否正常启动: ps -ef|grep redis
2.6 创建集群:
./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003
127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
三.测试集群是否正常:
登录集群客户端: redis-cli -h 127.0.0.1 -p 7001(7002, 7003, 7004, 7005, 7006) -c
至此, 一个简单的redis集群就搭建成功了