edis-trib.rb是Redis Cluster的一个常用工具。下面记录了执行此命令时遇到的一系列错误。

redis-trib.rb create --replicas 1  127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.1:7383 127.0.0.1:7384 /usr/bin/env: ruby: 没有那个文件或目录

看来是ruby没有安装,于是执行:

1.yum install -y ruby		//安装ruby redis-trib.rb create --replicas 1  127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.1:7383 127.0.0.1:7384 redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)         from src/redis-trib.rb:24

ruby安装成功,但是rubygem没有安装,所以导致了上述错误,于是继续:

2.yum install -y rubygems		//安装rubygem redis-trib.rb create --replicas 1  127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.1:7383 127.0.0.1:7384 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)         from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'         from src/redis-trib.rb:25

rubygem安装成功,但是新的错误又出现了。google了一下,发现是ruby版本太低了。yum安装的版本是1.8.7,但是redis需要的是1.9.3或者更高,于是升级ruby版本到1.9.3.

curl -L get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh		//安装rvm rvm install 1.9.3			//安装ruby1.9.3 rvm use 1.9.3 --default			//设置ruby1.9.3为默认的ruby,因为还安装有1.8.3 gem install redis ERROR:  Could not find a valid gem 'redis' (>= 0), here is why:           Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Connection timed out - connect(2) (https://api.rubygems.org/latest_specs.4.8.gz) ERROR:  Possible alternatives: redis

又遇到新的错误了,看来是连接gem源出错了,于是增加新的gem源:

3.gem sources -a https://gems.ruby-china.org/

然后”gem install redis“执行成功,之后的”redis-trib.rb create ……“也ok了。

BTW:其实ruby1.8.7也支持redis-trib.rb,也就是说在ruby1.8.7上执行”redis-trib.rb create ……“时出现的错误是由于没有安装针对redis的gem包,所以只要成功执行”gem install redis”即可。不过不建议使用ruby1.8.7,因为这个版本有点老了,使用rvm安装ruby1.8.7时,提示对此版本已经不提供支持了。

 

 

很多时候,在安装gem的过程中会出现找不到资源的error,我们需要从另外一个gem服务器下载安装。
安装redis3.0.3 命令 wget http://download.redis.io/releases/redis-3.0.3.tar.gz
通过gem sources命令配置源,或通过修改Gemfile中的source语句可以实现。
常用的源
http://rubygems.org/
http://gems.github.com
http://gems.rubyforge.org
https://gems.ruby-china.org/ (适合国内)
显示当前使用的sources
gem sources添加一个source
gem sources -a url地址删除一个source
gem sources -r url地址

更新source cache
gem sources -u

Redis Cluster 参考资料:http://blog.csdn.net/liqfyiyi/article/details/50894020

Linux使用lsyncd实现2个文件夹实时同步

官方文档: https://axkibe.github.io/lsyncd/download/ 1.安装 $ yum install lsyncd $ yum install rsync $ yum install libtermcap-devel ncurses-devel l...

阅读全文

firewall 防火墙常用命令

查看版本 $ firewall-cmd --version 0.4.3.3 help $ firewall-cmd --help 状态 $ firewall-cmd --state running 重载配置 $ firewall-cmd --reload 重新加载...

阅读全文

修改linux centos系统默认时区

方法一 先安装ntpdate: yum install -y ntpdate 再选择一个时间服务器来更新时间: ntpdate time.windows.com 恢复系统时间为utc时间 ln -sf /usr/share/zo...

阅读全文

欢迎留言