Reids Cluster集群部署

服务器端口说明

vim /etc/hosts

Reids Cluster集群部署

1.下载、解压、编译Redis

$ mkdir -p /opt/redis && cd /opt/redis
$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
$ tar xzf redis-6.0.6.tar.gz

请先检查gcc的版本是否低于5,如果是请先升级,可以使用以下命令:

gcc --version

Reids Cluster集群部署

执行如下代码进行更新

$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-7-gcc*
$ scl enable devtoolset-7 bash

若上面命令执行没有相关包则手动下载版本更新

yum install gcc -y
yum install gcc-c++ -y
yum install bzip2
cd /tmp
wget http://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
tar xvf gcc-7.5.0.tar.gz
cd gcc-7.5.0
./contrib/download_prerequisites (下载较慢,成功会有提示)
mkdir build
cd build/
../configure --prefix=/usr/local/gcc7 --enable-languages=c,c++,go --disable-multilib
make
make install
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /usr/local/gcc7/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /usr/local/gcc7/bin/g++ /usr/bin/g++

编译安装Redis

$ cd /opt/redis/redis-6.0.6/
$ make
$ make install PREFIX=/usr/local/redis #安装到指定目录中

2、启动服务

2.1 前台启动

简单的测试一下,单机安装就看看2.2,集群咱们直接跳过,看目录4,目录2.2和目录3都是给单机准备的,不做单独写了。

$ cd /usr/local/redis/bin/
$ ./redis-server

显示如下说明安装成功

Reids Cluster集群部署_第1张图片

2.2 后台启动(先别弄,单机可以用)

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

$ cp /opt/redis/redis-6.0.6/redis.conf /usr/local/redis/bin/

修改 redis.conf 文件,把 daemonize no 改为 daemonize yes

$ cd /usr/local/redis/bin/
$ vim redis.conf

Reids Cluster集群部署_第2张图片

$ ./redis-server redis.conf

如下启动成功

Reids Cluster集群部署

3、设置开机启动(下面要配置集群,这一步先别做)单机单应用推荐使用

添加开机启动服务

[root@localhost bin]# vi /etc/systemd/system/redis.service

复制粘贴以下内容:

[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target

设置开机启动

[root@localhost bin]# systemctl daemon-reload
[root@localhost bin]# systemctl start redis.service
[root@localhost bin]# systemctl enable redis.service
# 创建 redis 命令软链接
[root@localhost ~]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
#测试 redis
[root@localhost ~]#  redis

Reids Cluster集群部署

服务操作命令

systemctl start redis.service   #启动redis服务
systemctl stop redis.service   #停止redis服务
systemctl restart redis.service   #重新启动服务
systemctl status redis.service   #查看服务当前状态
systemctl enable redis.service   #设置开机自启动
systemctl disable redis.service   #停止开机自启动

4.集群部署前的准备

1.复制redis_init_script,重命名为redis_7001
$ cp /opt/redis/redis-6.0.6/utils/redis_init_script /etc/init.d/redis_7001
2.创建两个文件夹
$ mkdir -p /etc/redis(存放redis的配置文件)
$ mkdir -p /var/redis/7001(存放redis的持久化文件)
$ mkdir -p /var/log/redis (存放redis的日志文件)
3.修改redis_7001配置文件
   3.1 redis_7001端口号,修改redis_7001脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379,设置为7001)
   3.2 修改安装目录执行文件路径
$ vim /etc/init.d/redis_7001

Reids Cluster集群部署_第3张图片

4.复制Redis.conf拷贝到/etc/redis目录中,修改名称为7001.conf

$ cp /opt/redis/redis-6.0.6/redis.conf /etc/redis/7001.conf
5.修改配置文件

$ vim /etc/redis/7001.conf
·port 7001
·cluster-enabled yes
·cluster-config-file /etc/redis/node-7001.conf(注意:这喵的不是配置文件地址,需要,这是节点配置文件,可以放在其他位置,但是不能写配置文件7001.conf)
·cluster-node-timeout 15000
·daemonize yes
·pidfile /var/run/redis_7001.pid
·dir /var/redis/7001
·logfile /var/log/redis/7001.log
·bind 0.0.0.0
·appendonly yes
6.启动redis,执行
$ cd /etc/init.d
$ chmod 777 redis_7001
$ ./redis_7001 start
7.最后在执行
chkconfig让节点主机重启直接启动
$  cd /etc/init.d/
$  chkconfig redis_7001 on

$  shutdown -r now   #重启检查
$ ps aux|grep redis

Reids Cluster集群部署

重复上面的步骤,分别做出6份配置文件:

7001.conf,7002.conf,7003.conf,7004.conf,7005.conf,7006.conf
redis_7001,redis_7002,redis_7003,redis_7004,redis_7005,redis_7006
分别重启后先检查下redis状态是不是6个服务都全部启动。

重要的事情说三遍

最后查看三台机器服务情况,添加开机启动重启验证
最后查看三台机器服务情况,添加开机启动重启验证
最后查看三台机器服务情况,添加开机启动重启验证

Reids Cluster集群部署

Reids Cluster集群部署

Reids Cluster集群部署

5.创建集群

redis 4.0集群部署

redis 4.0版本安装集群需要Ruby命令,因此我们需要安装下Ruby,在集群机器中随便找一台执行即可,直接通过yum安装的ruby版本太低,不能满足redis、fpm等软件的需求。我上面安装的是6.0版本,这里记录一下4.0版本安装的过程。

和我一起做安装6.0的小伙伴看这里 redis 6.0集群部署

我们安装最新的版本的ruby,下载地址 Download Ruby

#安装依赖包
$ yum -y install openssl-devel make  
$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-7-gcc*
$ scl enable devtoolset-7 bash
$ mkdir -p /opt/ruby && cd /opt/ruby
$ wget https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0.tar.gz
$ tar -zxvf ruby-3.0.0.tar.gz
$ cd ruby-3.0.0/
$ ./configure --prefix=/usr/local/ruby
$ make
$ make install
#添加环境变量
$ echo "PATH=$PATH:/usr/local/ruby/bin" >> /etc/bashrc
$ source /etc/bashrc
#替换gem源  
#这个我没有做这个源添加不上去
$ gem sources -l		#查看当前源
$ gem sources -a http://gems.ruby-china.com/      #增加源
$ gem sources --remove https://rubygems.org/      #删除原有源
$ cp /opt/redis/redis-6.0.6/src/redis-trib.rb /usr/local/bin/redis-trib.rb
$ cd /usr/local/bin/
$ redis-trib.rb create --replicas 1 192.168.32.128:7001 192.168.32.128:7002 192.168.32.129:7003 192.168.32.129:7004 192.168.32.130:7005 192.168.32.130:7006

redis 6.0集群部署

开始进行集群部署安装

6.0版本redis按照4.0配置的小伙伴看看这里
WARNING: redis-trib.rb is not longer available!  

今天安装redis centos7集群的时候 没有注意redis-trib.rb脚本的内容,使用时报上面的警告,原因是因为redis5.0以后使用redis-cli作为创建集群的命令,使用c语言实现,不再使用ruby语言。所以上面的ruby可能是不需要了

使用下面命令创建集群
$cd /opt/redis/redis-6.0.6/src
$ ./redis-cli --cluster create 192.168.32.128:7001 192.168.32.128:7002 192.168.32.129:7003 192.168.32.129:7004 192.168.32.130:7005 192.168.32.130:7006 --cluster-replicas 1

Reids Cluster集群部署_第4张图片

连接到任一一个节点上面使用命令查看集群信息

/usr/local/redis/bin/redis-cli -h 192.168.32.130 -p 7005 -c

cluster info
cluster nodes
如下展示配置成功,收工回家

Reids Cluster集群部署_第5张图片

新增master节点

Reids Cluster集群部署_第6张图片

我们可以使用add-node命令为Redis Cluster新增master节点,可以看到我们增加的是6679节点,新增成功后,并不会为任何slot提供服务。

新增slave节点

Reids Cluster集群部署_第7张图片

我们也可以用add-node命令新增slave节点,只不过需要加上–cluster-slave参数,并且使用–cluster-master-id指明新增的slave属于哪个master。

你可能感兴趣的:(redis,数据库)