Redis安装部署
到Redis官网(https://redis.io/download)下载Redis,现在最新的版本为:4.0.2,将下载好的压缩包上传到服务器当中。目录如下:
解压包,执行如下指令:
cd/mnt/redis/;
tar -zxvfredis-4.0.2.tar.gz;
安装redis,执行如下指令:
cdredis-4.0.2;
make && make install;
检验安装是否成功,执行如下执行:
maketest;
如果报如下错误:
则说tcl版本过低,需要升级,执行如下指令:
wgethttp://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz;
sudo tarxzvf tcl8.6.1-src.tar.gz -C /usr/local/;
cd /usr/local/tcl8.6.1/unix/;
sudo./configure;
sudo make;
sudo makeinstall;
启动redis,执行如下指令:
cd/mnt/redis/redis-4.0.2/src/;
./redis-server&;
启动成功界面如下图:
创建集群目录,执行如下指令:
cd /mnt;
mkdirredis-cluster;
cdredis-cluster/;
mkdir7000 7001 7002 7003 7004 7005;
说明:创建6个节点的Redis作为集群,所以我们需要创建6个文件夹,分别存放6个节点的配置信息,6个节点需要对应6个端口号,例如7000~7005,这个端口号我们自行定义。
将单机部署中安装好的redis文件夹拷贝到redis-cluster,并授权,执行命令如下:
cp../redis/redis-4.0.2/ ./ -R;
chmod 755redis-4.0.2/ -R;
创建完成后的目录如下图:
配置redis.conf文件,这个可以从redis安装文件夹中拷贝,然后根据需要进行修改,也可以直接新建一个redis.conf文件,把需要的配置写进去。这里我们采用自己新建一个redis.conf文件的方式,在7000到7005文件夹分别创建redis.conf文件,并将以下内容写入到文件中,注意不同redis节点的端口号不同,注意修改:
port 7000
cluster-enabledyes
cluster-config-filenodes.conf
cluster-node-timeout5000
appendonlyyes
分别将6个节点redis服务启动起来,执行命令如下:
cd/mnt/redis-cluster/7000/;
../redis-4.0.2/src/redis-serverredis.conf &;
cd/mnt/redis-cluster/7001/;
../redis-4.0.2/src/redis-serverredis.conf &;
cd/mnt/redis-cluster/7002/;
../redis-4.0.2/src/redis-serverredis.conf &;
cd/mnt/redis-cluster/7003/;
../redis-4.0.2/src/redis-serverredis.conf &;
cd/mnt/redis-cluster/7004/;
../redis-4.0.2/src/redis-serverredis.conf &;
cd/mnt/redis-cluster/7005/;
../redis-4.0.2/src/redis-serverredis.conf &;
启动成功界面如下:
说明:目前6个节点都已正常启动,但相互之间还没建立联系。
将6个节点联系起来,建立redis集群环境,如果执行成功,则部署结束,不再执行后面的步骤,执行指令如下:
cd/mnt/redis-cluster/redis-4.0.2/src/;
./redis-trib.rbcreate --replicas 1 XXXX:7000 XXXX:7001 XXXX:7002 XXXX:7003XXXX:7004 XXXX:7005;
注意:XXXX为服务器IP,本次部署机器IP为:172.31.3.159,所以XXXX应该配置为172.31.3.159。若此处配置为127.0.0.1,则用jedis客户端远程访问redis集群时,会出现访问被拒绝的错误。
说明:1)如果执行成功,界面如下:
输入yes:意思是服从这种主从分配方式,我们也可以通过配置文件自己指定slave。执行完成后界面如下:
2)如果出现以下错误,则说明没有ruby环境,需要安装ruby环境,执行步骤6:
3)如果出现以下错误,说明缺少redis和ruby的接口,使用gem 安装,执行步骤7:
安装ruby环境,可以使用以下两种方式安装,推荐方式二:
方式一:使用yum安装,执行如下指令:
yum install ruby
方式二:去ruby官网https://www.ruby-lang.org/en/downloads/下载稳定版本,本次安装下载的是ruby-2.4.2版本,将下载好的软件上传到服务器上,截图如下:
上传完成后,开始安装ruby,执行指令如下:
cd /mnt/;
tar -zxvfruby-2.4.2.tar.gz;
cdruby-2.4.2;
./configure;
make&& make install;
说明:Ruby安装完成后,继续执行步骤5中指令。
安装redis库,执行如下指令:
geminstall redis
说明:1)如果执行成功,则出现以下界面:
2)如果出现以下错误,说明缺少zlib-devel,需要安装zlib-devel,安装说明见步骤8:
3)如果出现以下错误,说明缺少openssl,需要安装openssl,安装说明见步骤9:
安装zlib-devel环境,可以使用以下两种方式安装,推荐方式二:
方式一:使用yum安装,执行如下指令:
yum install zlib-devel
方式二:去zlib-devel官网https://pkgs.org/download/zlib-devel下载稳定版本,本次安装下载的是zlib-devel-1.2.3-29.el6.x86_64.rpm版本,将下载好的软件上传到服务器上,截图如下:
上传完成后,开始安装zlib-devel,执行指令如下:
cd /mnt/;
rpm -ivhzlib-devel-1.2.3-29.el6.x86_64.rpm;
cd/mnt/ruby-2.4.2/ext/zlib/;
rubyextconf.rb ;
make;
makeinstall;
说明:1)如果执行成功,出现以下界面,则继续执行步骤7中指令:
2)如果执行make过程中报如下错误:
则执行如下指令,执行完成后继续执行make指令:
sed -i's#$(top_srcdir)/include/ruby.h#../../include/ruby.h#g' Makefile
安装openssl环境,可以使用以下两种方式安装,推荐方式二:
方式一:使用yum安装,执行如下指令:
yum install openssl
方式二:去openssl官网https://www.openssl.org/source/下载稳定版本,本次安装下载的是openssl-1.1.0f.tar.gz版本,将下载好的软件上传到服务器上,截图如下:
上传完成后,开始安装openssl,执行指令如下:
cd /mnt/;
tar -xzvfopenssl-1.1.0f.tar.gz;
cd openssl-1.1.0f;
./config-fPIC --prefix=/usr/local/openssl enable-shared;
./config-t;
make&& make install;
cd/mnt/ruby-2.4.2/ext/openssl/;
rubyextconf.rb ;
make;
makeinstall;
说明:1)如果执行成功,出现以下界面,则继续执行步骤7中指令:
2)如果执行ruby extconf.rb过程中出现如下界面,则说明没有找到ssl.h,执行出错:
执行如下指令替代ruby extconf.rb,执行成功后继续执行后面的指令:
ruby extconf.rb--with-openssl-include=/usr/local/openssl/include/--with-openssl-lib=/usr/local/openssl/lib
3)如果执行make过程中报如下错误:
则执行如下指令,执行完成后继续执行make指令:
sed -i's#$(top_srcdir)/include/ruby.h#../../include/ruby.h#g' Makefile
按照2.1中安装步骤安装完redis集群后,现对其进行测试:
1)查看Redis集群状态,端口可以指定集群中任意一个端口,执行如下指令:
cd /mnt/redis-cluster/redis-4.0.2/src/;
./redis-cli -p 7000 cluster nodes;
执行结果如下:
2)测试集群中的数据插入及获取,执行如下指令:
cd /mnt/redis-cluster/redis-4.0.2/src/;
./redis-cli -p 7001 -c;
说明:-h+host -p+端口号-c是要连接集群,注意-c必须加,否则会报错。端口可以指定集群中任意一个端口。
测试结果如下: