執行redis-trib.rb時遇到的問題

redis-trib.rb是Redis Cluster的一個經常使用工具。下面記錄了執行此命令時遇到的一系列錯誤。redis

[plain] view plaincopyprint?在CODE上查看代碼片派生到個人代碼片api

  1. 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  ruby

  2. /usr/bin/env: ruby: 沒有那個文件或目錄  bash

看來是ruby沒有安裝,因而執行:curl

[plain] view plaincopyprint?在CODE上查看代碼片派生到個人代碼片工具

  1. yum install -y ruby     //安裝ruby  ui

  2. 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  google

  3. redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)  url

  4.         from src/redis-trib.rb:24  spa

ruby安裝成功,可是rubygem沒有安裝,因此致使了上述錯誤,因而繼續:

[plain] view plaincopyprint?在CODE上查看代碼片派生到個人代碼片

  1. yum install -y rubygems     //安裝rubygem  

  2. 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  

  3. /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)  

  4.         from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'  

  5.         from src/redis-trib.rb:25  

rubygem安裝成功,可是新的錯誤又出現了。google了一下,發現是ruby版本過低了。yum安裝的版本是1.8.7,可是redis須要的是1.9.3或者更高,因而升級ruby版本到1.9.3.

[plain] view plaincopyprint?在CODE上查看代碼片派生到個人代碼片

  1. curl -L get.rvm.io | bash -s stable  

  2. source /etc/profile.d/rvm.sh        //安裝rvm  

  3. rvm install 1.9.3           //安裝ruby1.9.3  

  4. rvm use 1.9.3 --default         //設置ruby1.9.3爲默認的ruby,由於還安裝有1.8.3  

  5. gem install redis  

  6. ERROR:  Could not find a valid gem 'redis' (>= 0), here is why:  

  7.           Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Connection timed out - connect(2) (https://api.rubygems.org/latest_specs.4.8.gz)  

  8. ERROR:  Possible alternatives: redis  

又遇到新的錯誤了,看來是鏈接gem源出錯了,因而增長新的gem源:

[plain] view plaincopyprint?在CODE上查看代碼片派生到個人代碼片

  1. gem sources -a http://ruby.taobao.org/      //添加淘寶的gem源  

而後」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時,提示對此版本已經不提供支持了。

相關文章
相關標籤/搜索