redis 3.2集群环境搭建
之前在项目中使用到redis,这里将搭建过程记录下:
- 文件准备
- 安装过程
- 遇到的问题
文件准备
由于redis搭建集群时需要依赖ruby环境,所以这里会使用到安装ruby环境的相关包
- redis-3.2.2.gem
- redis-3.2.6.tar.gz
- ruby-2.3.3.tar.gz
- rubygems-2.6.8.tgz
安装过程
- 安装ruby
tar -xvf ruby-2.3.3.tar.gz
cd ruby-2.3.3
./configure -prefix=/usr/local/ruby
make
make install
sudo cp ruby /usr/local/bin
- 安装rubygem
tar -xvf rubygems-2.6.8.tgz
cd rubygems-2.6.8
ruby setup.rb
cp bin/gem /usr/local/bin
- 安装redis-gem
gem install -l redis-3.2.2.gem
- 安装redis
tar -xvf redis-3.2.6.tar.gz
cd redis-3.2.6
sudo cp ./src/redis-server /usr/local/bin
sudo cp ./src/redis-cli /usr/local/bin
sudo cp ./src/redis-trib.rb /usr/local/bin
- 配置redis集群
假设redis集群有6个节点,3个master,3个slave
master_1 127.0.0.1:7001
master_2 127.0.0.1:7002
master_3 127.0.0.1:7003
slave_1 127.0.0.1:7004
slave_2 127.0.0.1:7005
slave_3 127.0.0.1:7006
这里创建6个文件夹分别为7001,7002,7003,7004,7005,7006, 将redis的配置文件redis.conf分别拷贝至这六个文件夹中,分别修改当前的redis.conf内容如下:
port 文件夹名称【7001...等】
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
- 启动redis(分别到上述6个文件夹中执行)
redis-server redis.conf
- 创建redis集群
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
遇到的问题
- 客户端访问时无法redirect到指定的节点
redis-cli -c -h 127.0.0.1 -p 7001
- 删除集群中的节点
redis-trib.rb del-node 127.0.0.1:7001 XXXXXXXXX(集群节点唯一标识)
- 查看集群
redis-trib.rb check 127.0.0.1:7001