用两台虚拟机搭建redis集群,2台虚拟机都是CentOS 6.5系统
-
下载安装redis
1、下载解压
下载目录:cd /root/redis
下载:wget http://download.redis.io/releases/redis-3.2.4.tar.gz
(下载地址在redis官网)
解压:tar -zxvf redis-3.2.4.tar.gz
2、安装redis
进入redis:cd redis-3.2.4
安装:make && make install
3、创建节点
创建3个节点目录:cd /root/redis/redis-3.2.4
mkdir redis-cluster
cd redis-cluster
mkdir 7000 7001 7002
拷贝redis配置文件到3个节点目录下:cp redis.conf redis-cluster/7000
cp redis.conf redis-cluster/7001
修改3给节点的配置文件:port 7000 //端口7000,7002,7003 bind 172.31.17.74 //本机ip ,默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建 集群时无法访问对应的端口,无法创建集群 daemonize yes //redis后台运行 pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002 cluster-enabled yes //开启集群 cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002 cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置 appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
4、把 redis-trib.rb 复制到 /usr/local/bin 目录下(搭建集群能用到)
cd /root/software/redis-3.2.4/src
cp redis-trib.rb /usr/local/bin/
5、搭建另外一台虚拟机的3个节点,方法同上,端口为7003 7004 7005
6、启动6个节点:redis-server redis-cluster/7000/redis.conf
7、查看启动情况:ps -ef | grep redis
netstat -tnlp | grep redis
到这2台服务器6个节点搭建完毕,还是比较容易的。 -
创建redis集群
1、通过redis-trib.rb工具创建集群(在redis的src目录中)
命令:redis-trib.rb create --replicas 1 172.31.17.74:7000 172.31.17.74:7001 172.31.17.74:7002 172.31.17.75:7003 172.31.17.75:7004 172.31.17.75:7005
(遇到了第一个坑执行命令出错)redis-trib.rb工具是用 ruby 实现的,所以需要安装 ruby
2、安装ruby:yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
(第二个坑安装失败)
错误如下:ERROR: Error installing redis:
redis requires Ruby version >= 2.2.2.
错误原因:CentOS6.5 yum库中ruby的版本是1.8.3,可gem 安装redis需要最低是2.2.2,采用rvm来更新ruby
3、安装rvm
命令:gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable find / -name rvm -print
安装成功如下显示
查看rvm库中已知的ruby版本:rvm list known
安装一个ruby版本:rvm install 2.4.1
使用一个ruby版本:rvm use 2.4.1
设置默认版本:(设置ruby2.4.1为默认的ruby,因为还安装有1.8.3):rvm use 2.4.1 --default
查看ruby版本:ruby --version
安装redis:gem install redis
4、在次组建redis集群
输入命令:redis-trib.rb create --replicas 1 172.31.17.74:7000 172.31.17.74:7001 172.31.17.74:7002 172.31.17.75:7003 172.31.17.75:7004 172.31.17.75:7005
出现如下:
输入yes
出现如下:
到此时集群搭建完毕。 -
集群验证与使用
链接172.31.17.75的7005端口:redis-cli -h 172.31.17.75 -c -p 7005
插入值:set yangpeng 杨朋
链接172.31.17.74的7002端口:redis-cli -h 172.31.17.74 -c -p 7002
查看 key 为 yangpeng 的内容:get yangpeng