集群搭建(Redis)(超详细)

集群介绍:

Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N

Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。

我们这里演示三个主服务器(port:6379 6380 6381),三个从服务器(port:6389 6390 6391)的搭建。

开始搭建:

第一步:制作6个实例。 主:6379,6380,6381,从:6389,6390,6391。

配置基本信息

首先在Xshell上选择redis6379.conf文件上修改配置文件开启集群模式:

vi redis6379.conf

里面的配置内容改为:

port 6379
pidfile "/var/run/redis_6379.pid"
dbfilename "dump6379.rdb"
dir "/home/bigdata/redis_cluster"
logfile "/home/bigdata/redis_cluster/redis_err_6379.log"
cluster-enabled yes  
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000

说明:

cluster-enabled yes    打开集群模式

cluster-config-file nodes-6379.conf  设定节点配置文件名

cluster-node-timeout 15000   设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换。

第二步:复制redis6379.conf 生成其他五个服务器配置文件。

将其他五个的配置文件里面的6379改为自己相应的端口号:

可以通过这个命令将配置文件的6379改为相应的端口号(6380 6381 6389 6390 6391)

:%s/6379/6380     //以此类推6381 6389 6390 6391

 第三步:启动这6个服务器:

第四步:​​​​​​​将六个节点合成一个集群

组合之前,请确保所有redis实例启动后,nodes-xxxx.conf文件都生成正常。

切换目录到 src(如下图)注意我的redis版本号是redis-7.0.4的,你们要改为你们的版本号:

cd  /opt/redis-7.0.4/src

 在src目录下将六个节点合成一个集群:

此处不要用127.0.0.1 请用真实IP地址,我的示例如下:

--replicas 1 采用最简单的方式配置集群,一台主机,一台从机,正好三组。

 

​​​​​​​这里尽量不要使用普通方式连接主机:

  1. 普通方式登录

可能直接进入读主机,存储数据时,会出现MOVED重定向操作。所以,应该以集群方式登录。

     2.-c 采用集群策略连接,设置数据会自动切换到相应的写主机

redis-cli -c -p 6379

    3.​​​​​​​通过 cluster nodes 命令查看集群信息:

OK 集群搭建完成~

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Redis群是一种分布式的Redis环境,它提供了高可用性和可扩展性。以下是Redis集群搭建详细过程: 1. 下载redis 首先,你需要下载Redis的稳定版本,并解压到你的本地目录中。你可以从Redis官网上下载最新版本的Redis。 2. 编译redis 接下来,你需要编译Redis的源代码。进入Redis源代码目录,运行以下命令: ``` make ``` 如果编译成功,你会看到如下输出: ``` make[1]: Leaving directory '/home/user/redis-4.0.9/src' REDIS_VERSION = 4.0.9 ``` 3. 创建redis集群配置文件 在Redis源代码目录中,你可以找到一个名为redis-trib.rb的Ruby脚本,它是用于创建Redis集群的。在你的本地目录中创建一个名为nodes-6379.conf的文件,用于存储Redis集群的配置信息。 在nodes-6379.conf文件中,写入以下内容: ``` port 6379 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000 appendonly yes ``` 这些配置项包括: - port:Redis节点使用的端口号。 - cluster-enabled:启用Redis集群。 - cluster-config-file:指定Redis集群的配置文件。 - cluster-node-timeout:设置Redis节点之间通信的时时间。 - appendonly:启用Redis的AOF(Append-Only File)持久化模式。 4. 启动redis节点 接下来,你需要启动多个Redis节点来构建Redis集群。在你的本地目录中,使用以下命令启动三个Redis节点: ``` redis-server nodes-6379.conf redis-server nodes-6380.conf redis-server nodes-6381.conf ``` 这将启动三个Redis节点,它们将使用不同的端口号。你需要确保每个节点都已成功启动。 5. 创建redis集群 现在你已经成功启动了多个Redis节点,接下来你需要使用redis-trib.rb脚本来创建Redis集群。 使用以下命令连接到Redis集群: ``` redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 ``` 这将创建一个包含三个Redis节点的集群,其中每个主节点都有一个从节点。--replicas参数指定了每个主节点的从节点数量。 如果创建成功,你会看到如下输出: ``` >>> Creating cluster >>> Performing hash slots allocation on 3 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 M: 53b5d0e9e3d6c8a5f2a5e2a6e1c9f7f286f2c0f3 127.0.0.1:6379 slots:[0-5460] (5461 slots) master M: 3e4f3d2b7c6b5c46d2e9b0e4a8e9e6d9f1785e1f 127.0.0.1:6380 slots:[5461-10922] (5462 slots) master M: b2cdaf2e5a7d4e0889e6c4e9af5f8f4e5d7a7c6f 127.0.0.1:6381 slots:[10923-16383] (5461 slots) master Can I set the above configuration? (type 'yes' to accept): yes ``` 这表示你已成功创建了一个Redis集群。 6. 测试redis集群 最后,你可以使用Redis客户端连接到Redis集群,并执行一些命令来测试集群的功能。 例如,使用以下命令连接到Redis集群: ``` redis-cli -c -p 6379 ``` 这将启动一个Redis客户端,并连接到Redis集群的主节点。使用以下命令将一个键值对写入到Redis集群中: ``` set mykey "hello world" ``` 然后,使用以下命令从Redis集群中读取该键值对: ``` get mykey ``` 如果一切正常,你应该会看到如下输出: ``` "hello world" ``` 这表示你已成功搭建了Redis集群,并且可以使用它来存储和检索数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值