Redis之集群redis-trib.rb环境的搭建

前面已经准备好了搭建集群的redis节点,接下来我们要把这些节点都串连起来搭建集群。官方提供了一个工具:redis-trib.rb(/usr/local/redis-x.x.1/src/redis-trib.rb) 看后缀就知道这鸟东西不能直接执行,它是用ruby写的一个程序,所以我们还得安装ruby.安装完ruby后,需要安装zlib依赖,修改gem源配置。最后执行gem install redis 安装redis接口。

1、安装ruby的执行环境

通过yum来自动安装的方式不好用,因为安装的版本比较低,集群的时候用不了,会报 redis requires Ruby version >= 2.2.2.的错

#安装ruby的执行环境
#yum -y install ruby ruby-devel rubygems rpm-build
#这种方式不推荐,因为安装的ruby版本不对所以这是不正确的

1.1下载ruby

#这个下载太慢了
wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.gz

#这个是我存在七牛的
wget http://yellowcong.qiniudn.com/ruby-2.4.2.tar.gz

1.2编译安装

编译的时候,需要提前安装好依赖的环境,安装完成后,需要配置环境变量

#安装编译包
yum -y install gcc gcc-c++ autoconf automake make

#解压
tar -zxvf ruby-2.4.2.tar.gz 

#配置,将ruby安装到/usr/local目录
./configure --prefix=/usr/local/ruby-2.4.2

#编译安装,需要注意的是是否有gcc等一些编译包
make && make install 

这里写图片描述

1.3配置环境变量


#建立软连接,或则添加环境变量
#ln -s /usr/local/ruby-2.4.2/bin/ruby /usr/bin/ruby

#编辑环境变量,这种方法可以一次解决/usr/local/ruby-2.4.2/bin 的所有需要软连接的程序
vim /etc/profile
export RUBY_BIN=/usr/local/ruby-2.4.2/bin
export PATH=$PATH:$RUBY_BIN
#让修改的的环境变量生效
source /etc/profile

#查看版本
rbuy -v

安装完成后,/usr/local目录有ruby-2.4.2,建立软连接后,查看版本信息成功

这里写图片描述

2、ruby的zlib依赖安装

2.1安装zib

#先安装 zlib的工具包
yum install zlib

#安装完zlib后,再安装zlib-devel,它两是有依赖关系的
yum install zlib-devel

#到ext的zlib目录下
cd /usr/local/ruby/ruby-2.4.2/ext/zlib

#配置环境
ruby extconf.rb

#编译并安装
make && make install

ruby extconf.rb 执行后,可以看到都是yes,表示成功解决zlib依赖问题

这里写图片描述

2.2修改Makefile文件

#修改编译后的文件,因为编译报错,找不到ruby.h文件,需要修改Makefile文件
vim Makefile
#修改zlib.o路径
zlib.o: $(top_srcdir)/include/ruby.h 改成:zlib.o: ../../include/ruby.h

make && make instal

原来路径 
这里写图片描述

更改后的路径 
这里写图片描述

编译成功

这里写图片描述

3、ruby的gem源修改

源需要改成http协议,不然还得装openssl来解决https协议问题,需要删除原来的https的源,更改为国内的源。

#查看gem的源
gem source -l  

#删除https的协议,添加中国的源
#-add 添加一个源
#--remove 删除一个源
gem sources --add http://gems.ruby-china.org/  --remove https://rubygems.org/

这里写图片描述

4、安装redis 接口

简单来说,相当于安装了redis-trib.rb执行所需要的依赖包,相当于java的jar包

gem install redis

安装成功 
这里写图片描述

问题合集

1 redis requires Ruby version >= 2.2.2.

这里写图片描述

ruby的版本号太低了,所导致的,可以看到我的版本是2.0的,所以装不上,需要安装ruby的高版本

这里写图片描述

2 cannot load such file – zlib

不能找到zlib类

#先安装 zlib的工具包
yum install zlib,zlib-devel

#到ext的zlib目录下
cd /usr/local/ruby/ruby-2.4.2/ext/zlib

#配置环境
ruby extconf.rb

#编译并安装
make && make install

这里写图片描述

编译成功后的效果

这里写图片描述

3 checking for deflateReset() in -lz… no

这是没有安装zliblg工具包所导致的

yum install zlib,zlib-devel

#查看配置,结果是no,就是表示依赖没有安装
ruby extconf.rb

这里写图片描述

安装完成后 
这里写图片描述

4 make: * No rule to make target /include/ruby.h', needed byzlib.o’. Stop.

#这个是ruby.h的路径,是没有找到,所以报错了
/usr/local/ruby/ruby-2.4.2/include/ruby.h

这里写图片描述

修改 zlib.o里面的ruby.h路径为
  • 这里写图片描述

更改后的效果 
这里写图片描述

5  Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

需要安装OpenSSL的依赖, 因为是https的协议,所以需要openssl,还有一种解决方案是 修改为http协议 
这里写图片描述

gem sources -a https://gems.ruby-china.org/ 把https地址改成 gem sources -a http://gems.ruby-china.org/

#-add 添加一个源
#--remove 删除一个源
gem sources --add http://gems.ruby-china.org/  --remove https://rubygems.org/

执行成功,查看gem source -l 镜像地址修改成功。 
这里写图片描述

再次执行:gem install redis成功。

猜你喜欢

转载自blog.csdn.net/sz_bdqn/article/details/80189510