redis集群为啥要ruby
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis集群为啥要ruby相关的知识,希望对你有一定的参考价值。
因为在redis/src中有一个文件叫做redis-trib.rb,这个文件就是作者用Ruby写的,用来搭建redis集群(redis3.0版本时才开始支持集群),redis-trib.rb的后缀就是Ruby的简写,所以想要搭建redis集群需要有一个能执行.rb这种文件的运行环境,这个环境就是Ruby。 参考技术A 安装redis集群需要版本号在3.0以上redis-cluster安装前需要安装ruby环境
搭建集群需要使用到官方提供的ruby脚本。
需要安装ruby的环境。
yum -y install ruby
yum -y install rubygems
redis集群管理工具redis-trib.rb
[root@bogon ~]# cd redis-3.0.0
[root@bogon redis-3.0.0]# cd src
[root@bogon src]# ll *.rb
-rwxrwxr-x.1 root root 48141 Apr 1 07:01 redis-trib.rb
脚本需要的ruby包:redis-3.0.0.gem
安装 gem install redis-3.0.0.gem
[root@bogon ~]# gem install redis-3.0.0.gem
Successfully installed redis-3.0.0
1 gem installed
Installing ri documentation forredis-3.0.0...
Installing RDoc documentation forredis-3.0.0...
集群的搭建
需求,创建6台redis服务器,虚拟机模拟端口号为7001-7006
第二步:修改redis的配置文件
1、修改端口号
第三步:把创建集群的ruby脚本复制到redis-cluster目录下。
第四步:启动6个redis实例
第五步:创建集群。本回答被提问者采纳
redis集群的ruby环境
redis-4.0.3.gem 下载 https://rubygems.org/gems/redis/
按照视频在这个地方出错:
[root@lx opt]# gem install redis-4.0.11 ERROR: Could not find a valid gem \'redis-4.0.11\' (>= 0) in any repository [root@lx opt]# gem install -l redis-4.0.3.gem ERROR: Error installing redis-4.0.3.gem: redis reuires Ruby version >= 2.2.2. [root@lx opt]# rvm list known -bash: rvm: command not found [root@lx opt]# ruby --version ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
百度了一下,说Ruby的版本低,可以安装 rvm 管理 ruby
接下来安装rvm:
官网 : http://rvm.io/
执行命令:
[root@lx opt]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB gpg: 已创建目录‘/root/.gnupg’ gpg: 新的配置文件‘/root/.gnupg/gpg.conf’已建立 gpg: 警告:在‘/root/.gnupg/gpg.conf’里的选项于此次运行期间未被使用 gpg: 钥匙环‘/root/.gnupg/secring.gpg’已建立 gpg: 钥匙环‘/root/.gnupg/pubring.gpg’已建立 gpg: 下载密钥‘D39DC0E3’,从 hkp 服务器 hkp: gpg: 下载密钥‘39499BDB’,从 hkp 服务器 hkp: gpgkeys: HTTP fetch error 6: Couldn\'t resolve host \'hkp:\'
[root@lx opt]# \\curl -sSL https://get.rvm.io | bash -s stable Downloading https://github.com/rvm/rvm/archive/1.29.4.tar.gz Downloading https://github.com/rvm/rvm/releases/download/1.29.4/1.29.4.tar.gz.asc gpg: 于 2018年07月02日 星期一 03时41分26秒 CST 创建的签名,使用 RSA,钥匙号 BF04FF17 gpg: 无法检查签名:No public key Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found. Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).
这个地方命令粘错,报错了, 我没看到
于是执行了:
[root@lx opt]# rvm remove 1.8.7 -bash: rvm: command not found [root@lx opt]# source /usr/local/rvm/scripts/rvm -bash: /usr/local/rvm/scripts/rvm: 没有那个文件或目录
去/usr/local/rvm 里面看了看 没有 scripts/rvm 这个东西
往上翻了翻 才发现命令执行错误
于是重新执行了 那两个安装rvm的命令
[root@lx rvm]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB gpg: 下载密钥‘D39DC0E3’,从 hkp 服务器 keys.gnupg.net gpg: 下载密钥‘39499BDB’,从 hkp 服务器 keys.gnupg.net gpg: /root/.gnupg/trustdb.gpg:建立了信任度数据库 gpg: 密钥 D39DC0E3:公钥“Michal Papis (RVM signing) <mpapis@gmail.com>”已导入 gpg: 密钥 D39DC0E3:公钥“Totally Legit Signing Key <mallory@example.org>”已导入 gpg: 密钥 39499BDB:公钥“Piotr Kuczynski <piotr.kuczynski@gmail.com>”已导入 gpg: 没有找到任何绝对信任的密钥 gpg: 合计被处理的数量:3 gpg: 已导入:3 (RSA: 3)
[root@lx rvm]# curl -sSL https://get.rvm.io | bash -s stable Downloading https://github.com/rvm/rvm/archive/1.29.4.tar.gz Downloading https://github.com/rvm/rvm/releases/download/1.29.4/1.29.4.tar.gz.asc gpg: 于 2018年07月02日 星期一 03时41分26秒 CST 创建的签名,使用 RSA,钥匙号 BF04FF17 gpg: 完好的签名,来自于“Michal Papis (RVM signing) <mpapis@gmail.com>” gpg: 亦即“Michal Papis <michal.papis@toptal.com>” gpg: 亦即“[jpeg image of size 5015]” gpg: 警告:这把密钥未经受信任的签名认证! gpg: 没有证据表明这个签名属于它所声称的持有者。 主钥指纹: 409B 6B17 96C2 7546 2A17 0311 3804 BB82 D39D C0E3 子钥指纹: 62C9 E5F4 DA30 0D94 AC36 166B E206 C29F BF04 FF17 GPG verified \'/usr/local/rvm/archives/rvm-1.29.4.tgz\'
这时候我想把旧版本的ruby直接卸载
[root@lx rvm]# ruby -v ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] [root@lx rvm]# rvm remove 1.8.7 awk: 命令行:1: 致命错误: 无法以读模式打开文件“/usr/local/rvm/config/alias”(没有那个文件或目录) ruby-1.8.7-head - #already gone Now using system ruby. [root@lx rvm]# ruby -v ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
又报错了 然后又百度百度 也没找到答案 发现很多遇到这问题的都是先安装 切换 再卸载的
于是我就安装的了最新版的Ruby
[root@lx config]# rvm install 2.5.3 Searching for binary rubies, this might take some time. No binary rubies available for: centos/6/x86_64/ruby-2.5.3. Continuing with compilation. Please read \'rvm help mount\' to get more information on binary rubies. Checking requirements for centos.
这里只是截取了一部分,而且执行时间有点长
然后切换 卸载一气呵成
[root@lx config]# rvm use 2.5.3 Using /usr/local/rvm/gems/ruby-2.5.3 [root@lx config]# rvm remove 1.8.7 ruby-1.8.7-head - #already gone Using /usr/local/rvm/gems/ruby-2.5.3 [root@lx config]# ruby -v ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
执行还是报错
[root@lx config]# gem install redis-4.0.11 ERROR: Could not find a valid gem \'redis-4.0.11\' (>= 0) in any repository
然后查百度 安装
[root@lx opt]# gem install -l redis-4.0.3.gem Successfully installed redis-4.0.3 Parsing documentation for redis-4.0.3 Installing ri documentation for redis-4.0.3 Done installing documentation for redis after 0 seconds 1 gem installed
执行还是报错:
[root@lx opt]# gem install redis-4.0.11 ERROR: Could not find a valid gem \'redis-4.0.11\' (>= 0) in any repository
后来看百度 执行redis-3.0.0或者redis
于是:
[root@lx opt]# gem install redis Successfully installed redis-4.0.3 Parsing documentation for redis-4.0.3 Done installing documentation for redis after 0 seconds 1 gem installed
执行成功 才恍然大悟,redis后面的版本号是 redis-4.0.3.gem 的版本,不是你安装的redis的版本
踩坑固然痛苦,但是跳出坑的喜悦只有你自己知道。
以上是关于redis集群为啥要ruby的主要内容,如果未能解决你的问题,请参考以下文章