linux集群服务器搭建

手把手教你搭建Linux Redis集群
本文详细介绍了如何在Linux环境中搭建Redis集群,包括创建目录、配置集群、复制配置文件、启动服务、创建集群以及主从节点的增删操作。通过16384个槽的均分,实现数据的高可用性和性能提升。

转载@https://www.cnblogs.com/cmxbky1314/p/11748426.html

1

.为了我们方便的搭建集群,我们需要建立一个目录,里面放着六台服务器(一个集群至少六台服务器)。如下:

img

  我们自己建立了一个叫 redis-cluster 的目录(图中蓝色框),在这个目录中又建立了六个子目录,用来存放Redis服务器。

  2.然后cd到我们原有的redis服务目录下,进行集群的配置修改

  ① cluster-enabled yes 开启集群的支持

  ② cluster-config-file nodes.conf 记录每个节点的信息,保存到文件nodes.conf文件中

  ③ bind 0.0.0.0 开放ip访问权限

​   img

img

  3.然后在我们已经搭建好的Redis服务目录下,将已经设置好的 redis.conf 分别复制到我们建立好的六个目录下。如下:

img

注:redis_conf 是我的redis服务的守护进程启动配置目录,里面放着启动进程的redis.conf配置文件,后面的我们上面的建立的目录的相对路径。

  4.在复制好六个服务器之后,再去修改每个服务的配置文件中的端口号 ,这里我们分配了8001 --8006 端口 分别给这个六个服务器。如下,

   img

   注:然后依次去修改其余的五个,保证服务的端口各不相同即可。

  5. 接着,以各自的配置启动redis服务

1 redis-server 8001/redis.conf
2 redis-server 8002/redis.conf
3 redis-server 8003/redis.conf
4 redis-server 8004/redis.conf
5 redis-server 8005/redis.conf
6 redis-server 8006/redis.conf

  开启后的效果图,如下

  img

  6.创建Redis集群

    语法:

      redis-cli --cluster create 192.168.142.131:9001 192.168.142.131:9002 192.168.142.131:9003 192.168.142.131:9004 192.168.142.131:9005 192.168.142.131:9006 --cluster-replicas 1

    解释: redis 客户端 集群 创建 。。。上面创建六个redis服务器的端口。。。 集群 一比一主从配置

img

  然后我们输入 yes ,Redis 就会创建好集群,结果如下。

  img

  7.集群说明

--cluster-replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务器,以及 slot 的大小,

   因为在 Redis 集群中有且仅有 16384 个 slot ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。

   查看集群信息:192.168.134.124:7003> cluster info(查看集群信息)或cluster nodes(查看节点列表)

  集群搭建完毕,6个节点,3主,3从,只有主节点才拥有槽,并对外提供读写数据服务。注意至少有3个主节点才可以搭建集群,为每个主至少分配1个从,所以至少需要6个redis节点才可以形成集群。

  8.槽

  - redis cluster 默认分配了 16384 个slot,所有的主redis服务器,大概均分所有的槽   - 存/取值时 ,redis会根据key,计算一个介于 0 – 16383之间的数字,此数字即为当前数据的槽位置,通过槽位置,决定哪个redis主服务器来负责本次访问

  Redis 集群会把数据存在一个master节点,然后在这个master和其对应的slave之间进行数据同步。当读取数据时,也根据一致性哈希算法到对应的master节点获取数据。

  只有当一个master 挂掉之后,才会启动一个对应的slave节点,充当master。

  需要注意的是:必须要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。

  9.集群的特性或者优点

   集群搭建后:

  - 性能的进一步提升,可以在单位时间内,吞吐更多的请求   - 数据的存储节点,具有高可用性(集群有好的容错机制)   集群容错:

  - 所有槽可以被覆盖时,则集群正常运行   - 如果16384个槽,不能被所有主机完整覆盖了,则集群宕机

四、集群中节点的操作

  1.删除从节点

  img

   测试效果如下:

img

  2.添加从节点

  redis-cli --cluster add-node 192.168.134.124:7000 192.168.134.124:7001 --cluster-slave --cluster-master-id 4032891b648e76b2975e5bc701e9c8a52ad6f3dd

  # 注意:加新节点之前 要清楚新节点中数据   # add-node: 后面的分别跟着新加入的slave和集群中任意一个节点   # cluster-slave:表示加入的是slave节点   # --cluster-master-id:表示slave对应的master的node ID

  img

img

3.删除主节点

  需要先进行重新分片:

  redis-cli --cluster reshard 192.168.142.131:9001 #后面的ip和端口 起到定位的作用

  回车执行该语句

  ①系统会提出问题 要分出多少个槽 5461

  ②系统接着提出问题 将这些槽 分给谁 回答 一个主服务器的id

  ③系统再问 从哪里获得这些槽 回答 一个主服务器的id

  ④接着执行done 和yes 开始重新分片

img

4.添加主节点

redis-cli --cluster add-node 192.168.134.124:7000 192.168.134.124:7006

              #新增加的主节点 #一个已存在的节点 定位集群的作用

将7006添加到7001所在集群中,成为一个主节点,但此时它不持有任何槽,需要重新分片

具体操作图 如下,

img

img

img

img

之后输入done 即可执行分槽。

开始后,确认,系统问你要执行吗

输入yes

img

然后会执行一段时间的迁移过程

img

以上就是良许教程网为各位朋友分享的Linux相关知识。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值