使用redis-trib.rb创建redis集群以下的几个问题 创建命令如下
./src/redis-trib.rb create --replicas 0 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381
问题一:/usr/bin/env: ruby: No such file or directory
没有安装ruby,解决办法:安装ruby,输入命令:
yum install ruby
查看是否安装成功,查看版本:ruby --v
注:通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,
redis官方给的工具:redis-trib.rb 这个工具构建redis集群的时候,报错了:
“redis requires Ruby version >= 2.2.2”
因此ruby的高版本的安装方法如下:
①添加yum源安装:CentOS SCLo Software collections Repository(简单快捷)
②下载tar压缩包安装(略微繁琐)
③RVM(Ruby Version Manager)安装(相对官方)
具体操作:
方法一:换yum源安装
~]# yum install centos-release-scl-rh //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
~]# yum install rh-ruby23 -y //直接yum安装即可
~]# scl enable rh-ruby23 bash //必要一步
~]# ruby -v //查看安装版本
~]# gem install redis
然后,redis-trib.rb这个二进制文件就可以使用了,用来构建redis集群,相关内容可以参考之前的文章,见方法二
方法二:下载tar压缩包安装
方法三:RVM 安装
先执行一条官方 https://rvm.io/ 复制来的长命令(...C0E3空格7D2B...):
~]#gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
可能会等待十几秒时间,然后执行下面命令:
~]# \curl -sSL https://get.rvm.io | bash -s stable
~]# source /etc/profile.d/rvm.sh //按照提示,执行该命令
~]# rvm list known // list一下可以安装的版本
~]# rvm install 2.4.1 // 安装ruby 2.4.1 ,直接跟版本号即可
~]# ruby -v //查看验证下已经安装的版本
~]# gem -v
至此,ruby安装完成了。
问题二:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
这是ruby的redis接口没有安装,需要安装redis接口,输入命令:
gem install redis
安装接口可能遇到以下问题
Fetching: redis-4.0.3.gem (100%)
ERROR: Error installing redis:
redis requires Ruby version >= 2.2.2.
提示ruby版本太低,安装redis接口需要ruby版本>=2.2.2的,需要升级ruby版本。先要安装rvm工具,这是一个用来管理ruby版本的命令行工具,使用curl来安装rvm,输入curl -L get.rvm.io | bash -s stable,参照上面方法三。
问题三:redis-trib.rb create --replicas 1 139.159.141.107:6381 139.159.141.107:6382 139.159.141.107:6383 139.159.141.107:6384 139.159.141.107:6385 139.159.141.107:6386,时报错:redis-trib.rb: command not found.
解决方法:1.要在redis-trib.rb所在得文件目录下运行该命令;
2.要再命令前加上./,例如:./redis-trib.rb create --replicas 1 139.159.141.107:6381 139.159.141.107:6382 139.159.141.107:6383 139.159.141.107:6384 139.159.141.107:6385 139.159.141.107:6386
问题四:./redis-trib.rb check 139.159.141.107:6381 Sorry, can't connect to node 139.159.141.107:6381