离线安装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集群_第1张图片
安装完毕之后,启动服务

# systemctl start ntpd.service

设置开机自启动

# systemctl enable ntpd.service

离线安装redis-cluster集群_第2张图片
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集群_第3张图片
设置后,重启ntpd服务,用ntpstat来检查效果【大概几秒钟就可以看到效果】

# systemctl restart ntpd
# ntpstat   

在这里插入图片描述
第二台和第三台操作如下:

 # vi /etc/ntp.conf

离线安装redis-cluster集群_第4张图片
设置后,重启ntpd服务,用ntpstat来检查效果【大概需要等十五分钟,看到效果】

# systemctl restart ntpd
# ntpstat

在这里插入图片描述

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

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

3.分别连接三台服务器

把安装redis所需要的软件放入/opt/software文件夹下,三台都需要如此操作:
离线安装redis-cluster集群_第7张图片
下载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集群_第8张图片

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 

在这里插入图片描述
在末尾添加

# PATH=$PATH:/usr/local/ruby/bin

#使文件生效

# source /etc/profile
# ruby -v

在这里插入图片描述

第二步,安装 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集群_第9张图片
第三步,配置rubygems的redisapi

# gem install -l redis-3.3.0.gem
# gem list redis

离线安装redis-cluster集群_第10张图片
第四步,安装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集群_第11张图片离线安装redis-cluster集群_第12张图片离线安装redis-cluster集群_第13张图片
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集群_第14张图片
离线安装redis-cluster集群_第15张图片
离线安装redis-cluster集群_第16张图片
可编写redis服务启动脚本用server来管理

# 
$ vim /etc/init.d/redis-7000
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database
 
export PATH=$PATH:/usr/local/bin/
 
REDISPORT=7000
PIDFILE=/var/run/redis_$REDISPORT.pid
CONF="/etc/redis-cluster/$REDISPORT/redis.conf"
 
case "$1" in
    status)
    if [ ! -f $PIDFILE ]
    then
        echo "Redis stopped..."
    else
        ps -ef | grep redis-server | grep $REDISPORT
    fi
    ;;
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                redis-server $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                ps -ef | grep redis-server | grep $REDISPORT | awk '{print $2}' | xargs kill
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    restart|force-reload)
        ${0} stop
        ${0} start
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac
# chkconfig --add redis-7000
# chkconfig redis-7000 on

离线安装redis-cluster集群_第17张图片
同样的过程需要操作6次,分别是7000-7005
六、启动rediscluster集群
1、使用ruby自带的redis-trib.rb命令在192.168.223.100上构建
首先要关闭防火墙:
离线安装redis-cluster集群_第18张图片

/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集群_第19张图片
如果报错 查看虚拟机上的700n端口是否在运行 :
在这里插入图片描述

5.验证

离线安装redis-cluster集群_第20张图片可以看到,通过redis客户端,可以成功连接到服务器:
离线安装redis-cluster集群_第21张图片

你可能感兴趣的:(高可用(集群))