Redis Cluster 安装配置

转载请务必注明原创地址为:http://dongkelun.com/2018/01/09/redisClusterDeployment/

服务器

CentOS

Centos 服务器初始环境配置最好先配置好,服务器时间最好配置为一致

我用的是6个服务器,一个服务器一个端口,便于配置文件的修改

首先下载redis3 到本地(需要3以后的版本,我下载的最新的版本:3.0.4)

wget http://download.redis.io/releases/redis-3.0.4.tar.gz

分别上传到每个服务器

scp -r redis-3.0.4.tar.gz redis@redis1:~/

分别在每个服务器上安装 gcc tcl ruby rubygems gem_redis

sudo yum -y install gcc
sudo yum -y install tcl
sudo yum -y install ruby rubygems
sudo gem install redis --version 3.0.4

(gem_redis如果装不上,可多试几次,若是ubuntu,换源,换成taobao,建议服务器用centOS)

解压安装redis

tar -zxvf redis-3.0.4.tar.gz
cd redis-3.0.4/
sudo make test
sudo make install

修改配置文件redis.conf 以端口9000为例

sudo vim redis.conf

port 9000
pidfile /var/run/redis-9000.pid
dbfilename dump-9000.rdb
appendfilename "appendonly-9000.aof"
cluster-config-file nodes-9000.conf
cluster-enabled yes
cluster-node-timeout 5000
appendonly yes

然后分别在每个服务器上启动redis

src/redis-server redis.conf

查看每个端口是否成功开启

ps -aux | grep redis

结果如下:

redis 26674 1 0 Sep15 ? 00:01:21 src/redis-server *:9000 [cluster]

如果后面有cluster 证明开启成功

然后建立集群

src/redis-trib.rb create --replicas 1 192.168.32.195:9000 192.168.32.196:9000
192.168.32.197:9000 192.168.32.198:9000 192.168.32.199:9000 192.168.6.214:9000

(master 至少有三个 1 代表 一个master 对应一个slave)

如果下面这样就代表成功(端口 9000 )

>>> Creating cluster
Connecting to node 192.168.32.195:9000: OK
Connecting to node 192.168.32.196:9000: OK
Connecting to node 192.168.32.197:9000: OK
Connecting to node 192.168.32.198:9000: OK
Connecting to node 192.168.32.199:9000: OK
Connecting to node 192.168.6.214:9000: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.32.199:9000
192.168.32.198:9000
192.168.32.197:9000
Adding replica 192.168.32.196:9000 to 192.168.32.199:9000
Adding replica 192.168.32.195:9000 to 192.168.32.198:9000
Adding replica 192.168.6.214:9000 to 192.168.32.197:9000
S: f4c625f49b6c1b073a379c41073b9ff9786f45f6 192.168.32.195:9000
replicates 20ecac926dba10a056f4d36a72bed35bbb7fcd57
S: 77e68bf6eb86d8bf6cb993b32d726e2cd4d05a54 192.168.32.196:9000
replicates 3276d09525fff0195dd366c8d05f80773d7d9af3
M: c6f4504b2ceb8bcffb682483168b8016e6f5973e 192.168.32.197:9000
slots:10923-16383 (5461 slots) master
M: 20ecac926dba10a056f4d36a72bed35bbb7fcd57 192.168.32.198:9000
slots:5461-10922 (5462 slots) master
M: 3276d09525fff0195dd366c8d05f80773d7d9af3 192.168.32.199:9000
slots:0-5460 (5461 slots) master
S: 627c0ae61d75570dc15a03cbdb03b1a8abd56f58 192.168.6.214:9000
replicates c6f4504b2ceb8bcffb682483168b8016e6f5973e
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 192.168.32.195:9000)
M: f4c625f49b6c1b073a379c41073b9ff9786f45f6 192.168.32.195:9000
slots: (0 slots) master
replicates 20ecac926dba10a056f4d36a72bed35bbb7fcd57
M: 77e68bf6eb86d8bf6cb993b32d726e2cd4d05a54 192.168.32.196:9000
slots: (0 slots) master
replicates 3276d09525fff0195dd366c8d05f80773d7d9af3
M: c6f4504b2ceb8bcffb682483168b8016e6f5973e 192.168.32.197:9000
slots:10923-16383 (5461 slots) master
M: 20ecac926dba10a056f4d36a72bed35bbb7fcd57 192.168.32.198:9000
slots:5461-10922 (5462 slots) master
M: 3276d09525fff0195dd366c8d05f80773d7d9af3 192.168.32.199:9000
slots:0-5460 (5461 slots) master
M: 627c0ae61d75570dc15a03cbdb03b1a8abd56f58 192.168.6.214:9000
slots: (0 slots) master
replicates c6f4504b2ceb8bcffb682483168b8016e6f5973e
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

以集群的方式登陆(9000为例)

redis-cli -c -p 9000

查看 主从关系

$ 127.0.0.1:9000> cluster nodes
baa1779a73a8d329dfc96104ac3116a24b16a681 192.168.32.199:9000 myself,master - 0 0
5 connected 0-5460
140a8c76dfd44a6e43045d43a4d853fa330dfd42 192.168.32.198:9000 master - 0
1442403482170 12 connected 5461-10922
c99974ae9a92ed18166d580e4d7bb438a26ad3a2 192.168.32.195:9000 slave
140a8c76dfd44a6e43045d43a4d853fa330dfd42 0 1442403481669 12 connected
e07467f74f81f31c024bb5626c37e550396eebe5 192.168.6.214:9000 master - 0
1442403481168 9 connected 10923-16383
04f3bcd569fb325e77a109a530fd376eb84512ce 192.168.32.196:9000 slave
baa1779a73a8d329dfc96104ac3116a24b16a681 0 1442403480667 5 connected
fd383105b93797d7502a7d6bcaa77308cccf2e71 192.168.32.197:9000 slave
e07467f74f81f31c024bb5626c37e550396eebe5 0 1442403482671 9 connected
$127.0.0.1:9000>

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始的linux

redis cluster

redis cluster 3台机器去搭建6个redis实例的redis cluster 安装6台redis(如何安装看前面的文章) 主机ip端口(redis-...

4395
来自专栏landv

php归档格式:phar文件详解(创建、使用、解包还原提取)

1236
来自专栏Android相关

Gradle For Android(3)--管理依赖关系

依赖关系管理是Gradle的闪光点。在这个脚本中最好的一点,就是你所需要的只是添加一行到你的build.gradle中,然后Gradle就会从一个远程仓库中下载...

1053
来自专栏c#开发者

android studio 更新 Gradle错误解决方法

Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Proje...

3207
来自专栏云知识学习

Mount命令详解

首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

72715
来自专栏乐沙弥的世界

使用CRM方式管理heartbeat

1、在heartbeat v2之后的版本,可以将haresources方式管理的资源转化为基于CIB方式进行管理 2、使用CRM(CIB)管理,需要配置ha...

1344
来自专栏技术/开源

开源API测试工具 Hitchhiker v0.7更新 - Schedule的对比diff

Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持脚本定制请求,可以轻松部署到...

4316
来自专栏实用工具入门教程

如何部署 Bacula Server

Bacula是一种开源网络备份解决方案,允许您创建备份并执行计算机系统的数据恢复。它非常灵活和强大,这使得它在配置时稍微麻烦,适合在许多情况下进行备份。备份系统...

3673
来自专栏PPV课数据科学社区

【聚焦】企业数据收集网页采集解决方案 附PDF下载

原文:http://www.ppvke.com/Answer/file/download/file_name-5LyB5Lia5pWw5o2u5pS26ZuG6...

3695
来自专栏java闲聊

windows下实用工具推荐

在windwos下启动工具平常的操作是需要在桌面找到图标,然后点击打开,现在你可以去掉第一步操作了,实用Wox会让你爱不释手,只需一步即可打开你想要的软件,快捷...

883

扫码关注云+社区

领取腾讯云代金券