总结自 小D课堂
前面已经介绍过redis下载安装,这里我们直接开始
Redis为了实现负载均衡,提供集群模式。以三个节点为例,集群模式相当于将1-15000片分片,分为1-5000、5000-10000、10000-15000。每个节点分一段数据片。这样的话,当一个节点宕机后,这个节点没有备份的话,此段分片将不再可以使用。所以,官方推荐,集群内的每个节点都应该配备一个从节点,作为冷备。
官网推荐的模式,是三主三从的集群部署方式。
新建集群文件夹redis_cluster
cd /usr/local/software
mkdir redis-cluster
cd redis-cluster
mkdir 7000 7001 7002 7003 7004 7005
cp /usr/local/software/redis-4.0.14/redis.conf /usr/local/software/redis-cluster/7000
修改redis-cluster/7000到redis-cluster/7005文件夹下面的Redis.conf
daemonize yes //redis后台运行
port 7000 //端口7000,7002,7003,7004,7005
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes.conf //集群的配置,首次启动自动生成
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes //aof日志开启,它会操作日志
bind 127.0.0.1 172.16.244.133(Redis安装的这台机的内网IP,命令:ip addr)
//添加一个内网IP,这部不操作的话会导致内网其他节点无妨访问你的集群
4、在其他节点也修改完Redis.conf,记得把端口改成对应的文件名称,【比如7001的端口为7001】否则集群将起不起来
cp /usr/local/software/redis-cluster/7000/redis.conf /usr/local/software/redis-cluster/7001
cp /usr/local/software/redis-cluster/7000/redis.conf /usr/local/software/redis-cluster/7002
cp /usr/local/software/redis-cluster/7000/redis.conf /usr/local/software/redis-cluster/7003
cp /usr/local/software/redis-cluster/7000/redis.conf /usr/local/software/redis-cluster/7004
cp /usr/local/software/redis-cluster/7000/redis.conf /usr/local/software/redis-cluster/7005
启动所有redis节点cd redis-server所在的路径
(1)将redis-server考呗到redis-cluster目录下
命令:cp /usr/local/redis-4.0.6/src/redis-server /usr/local/ redis-cluster
(2)cd 进入每个文件夹,然后启动各个节点
命令:cd /usr/local/software/redis-cluster/7000
../redis-server ./redis.conf
cd /usr/local/software/redis-cluster/7001
../redis-server ./redis.conf
cd /usr/local/software/redis-cluster/7002
../redis-server ./redis.conf
cd /usr/local/software/redis-cluster/7003
../redis-server ./redis.conf
cd /usr/local/software/redis-cluster/7004
../redis-server ./redis.conf
cd /usr/local/software/redis-cluster/7005
../redis-server ./redis.conf
都启动后,验证下
创建集群
(1)前面已经准备好了搭建集群的redis节点,接下来我们要把这些节点都串连起来搭建集群。官方提供了一个工具:redis-trib.rb(/usr/local/redis-4.0.6/src/redis-trib.rb) 看后缀就知道这鸟东西不能直接执 行,它是用ruby写的一个程序,所以我们还得安装ruby.
(2)yum -y install ruby ruby-devel rubygems rpm-build
(3)gem install redis
7、如果gem install redis发现报如下的错
提示需要大于2.22版本的ruby,我们下载新版本,执行以下命令
(1).gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
(2)curl -L get.rvm.io | bash -s stable
(3)source /etc/profile.d/rvm.sh
(4)rvm list known
(5)rvm install 2.4
(6)rvm use 2.4
(7)ruby --version
(8)gem install redis
现在可以开启集群工作
cd /usr/local/software/redis-4.0.14/src
./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
正在创建集群,提示我们是否按照这个主从方式,我们直接输入yes
看到如下图代表redis集群创建完成!
测试集群是否正常
./redis-cli -c -p 7000
其实我们已经看到集群分配7005为7000的从节点,到这里 ,集群搭建完毕!,一定要跟着步骤来,不然有些错误很难解决
如果搭建失败,请用此命令将所有启动的redis server一个个关闭掉,切勿直接用kill命令关闭
./redis-cli -p 7000 shutdown