Redis 集群部署及踩过的坑

本文详细介绍了如何在单台CentOS 6.7上搭建Redis 3.2.3集群,包括启动多个实例、安装升级Ruby、解决安装过程中的问题以及验证集群状态。在搭建过程中遇到了Ruby版本过低、redis-trib.rb位置错误、未清理旧数据导致的问题,通过逐步解决,最终成功创建了3主3从的Redis集群。
摘要由CSDN通过智能技术生成

本文目标

要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑。

安装准备

centos版本:6.7

redis版本:3.2.3

安装方式:源码安装

服务器:1台

操作步骤

此处默认已安装好单台redis,如果不会可以参照《centos上安装redis

 

1、启动Redis多个实例

我们在Redis安装目录下创建目录cluster,并编写7000.conf~7005.conf 6个配置文件,这6个配置文件用来启动6个实例,后面将使用这6个实例组成集群。

以7000.conf为例,配置文件需要填写如下几项:

 

1

2

3

4

5

6

7

8

port  7000                                        //端口7000,7001,7002,7003,7004,7005        

bind 192.168.186.91                                     //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群

daemonize    yes                               //redis后台运行

pidfile  ./redis_7000.pid          //pidfile文件对应7000,7001,7002,7003,7004,7005

cluster-enabled  yes                           //开启集群  把注释#去掉

cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002,7003,7004,7005

cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置

appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

分别启动6个实例

 

1

2

3

4

5

6

redis-server redis_cluster/7000/redis.conf

redis-server redis_cluster/7001/redis.conf

redis-server redis_cluster/7002/redis.conf

redis-server redis_cluster/7003/redis.conf

redis-server redis_cluster/7004/redis.conf

redis-server redis_cluster/7005/redis.conf

启动成功后,看一下进程

 

1

2

3

4

5

6

7

# ps -ef | grep redis | grep cluster

idata    15711 22329  0 18:40 pts/10   00:00:00 ./bin/redis-server 192.168.186.91:7000 [cluster]

idata    15740 22329  0 18:40 pts/10   00:00:00 ./bin/redis-server 192.168.186.91:7001 [cluster]

idata    15810 22329  0 18:40 pts/10   00:00:00 ./bin/redis-server 192.168.186.91:7002 [cluster]

idata    17023 22329  0 18:42 pts/10   00:00:00 ./bin/redis-server 192.168.186.91:7003 [cluster]

idata    17030 22329  0 18:42 pts/10   00:00:00 ./bin/redis-server 192.168.186.91:7004 [cluster]

idata    17035 22329  0 18:42 pts/10   00:00:00 ./bin/redis-server 192.168.186.91:7005 [cluster]

至此,ip=192.168.186.91机器上创建了6个实例,端口号为port=7000~7005。

 

2、安装ruby

1)yum安装ruby和依赖的包。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

[root@itfirst redis_cluster]# yum -y install ruby ruby-devel rubygems rpm-build

已加载插件:fastestmirror

设置安装进程

Loading mirror speeds from cached hostfile

* base: mirrors.cn99.com

* extras: mirrors.cn99.com

* updates: mirrors.cn99.com

base                                                                                                                                                                                                                                                   | 3.7 kB     00:00    

extras                                                                                                                                                                                                                                                 | 3.4 kB     00:00    

mysql-connectors-community                                                                                                                                                                                                                             | 2.5 kB     00:00    

mysql-tools-community                                                                                                                                                                                                                                  | 2.5 kB     00:00    

mysql56-community                                                                                                                                                                                                                                      | 2.5 kB     00:00    

updates                                                                                                                                                                                                                                                | 3.4 kB     00:00    

解决依赖关系

--> 执行事务检查

---> Package rpm-build.x86_64 0:4.8.0-55.el6 will be 安装

--> 处理依赖关系 patch >= 2.5,它被软件包 rpm-build-4.8.0-55.el6.x86_64 需要

--> 处理依赖关系 elfutils >= 0.128,它被软件包 rpm-build-4.8.0-55.el6.x86_64 需要

--> 处理依赖关系 xz,它被软件包 rpm-build-4.8.0-55.el6.x86_64 需要

--> 处理依赖关系 system-rpm-config,它被软件包 rpm-build-4.8.0-55.el6.x86_64 需要

--> 处理依赖关系 lzma,它被软件包 rpm-build-4.8.0-55.el6.x86_64 需要

--> 处理依赖关系 /usr/bin/gdb-add-index,它被软件包 rpm-build-4.8.0-55.el6.x86_64 需要

---> Package ruby.x86_64 0:1.8.7.374-5.el6 will be 安装

--> 处理依赖关系 ruby-libs = 1.8.7.374-5.el6,它被软件包 ruby-1.8.7.374-5.el6.x86_64 需要

--> 处理依赖关系 libruby.so.1.8()(64bit),它被软件包 ruby-1.8.7.374-5.el6.x86_64 需要

---> Package ruby-devel.x86_64 0:1.8.7.374-5.el6 will be 安装

---> Package rubygems.noarch 0:1.3.7-5.el6 will be 安装

--> 处理依赖关系 ruby-rdoc,它被软件包 rubygems-1.3.7-5.el6.noarch 需要

--> 执行事务检查

---> Package elfutils.x86_64 0:0.164-2.el6 will be 安装

--> 处理依赖关系 elfutils-libs(x86-64) = 0.164-2.el6,它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.158)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.149)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.148)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.138)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.130)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.127)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.126)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1(ELFUTILS_0.122)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libasm.so.1(ELFUTILS_1.0)(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libdw.so.1()(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

--> 处理依赖关系 libasm.so.1()(64bit),它被软件包 elfutils-0.164-2.el6.x86_64 需要

---> Package gdb.x86_64 0:7.2-92.el6 will be 安装

---> Package patch.x86_64 0:2.6-6.el6 will be 安装

---> Package redhat-rpm-config.noarch 0:9.0.3-51.el6.centos will be 安装

---> Package ruby-libs.x86_64 0:1.8.7.374-5.el6 will be 安装

--> 处理依赖关系 libreadline.so.5()(64bit),它被软件包 ruby-libs-1.8.7.374-5.el6.x86_64 需要

---> Package ruby-rdoc.x86_64 0:1.8.7.374-5.el6 will be 安装

--> 处理依赖关系 ruby-irb = 1.8.7.374-5.el6,它被软件包 ruby-rdoc-1.8.7.374-5.el6.x86_64 需要

---> Package xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6 will be 安装

---> Package xz-lzma-compat.x86_64 0:4.999.9-0.5.beta.20091007git.el6 will be 安装

--> 执行事务检查

---> Package compat-readline5.x86_64 0:5.2-17.1.el6 will be 安装

---> Package elfutils-libs.x86_64 0:0.164-2.el6 will be 安装

---> Package ruby-irb.x86_64 0:1.8.7.374-5.el6 will be 安装

--> 完成依赖关系计算

 

依赖关系解决

 

==============================================================================================================================================================================================================================================================================

软件包                                                              架构                                                     版本                                                                               仓库                                                    大小

==================================================================================================================================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值