1.1先关闭防火墙
//临时关闭
systemctl stop firewalld
//禁止开机启动
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
1.2下载redis
cd /usr/local
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
1.3解压redis
tar -zxvf redis-3.2.9.tar.gz
1.4安装redis
cd redis-3.2.9
Make
cd src
make install PREFIX=/usr/local/redis
1.5移动配置文件到目录
cd ../
mkdir /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
下面正式开启搭建redis集群的操作
2.1创建文件夹
我们计划集群中 Redis 节点的端口号为 9001-9006 ,端口号即集群下各实例文件夹,数据存放在端口号/data 文件夹中。
mkdir /usr/local/redis-cluster
cd redis-cluster/
mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
2.2复制脚本
在 /usr/local/redis-cluster 下创建 bin 文件夹,用来存放集群运行脚本,并把安装好的Redis的src路径下的运行脚本拷贝过来。
cd /usr/local/redis-cluster
mkdir bin
cd /usr/local/redis-3.2.9/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin
3.3复制一个新 Redis 实例
我们现在从已安装好的 Redis 中复制一个新的实例到 9001 文件夹,并修改 redis.conf 配置
#复制
cp -r /usr/local/redis /usr/local/redis-cluster/9001
#编辑
vi /usr/local/redis-cluster/9001/redis/etc/redis.conf
#注意,修改redis.conf 配置部分,还是常规的这几项:
#每个节点的端口号
port 9001
#允许后台启动
daemonize yes
#绑定当前机器 IP
bind 192.168.116.128
#pid 9001和port要对应--6379改为9001
pidfile /var/run/redis_9001.pid
#启动集群模式
cluster-enabled yes
#9001和port要对应
cluster-config-file nodes9001.conf
#允许超时时间
cluster-node-timeout 15000
#开启AOF缓存
appendonly yes
#数据文件存放位置--在redis.conf文件最后添加
dir /usr/local/redis-cluster/9001/data/
3.4再复制出五个新 Redis 实例
我们已经完成了一个节点了,其实接下来就是机械化的再完成另外五个节点,其实可以这么做:把 9001 实例 复制到另外五个文件夹中,唯一要修改的就是 redis.conf 中的所有和端口的相关的信息即可,其实就那么四个位置。开始操作,看图:
#\cp -rf 命令是不使用别名来复制,因为 cp 其实是别名 cp -i,操作时会有交互式确认,比较烦人
\cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9002
\cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9003
\cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9004
\cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9005
\cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9006
3.5修改 9002-9006 的 redis.conf 文件
其实非常简单了,你通过搜索会发现其实只有四个点需要修改,我们全局替换下吧,进入相应的节点文件夹,做替换就好了。命令非常简单
#编辑对应的redis.conf
vi /usr/local/redis-cluster/9002/redis/etc/redis.conf
vi /usr/local/redis-cluster/9003/redis/etc/redis.conf
vi /usr/local/redis-cluster/9004/redis/etc/redis.conf
vi /usr/local/redis-cluster/9005/redis/etc/redis.conf
vi /usr/local/redis-cluster/9006/redis/etc/redis.conf
#一行对应着上面的redis.conf文件,按回车键之后就:wq保存就行了
:%s/9001/9002
:%s/9001/9003
:%s/9001/9004
:%s/9001/9005
:%s/9001/9006
ps:输入:%s/9001/9002 ,按回车键 再输入:wq保存即可
ps::%s/9001/9002相当于把9001改为9002
上面这些步骤完成就差不多了
3.1由于 Redis 集群需要使用 ruby 命令,所以我们需要安装 ruby 和相关接口
yum install ruby
yum install rubygems
#网络下载不了,只能本地,请看下图
gem install redis 使用本地上传方式
redis-3.2.1.gem的百度云下载地址:
链接:https://pan.baidu.com/s/1c0XGOKleJTcf2dECLYxQmg
提取码:xutj
3.2在/usr/local目录下 执行命令:
gem install -l redis-3.2.1.gem
1.9001-9006六个节点
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/9001/redis/etc/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/9002/redis/etc/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/9003/redis/etc/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/9004/redis/etc/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/9005/redis/etc/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/9006/redis/etc/redis.conf
2.集群环境测试--192.168.116.128全部改为你的服务器ip地址
/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 192.168.116.128:9001 192.168.116.128:9002 192.168.116.128:9003 192.168.116.128:9004 192.168.116.128:9005 192.168.116.128:9006
3.随便找一个节点测试试
/usr/local/redis-cluster/9001/redis/bin/redis-cli -c -h 192.168.116.128 -p 9001
9001节点set name的时候会通过算法存储在对应的卡槽里,并跳转到改卡槽节点