登录
  • 欢迎访问悠扬的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站😉

Reids Cluster集群部署

Redis 悠扬 551次浏览 已收录 0个评论

服务器端口说明

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

编译安装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集群部署

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集群部署
$ ./redis-server redis.conf

如下启动成功

Reids Cluster集群部署

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

添加开机启动服务

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

复制粘贴以下内容:

[Unit]Description=redis-serverAfter=network.target
[Service]Type=forkingExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.confPrivateTmp=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集群部署
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,下载地址 http://www.ruby-lang.org/en/downloads/

#安装依赖包
$ 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集群部署

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

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

cluster info
cluster nodes
如下展示配置成功,收工回家
Reids Cluster集群部署

新增master节点

Reids Cluster集群部署

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

新增slave节点

Reids Cluster集群部署

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


版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Reids Cluster集群部署
喜欢 (0)
支付宝[]
分享 (0)
悠扬
关于作者:
10年以上工作经验,从事2年微服务架构搭建工作,有大数据处理相关工作经验,使用spring全家桶包括:Spring,SpringBoot,SpringCloud 数据层组件服务使用SpringDataJpa,Mybatis以及其他第三方组件Sharding-JDBC,Sharding-Proxy分库分表。熟悉微服务,服务降级,限流,分流,做过项目源码修改,有cat,apollo,nacos使用经验,有Lostash,Elasticsearch,kibana,mysqlMHA生产实践经验,使用开源代码Apache Sarding项目,修改源码支持mysql分库分表使用年月日小时分库分表,docker做集群服务,Jekins做项目发布,GitLab做项目管理,使用docker容器部署,熟悉消息队列RabbitMQ,Kafka,ActiveMQ。RuoYi-Vue-Atomikos项目开源加入生态圈组件,项目支持分布式事务,界面添加多数据源,数据源动态配置,切面切换,多数据源事务支持,支持区域数据源配置,用于区域数据切分,数据层次分库。项目地址:https://gitee.com/zsiyang/ruoyi-vue-atomikos
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址