linux centos7.8 安装redis缓存服务器 集群版

linux centos7.8 安装redis缓存服务器 集群版

在处理高并发的时候,最大的问题就是数据库的压力,其中一种做法就是搭建一个独立的redis缓存服务器。

工具

  • 系统:centos7.8
  • 版本:redis6.0.9
  • 神器:宝塔

前置条件

宝塔安装好:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

随后在宝塔中把redis安装上,无脑操作就不作解释了。

开始配置

通常宝塔安装的服务都会在/www/server/下面,找到redis文件夹。

创建集群目录,redis-cluster(不限制名称,按你们自己喜欢的就可以)
在这里插入图片描述

创建需要的节点,通常要是偶数,也就是一主有一从的做法,当然想有别的做法各位自己尝试。另外就是,这本身的目的并不是在一个服务器上搞一个集群就完事了,正常情况下是多个服务器进行互联集群,步骤都一样,只是在其他服务器做同一个操作而已。其次栗子是创建6个节点也就是3主3从(自动分配)。

在这里插入图片描述

对应6个端口,7001,7002,7003,7004,7005,7006。

下一步:回到上一层文件夹也就是redis文件夹找到redis.conf,当然如果你们的集群文件夹跟我不一样那就自己找找。

在这里插入图片描述
把这个文件拷到各个节点的文件夹中。

在这里插入图片描述

然后对各个节点的redis.conf进行修改。

protected-mode	no						  //关闭保护模式
port  7001                                //端口
daemonize    yes                          //redis后台运行
pidfile  /var/run/redis_7001.pid          //pidfile文件对应7001,7002,7003
appendonly  no                            //aof日志开启  有需要就开启,它会每次写操作都记录一条日志
cluster-enabled  yes                      //开启集群  把注释#去掉
cluster-config-file  nodes_7001.conf      //集群的配置  配置文件首次启动自动生成 7001,7002,7003,7004,7005,7006
cluster-node-timeout  5000                //请求超时  设置5秒够了
bind 192.168.1.2 127.0.0.1				  //192.168.1.2 == 你的外网ip 此处是雷 切记要做好映射 否则集群无法创建

做好配置后写一键启动脚本startall.sh(懒人必备),此处有一雷,绝对不要用宝塔创建空文件来编写脚本,宝塔创建的sh中回车是算一个字符的,也就是按照windows的回车来算一个代码,会直接导致脚本运行失败。所以直接vim创建,然后:wq退出到宝塔编辑就可以,当然觉得你们手速快的话就直接vim编辑就可以了。

/www/server/redis/src/redis-server ./7001/redis.conf
/www/server/redis/src/redis-server ./7002/redis.conf
/www/server/redis/src/redis-server ./7003/redis.conf
/www/server/redis/src/redis-server ./7004/redis.conf
/www/server/redis/src/redis-server ./7005/redis.conf
/www/server/redis/src/redis-server ./7006/redis.conf
/www/server/redis/src/redis-server ../redis.conf

其中最后一行是关闭6379也就是单机版的redis,说白了还是懒,要关一起关要开一起开。

然后编辑一键关闭脚本shutdownall.sh,一个道理,vim创建。

redis-cli -h 127.0.0.1 -p 7001 shutdown
redis-cli -h 127.0.0.1 -p 7002 shutdown
redis-cli -h 127.0.0.1 -p 7003 shutdown
redis-cli -h 127.0.0.1 -p 7004 shutdown
redis-cli -h 127.0.0.1 -p 7005 shutdown
redis-cli -h 127.0.0.1 -p 7006 shutdown
redis-cli -h 127.0.0.1 -p 6379 shutdown

前面的bind已经将ip映射做好了,所以此处的ip直接就是127.0.0.1,而不是外网ip。

接下来就是startall.sh启动所有节点。

然后创建集群。

redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005  127.0.0.1:7006 --cluster-replicas 1

注意,5版本是个分水岭,这也是雷之一,5版本之前的创建集群方法是。

redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005  127.0.0.1:7006 

注意这里还是127.0.0.1,因为做了映射,用外网ip会创建失败,当然可能也只是我没成功,你们试试?

具体如下:

[root@VM-0-14-centos redis-cluster]# redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005  127.0.0.1:7006 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 127.0.0.1:7005 to 127.0.0.1:7001
Adding replica 127.0.0.1:7006 to 127.0.0.1:7002
Adding replica 127.0.0.1:7004 to 127.0.0.1:7003
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: 5a832ed146ddc2742a330e54543c8369d267936f 127.0.0.1:7001
   slots:[0-5460] (5461 slots) master
M: bea9198d32d2e863bda79ac1d474cfb9baf9ad1e 127.0.0.1:7002
   slots:[5461-10922] (5462 slots) master
M: e2aff10ce99a867e6e55751ebd0ee6e9328539d8 127.0.0.1:7003
   slots:[10923-16383] (5461 slots) master
S: ea277c2353fbabd871dbd663b3ead0b30cc0994d 127.0.0.1:7004
   replicates 5a832ed146ddc2742a330e54543c8369d267936f
S: c4cf78c158760b59b8417259aabc515df8b249e7 127.0.0.1:7005
   replicates bea9198d32d2e863bda79ac1d474cfb9baf9ad1e
S: e9ee2325a1d895c459e4fbaec15033dc5e4d40ba 127.0.0.1:7006
   replicates e2aff10ce99a867e6e55751ebd0ee6e9328539d8
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
.
>>> Performing Cluster Check (using node 127.0.0.1:7001)
M: 5a832ed146ddc2742a330e54543c8369d267936f 127.0.0.1:7001
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: bea9198d32d2e863bda79ac1d474cfb9baf9ad1e 127.0.0.1:7002
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
M: e2aff10ce99a867e6e55751ebd0ee6e9328539d8 127.0.0.1:7003
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: c4cf78c158760b59b8417259aabc515df8b249e7 127.0.0.1:7005
   slots: (0 slots) slave
   replicates bea9198d32d2e863bda79ac1d474cfb9baf9ad1e
S: ea277c2353fbabd871dbd663b3ead0b30cc0994d 127.0.0.1:7004
   slots: (0 slots) slave
   replicates 5a832ed146ddc2742a330e54543c8369d267936f
S: e9ee2325a1d895c459e4fbaec15033dc5e4d40ba 127.0.0.1:7006
   slots: (0 slots) slave
   replicates e2aff10ce99a867e6e55751ebd0ee6e9328539d8
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

测试集群

连接某个节点(-c必须加,雷之一):

redis-cli -h 127.0.0.1 -p 7002 -c

具体如下:

在这里插入图片描述

就证明集群创建成功,可以开始使用代码进行使用了。

单机版redis的测试就直接redis-cli就可以了。

在这里插入图片描述

到这里就结束了。

有其他交流的想法,可以加我创建的Q群:820080257

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值