linux redis-trib.rb,redis集群配置 执行 redis-trib.rb 报错解决方法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要删除 Redis 集群,您可以通过以下步骤使用 redis-trib.rb 工具: 1. 连接到 Redis 集群中的任何一个节点。 2. 运行以下命令来删除所有节点:`redis-trib.rb del-node <node-id>`。其中 `<node-id>` 是要删除的节点的 ID。 3. 重复步骤 2,直到所有节点都被删除。 4. 运行以下命令来关闭 redis-trib.rb 工具:`exit`。 请注意,删除 Redis 集群将永久删除所有数据。在执行此操作之前,请确保已经备份了所有数据,并且已经通知了系统管理员或其他相关人员。 ### 回答2: 要使用redis-trib.rb删除redis集群,需要按照以下步骤进行操作: 首先,确保您已经安装了Redis的Ruby客户端,并且可以从命令行访问redis-trib.rb工具。如果您没有安装该工具,请先下载并安装它。 接下来,打开终端并输入以下命令: redis-trib.rb del-node <集群主节点IP地址>:<集群主节点端口号> <要删除的节点ID> 其中,集群主节点IP地址是您要删除节点所在的主节点的IP地址,集群主节点端口号是该主节点上运行的Redis实例的端口号,要删除的节点ID是您要删除的节点的ID。 执行上述命令后,Redis集群执行以下操作: 1. 将正在进行中的集群分片计算任务停止,并且从所有的集群节点上移除这个节点。 2. 对于被删除的节点,集群会将它的所有数据从集群中删除。请注意,这会导致被删除节点上的所有数据永久丢失,请在执行此操作前确保您已经备份了这些数据。 3. 当所有节点已经删除该节点的信息后,集群会自动重新分配一个新的主节点来接管该节点的角色。 需要注意的是,删除节点可能会导致数据的丢失,因此在执行此操作之前,请确保您已经备份了所有重要的数据。 ### 回答3: 使用redis-trib.rb工具可以轻松地删除Redis集群。以下是删除Redis集群的步骤: 1. 首先,确保您已经安装了Ruby环境和Redis-trib.rb工具。如果没有安装Ruby,请先安装Ruby环境。 2. 打开终端并运行以下命令安装Redis-trib.rb工具: ``` gem install redis-trib ``` 3. 确保Redis集群正在运行。您可以使用以下命令检查Redis集群的状态: ``` redis-cli cluster info ``` 4. 确保您有一个Redis集群的主节点的地址和端口。您可以使用以下命令获取主节点的信息: ``` redis-cli cluster nodes | grep master ``` 5. 然后,使用以下命令删除Redis集群: ``` redis-trib.rb del-node <主节点地址:端口> <要删除的节点ID> ``` 在这里,主节点地址和端口是从步骤4中获取的信息,要删除的节点ID可以从以下命令中获取: ``` redis-trib.rb info <任意主节点地址:端口> ``` 这个命令将列出集群中的所有节点信息,包括节点ID。 6. 删除节点后,您可以使用以下命令来检查集群的状态并确保节点已被正确删除: ``` redis-cli cluster info ``` 您会看到Redis集群的状态信息,并确认节点已经被删除。 请注意,删除Redis集群节点后,集群的数据可能会受到影响。因此,在进行此操作之前,请确保您已经备份了数据,并且明确了您希望达到的最终结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值