linux 部署redis集群 碰到的坑

匿名 (未验证) 提交于 2019-12-02 21:53:52

1:
/usr/lib/ruby/gems/1.8/gems/redis-3.0.7/lib/redis/client.rb:97:in `call': ERR Slot 16011 is already busy (Redis::CommandError)
这是由于上一次配置集群失败时留下的配置信息导致的。只要把redis.conf中定义的 cluster-config-file 所在的文件删除,重新启动redis-server及运行redis-trib即可。

2:
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/bin/redis-trib.rb:25:in `<main>'

碰到这个问题我们需要通过gem在ruby中安装redis软件包
gem install redis(Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包,非常的便捷。)

3:

gem list
gem uninstall redis --version 3.3.2
gem install redis --version 3.0.0
gem list

检查ruby中的redis版本是不是和你的redis版本一致

4:

redis集群搭建好以后测试集群是否成功,



下面是在linux中安装ruby的方式:(由于linux的集群启动需要通过redis-trib.rb启动)注意redis集群需要redis的版本在3.0+以上版本
yum -y install ruby ruby-devel rubygems rpm-build
使用ruby -v查看发现版本是2.0.0,还是搭建redis集群
ruby -v
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
暂时没有查到如何直接升级,只能使用源码包方式进行安装
1.下载源码包
wget https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.7.tar.gz
下载失败提示Unable to establish SSL connection.
curl -O -L https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.7.tar.gz
2.解压并编译安装
tar xf ruby-2.2.7.tar.gz
cd ruby-2.2.7
./configure --prefix=/usr/local/ruby-2.2.7
make && make install
3.创建快捷键
需要先删除旧的快捷方式重新创建
ln -s /usr/local/ruby-2.2.7/bin/ruby /usr/bin/ruby
ruby -v
ruby 2.2.7p470 (2017-03-28 revision 58194) [x86_64-linux]

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!