离线安装redis-cluster集群

安装环境:
CentOS-7-x86_64-DVD-1804
win7系统
redis 4.0.14
redis-3.3.0.gem
ruby-2.3.1.tar
rubygems-2.7.6
tcl8.6.6-src.tar
集群模式: 3主3从集群模式
因为是搭建3主3从的集群,所以首先要做到集群之间的时钟同步。

1.安装NTP时间同步

1)准备3台服务器
3台服务器:【192.168.223.100】,【192.168.223.101】,【192.168.223.102】
2 )准备工作
三个节点都需要执行
首先安装ntp
#yum install ntp
离线安装redis-cluster集群
安装完毕之后,启动服务
#systemctl start ntpd.service
设置开机自启动
#systemctl enable ntpd.service
离线安装redis-cluster集群
离线安装redis-cluster集群离线安装redis-cluster集群
3 ) ntp服务端设置
第一台服务器192.168.223.100,作为ntpserver,将他设置为同步外网时间(ntpd服务开启默认就同步了)。
但是得设置允许内网网段可以连接它,将它作为内网的时间同步服务器,所以需要一个简单配置。
修改/etc/ntp.conf文件,添加如下信息,表示允许223网段来同步此服务器
vi /etc/ntp.conf
restrict 192.168.223.0 mask 255.255.255.0 #添加此行
离线安装redis-cluster集群
设置后,重启ntpd服务,用ntpstat来检查效果【大概几秒钟就可以看到效果】
#systemctl restart ntpd
#ntpstat
离线安装redis-cluster集群
第二台和第三台操作如下:
vi /etc/ntp.conf
离线安装redis-cluster集群
设置后,重启ntpd服务,用ntpstat来检查效果【大概需要等十五分钟,看到效果】
#systemctl restart ntpd
#ntpstat
离线安装redis-cluster集群

2.创建文件夹,用于存放软件

1)在/opt下创建software文件夹
离线安装redis-cluster集群解决中文乱码以及背景 Options ->Session Options
离线安装redis-cluster集群

3.分别连接三台服务器

把安装redis所需要的软件放入/opt/software文件夹下,三台都需要如此操作:
离线安装redis-cluster集群下载ruby-2.3.1并上传至服务器
https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
下载rubygems-2.7.6.tgz并上传至服务器
https://rubygems.org/rubygems/rubygems-2.7.6.tgz
下载redis的gem并上传至服务器
https://rubygems.org/downloads/redis-3.3.0.gem
下载tcl8并上传至服务器
https://sourceforge.net/projects/tcl/files/Tcl/8.6.6/
下载redis3.2.0并上传至服务器
http://download.redis.io/releases/redis-4.0.14.tar.gz
离线安装redis-cluster集群

4.离线安装

需要yum install -y zlib zlib-devel openssl openssl-devel gcc gcc-c++ 支持
第一步,安装ruby
解压tar包
$ tar zxf ruby-2.3.1.tar.gz
$ cd ruby-2.3.1
#配置并编译
$./configure --prefix=/usr/local/ruby
$ make && make install
#配置环境变量
vi /etc/profile
离线安装redis-cluster集群

$ 在末尾添加
PATH=$PATH:/usr/local/ruby/bin
$ source /etc/profile
$ ruby -v
离线安装redis-cluster集群

第二步,安装 rubygems
解压到/opt目录
$ tar zxf rubygems-2.7.6.tgz -C /opt
$ cd /opt/rubygems-2.7.6
#配置rubygem
$ ruby setup.rb #会将rubygems安装至上一步ruby的安装目录的lib目录下
#配置环境变量,使其支持gem命令
vi /etc/profile
在末尾加上 PATH=$PATH:/opt/rubygems-2.7.6/bin
$ source /etc/profile
#验证gem是否可以使用
$ gem -v
离线安装redis-cluster集群

第三步,配置rubygems的redisapi
gem install -l redis-3.3.0.gem
gem list redis
离线安装redis-cluster集群
第四步,安装tcl
#解压tcl8.6.6软件包
$ tar zxf tcl8.6.6-src.tar.gz
$ cd tcl8.6.6/unix
#配置并编译
$ ./configure --prefix=/usr/local/tcl
$ make && make install
$ make install-private-headers
配置环境软连接及环境变量使其支持tcl
$ ln -v -sf tclsh8.6 /usr/local/tcl/bin/tclsh
$ chmod -v 755 /usr/local/tcl/lib/libtcl8.6.so
vi /etc/profile
在文件末尾添加 PATH=$PATH:/usr/local/tcl/bin
$ source /etc/profile
第五步,安装redis
$ tar zxf redis-3.2.0.tar.gz -C /opt
$ cd /opt/redis-3.2.0/src
#make安装redis(如果不修改Makefile文件则默认安装/usr/local/bin下)
$ make
$ make install
#安装完成后会自动在/usr/local/bin下生成redis运行文件
#将集群控制脚本复制到/usr/local/bin下
$ cp /opt/redis-4.0.14/src/redis-trib.rb /usr/local/bin
第六步,编写redis配置文件并启动实例
1、在三台主机创建redis-cluster目录
#192.168.223.100
$ mkdir -p /etc/redis-cluster/{7000,7001}
#192.168.223.101
$ mkdir -p /etc/redis-cluster/{7002,7003}
#192.168.223.102
$ mkdir -p /etc/redis-cluster/{7004,7005}
2、对应各个实例创建redis.conf配置文件
#192.168.223.100
$ cd /etc/redis-cluster/7000
$ touch redis.conf
$ cat redis.conf
#redis后台运行
daemonize yes
#pidfile文件对应目录
pidfile /var/run/redis_7000.pid
#指定端口
port 7000
#绑定地址
bind 192.168.223.100
#开启集群 把注释#去掉
cluster-enabled yes
#集群的配置 配置文件首次启动会自动生成
cluster-config-file nodes_7000.conf
#请求超时 设置5秒够了
cluster-node-timeout 5000
#aof日志开启 有需要就开启,它会每次写操作都记录一条日志
appendonly yes
注:同样的操作需要进行6次,过程中替换端口和ip地址。
离线安装redis-cluster集群离线安装redis-cluster集群离线安装redis-cluster集群
2、启动redis实例
$redis-server /etc/redis-cluster/7000/redis.conf
$redis-server /etc/redis-cluster/7001/redis.conf
$ ps -ef | grep redis-server
离线安装redis-cluster集群
离线安装redis-cluster集群
离线安装redis-cluster集群

可编写redis服务启动脚本用server来管理
离线安装redis-cluster集群
同样的过程需要操作6次,分别是7000-7005
六、启动rediscluster集群
1、使用ruby自带的redis-trib.rb命令在192.168.223.100上构建
首先要关闭防火墙:
离线安装redis-cluster集群
/opt/redis-4.0.14/src/redis-trib.rb create --replicas 1 192.168.223.100:7000 192.168.223.100:7001 192.168.223.101:7002 192.168.223.101:7003 192.168.223.102:7004 192.168.223.102:7005

如果报错 查看虚拟机上的700n端口是否在运行
离线安装redis-cluster集群如果报错 查看虚拟机上的700n端口是否在运行 :
离线安装redis-cluster集群

5.验证

离线安装redis-cluster集群可以看到,通过redis客户端,可以成功连接到服务器:
离线安装redis-cluster集群