centos7 快速搭建redis集群环境
本文主要是记录一下快速搭建redis集群环境的方式。
环境简介:centos 7 + redis-3.2.4
本次用两个服务6个节点来搭建:192.168.116.120 和 192.168.116.121
192.168.116.120 端口为7000 7001 7002 3台
192.168.116.121 端口为7000 7001 7002 3台
注意 ,redis 集群使用redis-trib.rb 必须3主3从 ,也就是6个节点!
详细步骤:
1:下载解压redis-3
.2.4
cd /usr/local/software
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz
2.安装 三个节点都安装
cd redis-3.2.4
make && make install
3. 将 redis-trib.rb 复制到 /usr/local/bin 目录下
cd src
cp redis-trib.rb /usr/local/bin
4.创建运行目录复制配置文件 创建3个节点redis
cd /usr/local
mkdir redis-cluster
cd redis-cluster
mkdir redis-3.2.4-node1 redis-3.2.4-node2 redis-3.2.4-node3
cd redis-3.2.4 -node1
mkdir logs data
cd /usr/local/software/redis-3.2.4
cp redis.conf /usr/local/redis-cluster/redis-3.2.4-node1
cp redis.conf /usr/local/redis-cluster/redis-3.2.4-node2
cp redis.conf /usr/local/redis-cluster/redis-3.2.4-node3
cd src
cp redis.cli redis.server /usr/local/redis-cluster/redis-3.2.4-node1
cp redis.cli redis.server /usr/local/redis-cluster/redis-3.2.4-node2
cp redis.cli redis.server /usr/local/redis-cluster/redis-3.2.4-node3
5.3个节点分布进行如下配置
vim /usr/local/redis-3.2.4-node1/redis.conf //其他两个类似
找到以下信息并修改
port 7000 //端口7000,7001,7002
bind 192.168.116.120 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /usr/local/redis-cluster/redis-3.2.4-node1/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
logfile "/usr/local/redis-cluster/redis-3.2.4-node1/logs/redis_7001.log" //配置日志输入路劲 7000 7001 7002
dir "/usr/local/redis-cluster/redis-3.2.4-node1/data" //配置数据文件存放路劲
6.分别运行redis
cd /usr/local/redis-cluster/redis-3.2.4-node1
./redis.server redis.conf
cd /usr/local/redis-cluster/redis-3.2.4-node2
./redis.server redis.conf
cd /usr/local/redis-cluster/redis-3.2.4-node3
./redis.server redis.conf
7.检查是否运行
ps -ef|grep redis
8.使用 redis-trib.rb创建集群
8.1 因为依赖ruby 所以先安装ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
当出现错误时
ERROR: Error installing redis:
redis requires Ruby version >= 2.2.2.
这一步骤中出现了bug,度娘告诉我是Ruby版本太低,需要升级版本。
先升级ruby版本
curl -L get.rvm.io | bash -s stable
当出现错误时
NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade or upgrade to newer version (if available) or use the second method described above.
获得密钥
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
继续执行
curl -sSL https://get.rvm.io | bash -s stable
8.2安装完成,是rvm可用
8.2安装完成,是rvm可用
source /usr/local/rvm/scripts/rvm
8.3查看Ruby可用版本
rvm list known
8.4 即可查看到2.2 2.3 和2.4 三个版本我们安装2.3
rvm install 2.3.0
这一步可能耗时较长,耐心等待。
8.5 安装gem redis接口
rvm use 2.3.0
rvm remove 1.8.7
ruby --version
gem install redis
8.6 安装rubygems
yum install -y rubygems
到目前为止,我们的Ruby和运行redis-trib.rb需要的环境安装完成了
9.测试集群
redis-trib.rb create --replicas 1 192.168.116.120:7000 192.168.116.120:7001 192.168.116.120:7002 192.168.116.121:7000 192.168.116.121:7001 192.168.116.121:7002
error 1 : 这里出现join......,记得关闭防火墙。
error 2: 连接失败。需要将logs和data文件先清空,进入redis flushall 即可。在重启redis
10 测试客户端连接
随便进一个节点
redis-cli -h 192.168.116.120 -c -p 7000
set k1 v1
另外一个服务选一个节点
redis-cli -h 192.168.116.121 -c -p 7000
get k1
SUCCESS !