最近搭建了好多次redis集群,在这里整理一下:
预准备:目前使用6个端口。7001,7002,7003,7004,7005,7006(三主三从)
注:生成集群的时候如果使用ip生成,需要开放总线接口:17001,17002,17003,17004,17005,17006
1、下载redis并解压到目录
cd /usr/local/webserver
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar -zxvf /redis-3.2.1.tar.gz -C redis-cluster/
2、编译安装
cd redis-3.2.1
make && make install
3、创建6个节点(7001-7006)
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
mkdir 7006
4、将配置文件复制到各个节点中
cp -r redis-3.2.1/redis.conf redis01/
cp -r redis-3.2.1/src/redis-server redis01/
cp -r redis-3.2.1/src/redis-cli redis01/
5、修改各个节点的redis.conf
daemonize yes //redis后台运行
pidfile /var/run/redis_7001.pid //pidfile文件对应7001,7002,7003
port 7001 //端口7000,7002,7003
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7001.conf //集群的配置 配置文件首次启动自动生成 7001,7002,7003
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
6、准备工作完毕,现在准备生成,启动所有节点
redis01/redis-server redis01/redis.conf
redis02/redis-server redis02/redis.conf
redis03/redis-server redis03/redis.conf
redis04/redis-server redis04/redis.conf
redis05/redis-server redis05/redis.conf
redis06/redis-server redis06/redis.conf
7、查看是否启动正常
ps -aux | grep redis
8、最简单的集群实现是用redis-trib工具,它在src目录下。它是一个ruby程序,所以需要先安装ruby
yum install ruby
yum install rubygems
#安装 ruby的 redis插件
gem install redis
注:可能会有报错原因是ruby的版本最少得是2.2.2以上。所以重新安装ruby
#安装curl
sudo yum install curl
#安装rvm,利用rvm升级ruby
curl -sSL https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash
source /usr/local/rvm/scripts/rvm
#安装2.4.0
rvm install 2.4.0
#使用2.4.0
rvm use 2.4.0
#卸载老版本(查看版本,在卸载)
ruby --version
ruby remove 1.8.7
#查看最新的版本是否切换完成
ruby --version
#安装完成(继续执行install)
gem install redis
9、以上完成后开始运行trib文件创建集群
redis-3.2.1/src/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
10、剩下的直接按照提示输入yes就可以了,集群创建完成。
注:需要外部访问设置各节点redis.conf
bind 0.0.0.0
protected-mode no
11、为集群设置密码(各个节点都需要配置)
cd redis01
vim redis.conf
#设置
requirepass 密码
masterauth 密码
12、做一键启动、关闭命令
#启动
vim start.sh
cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
:wq
#关闭
vim stop.sh
cd redis01
./redis-cli -a 密码 -p 7001 shutdown
cd ..
cd redis02
./redis-cli -a 密码 -p 7002 shutdown
cd ..
cd redis03
./redis-cli -a 密码 -p 7003 shutdown
cd ..
cd redis04
./redis-cli -a 密码 -p 7004 shutdown
cd ..
cd redis05
./redis-cli -a 密码 -p 7005 shutdown
cd ..
cd redis06
./redis-cli -a 密码 -p 7006 shutdown
cd ..
:wq
chmod 755 start.sh
chmod 755 stop.sh
13、配置完毕