本文转载自:https://blog.csdn.net/baidu_38558076/article/details/90707045
环境:centos 7
1:下载并安装redis
-
$ wget http:
//download.redis.io/releases/redis-5.0.5.tar.gz
-
$ tar xzf redis
-5.0
.5.tar.gz
-
$ cd redis
-5.0
.5
-
$
make
redis 5.0版本 集群搭建不需要我们安装ruby就可以搭建成功,并且redis给我们提供了快速搭建脚本,执行utils/create-cluster/ 目录下的create-cluster脚本 就可以快速搭建,该脚本提供以下几个命令供我们使用
echo "Usage: $0 [start|create|stop|watch|tail|clean]"
echo "start -- Launch Redis Cluster instances." 创建redis集群实例
echo "create -- Create a cluster using redis-cli --cluster create." 搭建redis集群
echo "stop -- Stop Redis Cluster instances." 停止redis集群实例
echo "watch -- Show CLUSTER NODES output (first 30 lines) of first node."
echo "tail <id> -- Run tail -f of instance at base port + ID."
echo "clean -- Remove all instances data, logs, configs." 删除生成的日志,配置,数据文件
echo "clean-logs -- Remove just instances logs." 只删除日志
要想外部服务器访问到我们搭建的集群,我们需要对脚本修改一下:
start部分增加如下配置
--bind 指定我们要绑定的ip(服务器ip) --requirepass 指定我们的密码 --protected-mode no 关闭安全模式(外部应用可以连接到redis)
create 部分 修改如下:
stop 部分 修改如下:
修改后保存
然后在utils/create-cluster目录下执行
./create-cluster start
执行 ps -ef | grep redis 确定redis实例创建成功
然后执行./create-cluster create
可以看到已经为我们创建成功,并自动分配了3个主节点,3个从节点,然后提示我们是否确定创建,输入yes
可以看到集群已经创建成功,并且为3个主节点分配了hash槽
我们使用redis-cli 随便连接一个节点,并插入一条数据
可以看到我们往30002这个redis实例插入一条数据,使用桌面工具连接查看
可以看到每个redis节点都可看的到我们刚创建的key,其实它们是去30002这个节点上去拿的,除了30002自身和其slave节点以外
后续:
我们可以修改port(端口基准,以节点数向上递增) nodes (节点数据)replicas(主节点允许分配的从节点数)
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/baidu_38558076">
<img src="https://profile.csdnimg.cn/9/C/8/3_baidu_38558076" class="avatar_pic" username="baidu_38558076">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit "><a href="https://blog.csdn.net/baidu_38558076" data-report-click="{"mod":"popu_379","ab":"new"}" target="_blank">baidu_38558076</a></span>
<!-- 等级,level -->
<img class="identity-icon" src="https://csdnimg.cn/identity/blog5.png"> </div>
<div class="text"><span>原创文章 96</span><span>获赞 25</span><span>访问量 14万+</span></div>
</div>
<div class="right-message">
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379","ab":"new"}">关注</a>
<a href="https://im.csdn.net/im/main.html?userName=baidu_38558076" target="_blank" class="btn btn-sm bt-button personal-letter">私信
</a>
</div>
</div>
</div>