redis-trib创建redis集群遇到的问题

使用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压缩包安装

参见 centos7/rhel7下安装redis4.0集群

 

方法三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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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集群,需要按照以下步骤进行操作: 首先,确保您已经安装了RedisRuby客户端,并且可以从命令行访问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、付费专栏及课程。

余额充值