redis单点部署:

安装命令:

# cd /usr/local/   
# wget http://download.redis.io/releases/redis-4.0.1.tar.gz        #下载安装包
# yum -y install gcc psmisc                #安装依赖包
# tar xf redis-4.0.1.tar.gz               
# cd /usr/local/redis-4.0.1/
# make MALLOC=libc      
# make & make install
# cp redis.conf redis.conf.bak    
# vim redis.conf       #修改配置文件

因为是测试部署,这里的配置文件就多采用默认的配置了。只改了后台启动的配置

系统学习redis之二——redis集群搭建_第1张图片

启动服务:

# /usr/local/redis-4.0.1/src/redis-server /usr/local/redis-4.0.1/redis.conf                 #启动redis

验证启动

# ps -ef|grep redis  
# src/redis-cli

执行命令测试服务的可用性
系统学习redis之二——redis集群搭建_第2张图片

简单的单点redis就搭建好了。
配置文件的详解,可以参考http://blog.sina.com.cn/s/blog_13e807ed00102wzc9.html

redis集群搭建(三主三从)

测试服务器IP及对应的hostname:

IP hostname
10.0.0.101 test101
10.0.0.102 test102
10.0.0.103 test103

安装步骤:
1、将上面三台机器,都部署好一个6379,一个6389端口的redis,但redis.conf的配置需要改下面几项(因为实验,其他都采用默认配置了,没有改):
1)修改redis.conf,修改下面这几项:

bind 10.0.0.101(10.0.0.102/10.0.0.103改成对应服务器的IP)
port 6379
daemonize yes
dir /opt/redis
cluster-enabled yes
cluster-node-timeout 15000

2)复制一份redis.conf改名为redis2.conf。再修改下面两项:

 port 6389
 dir /opt/redis2

3)创建数据目录:

# mkdir /opt/redis
# mkdir /opt/redis2

4)启动服务:

# /usr/local/redis-4.0.1/src/redis-server /usr/local/redis-4.0.1/redis.conf
# /usr/local/redis-4.0.1/src/redis-server /usr/local/redis-4.0.1/redis2.conf

5)检查服务:
系统学习redis之二——redis集群搭建
系统学习redis之二——redis集群搭建
系统学习redis之二——redis集群搭建

2、安装集群工具:
1)安装依赖包

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

2、重新使用rvm安装ruby
因为yum安装的ruby最高只能是2.0版本,但是redis集群要求更高的版本,所以这里需要重新安装ruby,否在在 gem install redis的时候会报错

# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# curl -sSL https://get.rvm.io | bash -s stable
# source /usr/local/rvm/scripts/rvm 
# rvm list known
# rvm install 2.4.1
# rvm use 2.4.1
# rvm use 2.4.1 --default
# rpm -qa ruby
# yum remove -y ruby-2.0.0.648-33.el7_4.x86_64
# ruby --version

3、安装并启动redis

# gem install redis
# src/redis-trib.rb create --replicas 1 10.0.0.101:6379 10.0.0.101:6389 10.0.0.102:6379 10.0.0.102:6389 10.0.0.103:6379 10.0.0.103:6389

4、验证集群的正确性

# src/redis-cli -c -p 6379  
# src/redis-cli -c -p 6389

有个问题,因redis.conf里面的bind配置的10.0.0.101,而redis默认的端口IP是127.0.0.1,所以这里会报错“Could not connect to Redis at 127.0.0.1:6379: Connection refused”,把bindIP改成0.0.0.0不会报错。
或者用/usr/local/redis-4.0.1/src/redis-trib.rb check 10.0.0.101:6379检查集群:
系统学习redis之二——redis集群搭建_第3张图片

redis-trib.rb具有以下功能:

create:创建集群
check:检查集群
info:查看集群信息
fix:修复集群
reshard:在线迁移slot
rebalance:平衡集群节点slot数量
add-node:将新节点加入集群
del-node:从集群中删除节点
set-timeout:设置集群节点间心跳连接的超时时间
call:在集群全部节点上执行命令
import:将外部redis数据导入集群

至此,集群就部署完成了