Redis中怎么使用redis-trib.rb创建带密码的集群,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1、设定集群密码
各个节点的配置中设定密码,注意集群模式下,下面两行都需要
1 2 | masterauth passwd123 requirepass passwd123 |
2、各个节点的配置中开启集群配置的相关选项,如下:
1 2 3 4 5 | port 30001 cluster-enabled yes cluster-config-file nodes-30001.conf cluster-node-timeout 5000 appendonly yes |
3、修改create-cluster工具
新版的Redis中给我们提供了利用redis-trib.rb创建集群的工具,就是:utils/create-cluster/create-cluster
我们稍作修改,把start部分的redis-server命令的参数,直接替换为各个节点配置文件路径
1 2 3 4 5 6 7 8 9 10 | if [ "$1" == "start" ] then while [ $((PORT < ENDPORT)) != "0" ]; do PORT=$((PORT+1)) echo "Starting $PORT" # 通过redis-server并指定各个节点的redis配置文件路径 ../../src/redis-server /redis/redis-$PORT.conf done exit 0 fi |
4、修改redis-trib.rb脚本
如果Redis设定了密码,那么通过redis-trib.rb脚本创建集群时,是会类似这样的错误的:[ERR] Sorry, can’t connect to node *.*.*.*:7001
这是因为redis-trib.rb脚本中连接Redis时,并未设定密码,这确实是个很大的坑。我的解决方法时,修改该脚本中连接Redis时的代码,修改内容如下:
找到这一行:
1 | @r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60) |
修改为:
1 | @r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "你的密码") |
5、修改完成后,依次运行:
./craete-cluster start
./craete-cluster create
即可启动集群
看完上述内容,你们掌握Redis中怎么使用redis-trib.rb创建带密码的集群的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。