Redis集群

(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)

127.0.0.1:6379
127.0.0.1:6380

127.0.0.1:6381

127.0.0.1:6382

127.0.0.1:6383

127.0.0.1:6384

1:下载redis。官网下载3.0.7版本

下载地址:http://download.redis.io/releases/redis-3.0.7.tar.gz

2:上传服务器,解压,编译

tar -zxvf redis-3.0.7.tar.gz

mv redis-3.0.7.tar.gz redis3.0

cd /usr/local/redis3.0

make

make instal

3:配置集群环境

vi redis.conf

##修改配置文件中的下面选项

port 6379

daemonize yes

appendonly yes

cluster-enabled yes

cluster-config-file  nodes-6379.conf

cluster-node-timeout 15000

6:执行redis的创建集群命令创建集群

分别启动这6个redis实例

./redis-trib.rb  create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382  127.0.0.1:6383 127.0.0.1:6384

错误内容:/usr/bin/env: ruby: No such file or directory6.1执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境

所以需要安装ruby的环境,这里推荐使用yum install ruby安装

yum install ruby

6.2然后再执行第6步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装

yum install rubygems

错误内容:

./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)

from ./redis-trib.rb:24

6.3再次执行第6步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装

  1. gem install redis

错误内容:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)

from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'

from ./redis-trib.rb:25

6.4 再次执行第6步的命令,正常执行

  1. [root@iZ28afos96aZ src]# ./redis-trib.rb create --replicas 1 127.0.0.1:6384 127.0.0.1:6383 127.0.0.1:6382 127.0.0.1:6381 127.0.0.1:6380 127.0.0.1:6379
  2. >>> Creating cluster
  3. >>> Performing hash slots allocation on nodes...
  4. Using masters:
  5. 127.0.0.1:
  6. 127.0.0.1:
  7. 127.0.0.1:
  8. Adding replica 127.0.0.1: to 127.0.0.1:
  9. Adding replica 127.0.0.1: to 127.0.0.1:
  10. Adding replica 127.0.0.1: to 127.0.0.1:
  11. M: d75e3842921a04d2e530a899194fb5ee92b6fa91 127.0.0.1:
  12. slots:- ( slots) master
  13. M: a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a 127.0.0.1:
  14. slots:- ( slots) master
  15. M: cafe8b69992c2171ad2d1119f65b242e315a68e2 127.0.0.1:
  16. slots:- ( slots) master
  17. S: d3826c34d09550a4d56d1569eb5bd652548f7a91 127.0.0.1:
  18. replicates d75e3842921a04d2e530a899194fb5ee92b6fa91
  19. S: 0d78e8b3bff995b41c18b2edbbc9ea870f9c1c4a 127.0.0.1:
  20. replicates a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a
  21. S: fdacca0da5627679ad3e22ee49efc4611e584fae 127.0.0.1:
  22. replicates cafe8b69992c2171ad2d1119f65b242e315a68e2
  23. Can I set the above configuration? (type 'yes' to accept): yes
  24. >>> Nodes configuration updated
  25. >>> Assign a different config epoch to each node
  26. >>> Sending CLUSTER MEET messages to join the cluster
  27. Waiting for the cluster to join.....
  28. >>> Performing Cluster Check (using node 127.0.0.1:)
  29. M: d75e3842921a04d2e530a899194fb5ee92b6fa91 127.0.0.1:
  30. slots:- ( slots) master
  31. M: a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a 127.0.0.1:
  32. slots:- ( slots) master
  33. M: cafe8b69992c2171ad2d1119f65b242e315a68e2 127.0.0.1:
  34. slots:- ( slots) master
  35. M: d3826c34d09550a4d56d1569eb5bd652548f7a91 127.0.0.1:
  36. slots: ( slots) master
  37. replicates d75e3842921a04d2e530a899194fb5ee92b6fa91
  38. M: 0d78e8b3bff995b41c18b2edbbc9ea870f9c1c4a 127.0.0.1:
  39. slots: ( slots) master
  40. replicates a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a
  41. M: fdacca0da5627679ad3e22ee49efc4611e584fae 127.0.0.1:
  42. slots: ( slots) master
  43. replicates cafe8b69992c2171ad2d1119f65b242e315a68e2
  44. [OK] All nodes agree about slots configuration.
  45. >>> Check for open slots...
  46. >>> Check slots coverage...
  47. [OK] All slots covered.
  1.  

输入yes,然后配置完成。

至此redis集群即搭建成功!

7:使用redis-cli命令进入集群环境

redis-cli -c -p 6379

附上信息:

  1. [root@iZ28afos96aZ home]# yum install ruby
  2. Loaded plugins: security
  3. base | 3.7 kB 00:00
  4. epel | 4.3 kB 00:00
  5. epel/primary_db | 5.9 MB 00:06
  6. extras | 3.4 kB 00:00
  7. puppetlabs-deps | 2.5 kB 00:00
  8. puppetlabs-deps/primary_db | 47 kB 00:04
  9. puppetlabs-products | 2.5 kB 00:00
  10. puppetlabs-products/primary_db | 154 kB 00:08
  11. updates | 3.4 kB 00:00
  12. Setting up Install Process
  13. Resolving Dependencies
  14. --> Running transaction check
  15. ---> Package ruby.x86_64 0:1.8.7.374-4.el6_6 will be installed
  16. --> Processing Dependency: ruby-libs = 1.8.7.374-4.el6_6 for package: ruby-1.8.7.374-4.el6_6.x86_64
  17. --> Processing Dependency: libruby.so.1.8()(64bit) for package: ruby-1.8.7.374-4.el6_6.x86_64
  18. --> Running transaction check
  19. ---> Package ruby-libs.x86_64 0:1.8.7.374-4.el6_6 will be installed
  20. --> Processing Dependency: libreadline.so.5()(64bit) for package: ruby-libs-1.8.7.374-4.el6_6.x86_64
  21. --> Running transaction check
  22. ---> Package compat-readline5.x86_64 0:5.2-17.1.el6 will be installed
  23. --> Finished Dependency Resolution
  24.  
  25. Dependencies Resolved
  26.  
  27. ================================================================================
  28. Package Arch Version Repository Size
  29. ================================================================================
  30. Installing:
  31. ruby x86_64 1.8.7.374-4.el6_6 base 538 k
  32. Installing for dependencies:
  33. compat-readline5 x86_64 5.2-17.1.el6 base 130 k
  34. ruby-libs x86_64 1.8.7.374-4.el6_6 base 1.7 M
  35.  
  36. Transaction Summary
  37. ================================================================================
  38. Install 3 Package(s)
  39.  
  40. Total download size: 2.3 M
  41. Installed size: 7.8 M
  42. Is this ok [y/N]: y
  43. Downloading Packages:
  44. (1/3): compat-readline5-5.2-17.1.el6.x86_64.rpm | 130 kB 00:00
  45. (2/3): ruby-1.8.7.374-4.el6_6.x86_64.rpm | 538 kB 00:00
  46. (3/3): ruby-libs-1.8.7.374-4.el6_6.x86_64.rpm | 1.7 MB 00:01
  47. --------------------------------------------------------------------------------
  48. Total 1.0 MB/s | 2.3 MB 00:02
  49. Running rpm_check_debug
  50. Running Transaction Test
  51. Transaction Test Succeeded
  52. Running Transaction
  53. Warning: RPMDB altered outside of yum.
  54. Installing : compat-readline5-5.2-17.1.el6.x86_64 1/3
  55. Installing : ruby-libs-1.8.7.374-4.el6_6.x86_64 2/3
  56. Installing : ruby-1.8.7.374-4.el6_6.x86_64 3/3
  57. Verifying : compat-readline5-5.2-17.1.el6.x86_64 1/3
  58. Verifying : ruby-libs-1.8.7.374-4.el6_6.x86_64 2/3
  59. Verifying : ruby-1.8.7.374-4.el6_6.x86_64 3/3
  60.  
  61. Installed:
  62. ruby.x86_64 0:1.8.7.374-4.el6_6
  63.  
  64. Dependency Installed:
  65. compat-readline5.x86_64 0:5.2-17.1.el6 ruby-libs.x86_64 0:1.8.7.374-4.el6_6
  66.  
  67. Complete!
  68. [root@iZ28afos96aZ home]# ls
  69. apache-tomcat-8.0.33 redis-3.0.7_2 redis-3.0.7_6 softs
  70. hadoop redis-3.0.7_3 redis-3.0.7_7 svnrepos
  71. redis redis-3.0.7_4 reids zlib-1.2.8
  72. redis-3.0.7_1 redis-3.0.7_5 ruby-2.3.1 zlib-1.2.8.tar.gz
  73. [root@iZ28afos96aZ home]# ruby -v
  74. ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
  75. [root@iZ28afos96aZ home]# cd redis-3.0.7_1
  76. [root@iZ28afos96aZ redis-3.0.7_1]# ls
  77. 00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
  78. BUGS deps MANIFESTO runtest sentinel.conf utils
  79. CONTRIBUTING INSTALL README runtest-cluster src
  80. [root@iZ28afos96aZ redis-3.0.7_1]# cd src
  81. [root@iZ28afos96aZ src]# ls
  82. adlist.c crc64.h memtest.o redis-cli sort.c
  83. adlist.h crc64.o mkreleasehdr.sh redis-cli.c sort.o
  84. adlist.o db.c multi.c redis-cli.o sparkline.c
  85. ae.c db.o multi.o redis.h sparkline.h
  86. ae_epoll.c debug.c networking.c redis.o sparkline.o
  87. ae_evport.c debug.o networking.o redis-sentinel syncio.c
  88. ae.h dict.c notify.c redis-server syncio.o
  89. ae_kqueue.c dict.h notify.o redis-trib.rb testhelp.h
  90. ae.o dict.o object.c release.c t_hash.c
  91. ae_select.c dump.rdb object.o release.h t_hash.o
  92. anet.c endianconv.c pqsort.c release.o t_list.c
  93. anet.h endianconv.h pqsort.h replication.c t_list.o
  94. anet.o endianconv.o pqsort.o replication.o t_set.c
  95. aof.c fmacros.h pubsub.c rio.c t_set.o
  96. aof.o help.h pubsub.o rio.h t_string.c
  97. asciilogo.h hyperloglog.c rand.c rio.o t_string.o
  98. bio.c hyperloglog.o rand.h scripting.c t_zset.c
  99. bio.h intset.c rand.o scripting.o t_zset.o
  100. bio.o intset.h rdb.c sds.c util.c
  101. bitops.c intset.o rdb.h sds.h util.h
  102. bitops.o latency.c rdb.o sds.o util.o
  103. blocked.c latency.h redisassert.h sentinel.c valgrind.sup
  104. blocked.o latency.o redis-benchmark sentinel.o version.h
  105. cluster.c lzf_c.c redis-benchmark.c setproctitle.c ziplist.c
  106. cluster.h lzf_c.o redis-benchmark.o setproctitle.o ziplist.h
  107. cluster.o lzf_d.c redis.c sha1.c ziplist.o
  108. config.c lzf_d.o redis-check-aof sha1.h zipmap.c
  109. config.h lzf.h redis-check-aof.c sha1.o zipmap.h
  110. config.o lzfP.h redis-check-aof.o slowlog.c zipmap.o
  111. crc16.c Makefile redis-check-dump slowlog.h zmalloc.c
  112. crc16.o Makefile.dep redis-check-dump.c slowlog.o zmalloc.h
  113. crc64.c memtest.c redis-check-dump.o solarisfixes.h zmalloc.o
  114. [root@iZ28afos96aZ src]# ./redis-server ../redis.conf
  115. [root@iZ28afos96aZ src]# cd..
  116. -bash: cd..: command not found
  117. [root@iZ28afos96aZ src]# cd ..
  118. [root@iZ28afos96aZ redis-3.0.7_1]# ls
  119. 00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
  120. BUGS deps MANIFESTO runtest sentinel.conf utils
  121. CONTRIBUTING INSTALL README runtest-cluster src
  122. [root@iZ28afos96aZ redis-3.0.7_1]# cd ..
  123. [root@iZ28afos96aZ home]# cd re
  124. -bash: cd: re: No such file or directory
  125. [root@iZ28afos96aZ home]# cd redis
  126. [root@iZ28afos96aZ redis]# ls
  127. cluser data logs
  128. [root@iZ28afos96aZ redis]# cd logs
  129. [root@iZ28afos96aZ logs]# ls
  130. redis-6379.log redis-6380.log redis-6382.log
  131. [root@iZ28afos96aZ logs]# more redis-6379.log
  132. 4001:M 05 May 23:33:28.240 # Creating Server TCP listening socket *:6379: bind:
  133. Address already in use
  134. [root@iZ28afos96aZ logs]# ps -aux|grep redis
  135. Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
  136. root 4012 0.0 0.0 103252 840 pts/8 S+ 23:35 0:00 grep redis
  137. root 22201 0.0 0.3 137448 7524 ? Sl 13:04 0:20 ./redis-server *:6379
  138. root 22383 0.0 0.4 137444 7800 ? Sl 13:16 0:22 ./redis-server *:6380 [cluster]
  139. root 22417 0.0 0.4 137448 7812 ? Sl 13:18 0:22 ./redis-server *:6381 [cluster]
  140. root 22480 0.0 0.3 137444 7464 ? Sl 13:22 0:22 ./redis-server *:6383 [cluster]
  141. root 22507 0.0 0.4 137448 7812 ? Sl 13:23 0:22 ./redis-server *:6384 [cluster]
  142. root 22515 0.0 0.3 137444 7484 ? Sl 13:24 0:21 ./redis-server *:6382 [cluster]
  143. [root@iZ28afos96aZ logs]# ls
  144. redis-6379.log redis-6380.log redis-6382.log
  145. [root@iZ28afos96aZ logs]# ls
  146. redis-6379.log redis-6380.log redis-6382.log
  147. [root@iZ28afos96aZ logs]# cd ..
  148. [root@iZ28afos96aZ redis]# ls
  149. cluser data logs
  150. [root@iZ28afos96aZ redis]# cd ..
  151. [root@iZ28afos96aZ home]# cd redis-3.0.7_1
  152. [root@iZ28afos96aZ redis-3.0.7_1]# ls
  153. 00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
  154. BUGS deps MANIFESTO runtest sentinel.conf utils
  155. CONTRIBUTING INSTALL README runtest-cluster src
  156. [root@iZ28afos96aZ redis-3.0.7_1]# cd src
  157. [root@iZ28afos96aZ src]# ls
  158. adlist.c crc64.h memtest.o redis-cli sort.c
  159. adlist.h crc64.o mkreleasehdr.sh redis-cli.c sort.o
  160. adlist.o db.c multi.c redis-cli.o sparkline.c
  161. ae.c db.o multi.o redis.h sparkline.h
  162. ae_epoll.c debug.c networking.c redis.o sparkline.o
  163. ae_evport.c debug.o networking.o redis-sentinel syncio.c
  164. ae.h dict.c notify.c redis-server syncio.o
  165. ae_kqueue.c dict.h notify.o redis-trib.rb testhelp.h
  166. ae.o dict.o object.c release.c t_hash.c
  167. ae_select.c dump.rdb object.o release.h t_hash.o
  168. anet.c endianconv.c pqsort.c release.o t_list.c
  169. anet.h endianconv.h pqsort.h replication.c t_list.o
  170. anet.o endianconv.o pqsort.o replication.o t_set.c
  171. aof.c fmacros.h pubsub.c rio.c t_set.o
  172. aof.o help.h pubsub.o rio.h t_string.c
  173. asciilogo.h hyperloglog.c rand.c rio.o t_string.o
  174. bio.c hyperloglog.o rand.h scripting.c t_zset.c
  175. bio.h intset.c rand.o scripting.o t_zset.o
  176. bio.o intset.h rdb.c sds.c util.c
  177. bitops.c intset.o rdb.h sds.h util.h
  178. bitops.o latency.c rdb.o sds.o util.o
  179. blocked.c latency.h redisassert.h sentinel.c valgrind.sup
  180. blocked.o latency.o redis-benchmark sentinel.o version.h
  181. cluster.c lzf_c.c redis-benchmark.c setproctitle.c ziplist.c
  182. cluster.h lzf_c.o redis-benchmark.o setproctitle.o ziplist.h
  183. cluster.o lzf_d.c redis.c sha1.c ziplist.o
  184. config.c lzf_d.o redis-check-aof sha1.h zipmap.c
  185. config.h lzf.h redis-check-aof.c sha1.o zipmap.h
  186. config.o lzfP.h redis-check-aof.o slowlog.c zipmap.o
  187. crc16.c Makefile redis-check-dump slowlog.h zmalloc.c
  188. crc16.o Makefile.dep redis-check-dump.c slowlog.o zmalloc.h
  189. crc64.c memtest.c redis-check-dump.o solarisfixes.h zmalloc.o
  190. [root@iZ28afos96aZ src]# ./redis-trib.rb create --replicas 1 127.0.0.1:6384 127.0.0.1:6383 127.0.0.1:6382 127.0.0.1:6381 127.0.0.1:6380 127.0.0.1:6379
  191. ./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
  192. from ./redis-trib.rb:24
  193. [root@iZ28afos96aZ src]# yum install rubygems
  194. Loaded plugins: security
  195. Setting up Install Process
  196. Resolving Dependencies
  197. --> Running transaction check
  198. ---> Package rubygems.noarch 0:1.3.7-5.el6 will be installed
  199. --> Processing Dependency: ruby-rdoc for package: rubygems-1.3.7-5.el6.noarch
  200. --> Running transaction check
  201. ---> Package ruby-rdoc.x86_64 0:1.8.7.374-4.el6_6 will be installed
  202. --> Processing Dependency: ruby-irb = 1.8.7.374-4.el6_6 for package: ruby-rdoc-1.8.7.374-4.el6_6.x86_64
  203. --> Running transaction check
  204. ---> Package ruby-irb.x86_64 0:1.8.7.374-4.el6_6 will be installed
  205. --> Finished Dependency Resolution
  206.  
  207. Dependencies Resolved
  208.  
  209. ================================================================================
  210. Package Arch Version Repository Size
  211. ================================================================================
  212. Installing:
  213. rubygems noarch 1.3.7-5.el6 base 207 k
  214. Installing for dependencies:
  215. ruby-irb x86_64 1.8.7.374-4.el6_6 base 317 k
  216. ruby-rdoc x86_64 1.8.7.374-4.el6_6 base 381 k
  217.  
  218. Transaction Summary
  219. ================================================================================
  220. Install 3 Package(s)
  221.  
  222. Total download size: 905 k
  223. Installed size: 3.0 M
  224. Is this ok [y/N]: y
  225. Downloading Packages:
  226. (1/3): ruby-irb-1.8.7.374-4.el6_6.x86_64.rpm | 317 kB 00:00
  227. (2/3): ruby-rdoc-1.8.7.374-4.el6_6.x86_64.rpm | 381 kB 00:00
  228. (3/3): rubygems-1.3.7-5.el6.noarch.rpm | 207 kB 00:00
  229. --------------------------------------------------------------------------------
  230. Total 1.3 MB/s | 905 kB 00:00
  231. Running rpm_check_debug
  232. Running Transaction Test
  233. Transaction Test Succeeded
  234. Running Transaction
  235. Installing : ruby-irb-1.8.7.374-4.el6_6.x86_64 1/3
  236. Installing : ruby-rdoc-1.8.7.374-4.el6_6.x86_64 2/3
  237. Installing : rubygems-1.3.7-5.el6.noarch 3/3
  238. Verifying : ruby-rdoc-1.8.7.374-4.el6_6.x86_64 1/3
  239. Verifying : ruby-irb-1.8.7.374-4.el6_6.x86_64 2/3
  240. Verifying : rubygems-1.3.7-5.el6.noarch 3/3
  241.  
  242. Installed:
  243. rubygems.noarch 0:1.3.7-5.el6
  244.  
  245. Dependency Installed:
  246. ruby-irb.x86_64 0:1.8.7.374-4.el6_6 ruby-rdoc.x86_64 0:1.8.7.374-4.el6_6
  247.  
  248. Complete!
  249. [root@iZ28afos96aZ src]# ./redis-trib.rb create --replicas 1 127.0.0.1:6384 127.0.0.1:6383 127.0.0.1:6382 127.0.0.1:6381 127.0.0.1:6380 127.0.0.1:6379
  250. /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
  251. from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
  252. from ./redis-trib.rb:25
  253. [root@iZ28afos96aZ src]# gem install redis
  254. Successfully installed redis-3.3.0
  255. 1 gem installed
  256. Installing ri documentation for redis-3.3.0...
  257. Installing RDoc documentation for redis-3.3.0...
  258. [root@iZ28afos96aZ src]# ./redis-trib.rb create --replicas 1 127.0.0.1:6384 127.0.0.1:6383 127.0.0.1:6382 127.0.0.1:6381 127.0.0.1:6380 127.0.0.1:6379
  259. >>> Creating cluster
  260. [ERR] Node 127.0.0.1:6379 is not configured as a cluster node.
  261. [root@iZ28afos96aZ src]# ps -aux|grep redis
  262. Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
  263. root 4288 0.0 0.0 103252 840 pts/8 S+ 23:44 0:00 grep redis
  264. root 22201 0.0 0.3 137448 7532 ? Sl 13:04 0:20 ./redis-server *:6379
  265. root 22383 0.0 0.4 137444 7836 ? Sl 13:16 0:23 ./redis-server *:6380 [cluster]
  266. root 22417 0.0 0.4 137448 7844 ? Sl 13:18 0:23 ./redis-server *:6381 [cluster]
  267. root 22480 0.0 0.3 137444 7624 ? Sl 13:22 0:23 ./redis-server *:6383 [cluster]
  268. root 22507 0.0 0.4 137448 7844 ? Sl 13:23 0:22 ./redis-server *:6384 [cluster]
  269. root 22515 0.0 0.3 137444 7628 ? Sl 13:24 0:22 ./redis-server *:6382 [cluster]
  270. [root@iZ28afos96aZ src]# ./redis-trib.rb create --replicas 1 127.0.0.1:6384 127.0.0.1:6383 127.0.0.1:6382 127.0.0.1:6381 127.0.0.1:6380
  271. >>> Creating cluster
  272. *** ERROR: Invalid configuration for cluster creation.
  273. *** Redis Cluster requires at least 3 master nodes.
  274. *** This is not possible with 5 nodes and 1 replicas per node.
  275. *** At least 6 nodes are required.
  276. [root@iZ28afos96aZ src]# ls
  277. adlist.c crc64.h memtest.o redis-cli sort.c
  278. adlist.h crc64.o mkreleasehdr.sh redis-cli.c sort.o
  279. adlist.o db.c multi.c redis-cli.o sparkline.c
  280. ae.c db.o multi.o redis.h sparkline.h
  281. ae_epoll.c debug.c networking.c redis.o sparkline.o
  282. ae_evport.c debug.o networking.o redis-sentinel syncio.c
  283. ae.h dict.c notify.c redis-server syncio.o
  284. ae_kqueue.c dict.h notify.o redis-trib.rb testhelp.h
  285. ae.o dict.o object.c release.c t_hash.c
  286. ae_select.c dump.rdb object.o release.h t_hash.o
  287. anet.c endianconv.c pqsort.c release.o t_list.c
  288. anet.h endianconv.h pqsort.h replication.c t_list.o
  289. anet.o endianconv.o pqsort.o replication.o t_set.c
  290. aof.c fmacros.h pubsub.c rio.c t_set.o
  291. aof.o help.h pubsub.o rio.h t_string.c
  292. asciilogo.h hyperloglog.c rand.c rio.o t_string.o
  293. bio.c hyperloglog.o rand.h scripting.c t_zset.c
  294. bio.h intset.c rand.o scripting.o t_zset.o
  295. bio.o intset.h rdb.c sds.c util.c
  296. bitops.c intset.o rdb.h sds.h util.h
  297. bitops.o latency.c rdb.o sds.o util.o
  298. blocked.c latency.h redisassert.h sentinel.c valgrind.sup
  299. blocked.o latency.o redis-benchmark sentinel.o version.h
  300. cluster.c lzf_c.c redis-benchmark.c setproctitle.c ziplist.c
  301. cluster.h lzf_c.o redis-benchmark.o setproctitle.o ziplist.h
  302. cluster.o lzf_d.c redis.c sha1.c ziplist.o
  303. config.c lzf_d.o redis-check-aof sha1.h zipmap.c
  304. config.h lzf.h redis-check-aof.c sha1.o zipmap.h
  305. config.o lzfP.h redis-check-aof.o slowlog.c zipmap.o
  306. crc16.c Makefile redis-check-dump slowlog.h zmalloc.c
  307. crc16.o Makefile.dep redis-check-dump.c slowlog.o zmalloc.h
  308. crc64.c memtest.c redis-check-dump.o solarisfixes.h zmalloc.o
  309. [root@iZ28afos96aZ src]# cd ..
  310. [root@iZ28afos96aZ redis-3.0.7_1]# ls
  311. 00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
  312. BUGS deps MANIFESTO runtest sentinel.conf utils
  313. CONTRIBUTING INSTALL README runtest-cluster src
  314. [root@iZ28afos96aZ redis-3.0.7_1]# cd src
  315. [root@iZ28afos96aZ src]# ls
  316. adlist.c crc64.h memtest.o redis-cli sort.c
  317. adlist.h crc64.o mkreleasehdr.sh redis-cli.c sort.o
  318. adlist.o db.c multi.c redis-cli.o sparkline.c
  319. ae.c db.o multi.o redis.h sparkline.h
  320. ae_epoll.c debug.c networking.c redis.o sparkline.o
  321. ae_evport.c debug.o networking.o redis-sentinel syncio.c
  322. ae.h dict.c notify.c redis-server syncio.o
  323. ae_kqueue.c dict.h notify.o redis-trib.rb testhelp.h
  324. ae.o dict.o object.c release.c t_hash.c
  325. ae_select.c dump.rdb object.o release.h t_hash.o
  326. anet.c endianconv.c pqsort.c release.o t_list.c
  327. anet.h endianconv.h pqsort.h replication.c t_list.o
  328. anet.o endianconv.o pqsort.o replication.o t_set.c
  329. aof.c fmacros.h pubsub.c rio.c t_set.o
  330. aof.o help.h pubsub.o rio.h t_string.c
  331. asciilogo.h hyperloglog.c rand.c rio.o t_string.o
  332. bio.c hyperloglog.o rand.h scripting.c t_zset.c
  333. bio.h intset.c rand.o scripting.o t_zset.o
  334. bio.o intset.h rdb.c sds.c util.c
  335. bitops.c intset.o rdb.h sds.h util.h
  336. bitops.o latency.c rdb.o sds.o util.o
  337. blocked.c latency.h redisassert.h sentinel.c valgrind.sup
  338. blocked.o latency.o redis-benchmark sentinel.o version.h
  339. cluster.c lzf_c.c redis-benchmark.c setproctitle.c ziplist.c
  340. cluster.h lzf_c.o redis-benchmark.o setproctitle.o ziplist.h
  341. cluster.o lzf_d.c redis.c sha1.c ziplist.o
  342. config.c lzf_d.o redis-check-aof sha1.h zipmap.c
  343. config.h lzf.h redis-check-aof.c sha1.o zipmap.h
  344. config.o lzfP.h redis-check-aof.o slowlog.c zipmap.o
  345. crc16.c Makefile redis-check-dump slowlog.h zmalloc.c
  346. crc16.o Makefile.dep redis-check-dump.c slowlog.o zmalloc.h
  347. crc64.c memtest.c redis-check-dump.o solarisfixes.h zmalloc.o
  348. [root@iZ28afos96aZ src]# ./re
  349. -bash: ./re: No such file or directory
  350. [root@iZ28afos96aZ src]# ./redis-cli
  351. 127.0.0.1:6379> get
  352. (error) ERR wrong number of arguments for 'get' command
  353. 127.0.0.1:6379> exit
  354. [root@iZ28afos96aZ src]# ./redis-cli shutdown
  355. [root@iZ28afos96aZ src]# ./redis-server ../redis.conf
  356. [root@iZ28afos96aZ src]# ps -aux|grep redis
  357. Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
  358. root 4327 0.0 0.3 137444 7508 ? Ssl 23:50 0:00 ./redis-server *:6379 [cluster]
  359. root 4335 0.0 0.0 103252 840 pts/8 S+ 23:50 0:00 grep redis
  360. root 22383 0.0 0.4 137444 7836 ? Sl 13:16 0:23 ./redis-server *:6380 [cluster]
  361. root 22417 0.0 0.4 137448 7848 ? Sl 13:18 0:23 ./redis-server *:6381 [cluster]
  362. root 22480 0.0 0.3 137444 7624 ? Sl 13:22 0:23 ./redis-server *:6383 [cluster]
  363. root 22507 0.0 0.4 137448 7844 ? Sl 13:23 0:23 ./redis-server *:6384 [cluster]
  364. root 22515 0.0 0.3 137444 7628 ? Sl 13:24 0:22 ./redis-server *:6382 [cluster]
  365. [root@iZ28afos96aZ src]# ./redis-trib.rb create --replicas 1 127.0.0.1:6384 127.0.0.1:6383 127.0.0.1:6382 127.0.0.1:6381 127.0.0.1:6380 127.0.0.1:6379
  366. >>> Creating cluster
  367. >>> Performing hash slots allocation on 6 nodes...
  368. Using 3 masters:
  369. 127.0.0.1:6384
  370. 127.0.0.1:6383
  371. 127.0.0.1:6382
  372. Adding replica 127.0.0.1:6381 to 127.0.0.1:6384
  373. Adding replica 127.0.0.1:6380 to 127.0.0.1:6383
  374. Adding replica 127.0.0.1:6379 to 127.0.0.1:6382
  375. M: d75e3842921a04d2e530a899194fb5ee92b6fa91 127.0.0.1:6384
  376. slots:0-5460 (5461 slots) master
  377. M: a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a 127.0.0.1:6383
  378. slots:5461-10922 (5462 slots) master
  379. M: cafe8b69992c2171ad2d1119f65b242e315a68e2 127.0.0.1:6382
  380. slots:10923-16383 (5461 slots) master
  381. S: d3826c34d09550a4d56d1569eb5bd652548f7a91 127.0.0.1:6381
  382. replicates d75e3842921a04d2e530a899194fb5ee92b6fa91
  383. S: 0d78e8b3bff995b41c18b2edbbc9ea870f9c1c4a 127.0.0.1:6380
  384. replicates a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a
  385. S: fdacca0da5627679ad3e22ee49efc4611e584fae 127.0.0.1:6379
  386. replicates cafe8b69992c2171ad2d1119f65b242e315a68e2
  387. Can I set the above configuration? (type 'yes' to accept): yes
  388. >>> Nodes configuration updated
  389. >>> Assign a different config epoch to each node
  390. >>> Sending CLUSTER MEET messages to join the cluster
  391. Waiting for the cluster to join.....
  392. >>> Performing Cluster Check (using node 127.0.0.1:6384)
  393. M: d75e3842921a04d2e530a899194fb5ee92b6fa91 127.0.0.1:6384
  394. slots:0-5460 (5461 slots) master
  395. M: a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a 127.0.0.1:6383
  396. slots:5461-10922 (5462 slots) master
  397. M: cafe8b69992c2171ad2d1119f65b242e315a68e2 127.0.0.1:6382
  398. slots:10923-16383 (5461 slots) master
  399. M: d3826c34d09550a4d56d1569eb5bd652548f7a91 127.0.0.1:6381
  400. slots: (0 slots) master
  401. replicates d75e3842921a04d2e530a899194fb5ee92b6fa91
  402. M: 0d78e8b3bff995b41c18b2edbbc9ea870f9c1c4a 127.0.0.1:6380
  403. slots: (0 slots) master
  404. replicates a74e0aa159bcec51dfc94dd52d13f93f1c45ca1a
  405. M: fdacca0da5627679ad3e22ee49efc4611e584fae 127.0.0.1:6379
  406. slots: (0 slots) master
  407. replicates cafe8b69992c2171ad2d1119f65b242e315a68e2
  408. [OK] All nodes agree about slots configuration.
  409. >>> Check for open slots...
  410. >>> Check slots coverage...
  411. [OK] All 16384 slots covered.
  412. [root@iZ28afos96aZ src]#

【redis】 linux 下redis 集群环境搭建的更多相关文章

  1. Linux环境下SolrCloud集群环境搭建关键步骤

    Linux环境下SolrCloud集群环境搭建关键步骤. 前提条件:已经完成ZooKeeper集群环境搭建. 一.下载介质 官网下载地址:http://www.apache.org/dyn/close ...

  2. Linux环境下HDFS集群环境搭建关键步骤

    Linux环境下HDFS集群环境搭建关键步骤记录. 介质版本:hadoop-2.7.3.tar.gz 节点数量:3节点. 一.下载安装介质 官网下载地址:http://hadoop.apache.or ...

  3. Linux环境下ZooKeeper集群环境搭建关键步骤

    ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...

  4. Linux下Hadoop集群环境的安装配置

    1)安装Ubuntu或其他Linux系统: a)为减少错误,集群中的主机最好安装同一版本的Linux系统,我的是Ubuntu12.04. b)每个主机的登陆用户名也最好都一样,比如都是hadoop,不 ...

  5. Ubuntu下kafka集群环境搭建及测试

    kafka介绍: Kafka[1是一种高吞吐量[2]  的分布式发布订阅消息系统,有如下特性: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能 ...

  6. Linux下kafka集群的搭建

    上一篇日志已经搭建好了zookeeper集群,详细请查看:http://www.cnblogs.com/lianliang/p/6533670.html,接下来继续搭建kafka的集群 1.首先下载k ...

  7. Uubntu14.04下 Hadoop集群环境搭建

    1机器信息 master192.168.3.10 hadoop/ hadoop slave1192.168.3.11 hadoop/ hadoop slave2192.168.3.12 hadoop/ ...

  8. kafka 集群环境搭建 java

    简单记录下kafka集群环境搭建过程, 用来做备忘录 安装 第一步: 点击官网下载地址 http://kafka.apache.org/downloads.html 下载最新安装包 第二步: 解压 t ...

  9. redis哨兵集群环境搭建

    一.哨兵的介绍 哨兵(sentinal)是redis集群架构中非常重要的一个组件,主要功能如下: 集群监控,负责监控redis master和slave进程是否正常工作 消息通知,如果某个redis实 ...

  10. Redis 快速集群环境搭建

    环境 Linux :centos 7 redis:redis-5.0.9 Redis 集群环境搭建步骤 早期 redis 版本集群环境搭建需要安装 ruby 运行环境,搭建步骤比较繁琐: redis ...

随机推荐

  1. LPEG

    local lpeg = require "lpeg"    function f0() end;    function f1() return "a" en ...

  2. 第一个demo

    1.首先这是最初的概念模型. 2.最后设计成这样. 3.运行

  3. C语言 负数取余的原理

    负数求余数运算是一个数学问题: 任何一个整数n都可以表示成 n=k*q+r 其中0<=|r|<|q| 这里的r就是n除以q的余数,即 r==n%q 例如: -9=(-2)*4+(-1) 则 ...

  4. [转载] codeblocks快捷键

    ==日常编辑== • 按住Ctrl滚滚轮,代码的字体会随你心意变大变小. • 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦:相关设置:Mouse Drag Scrolling. • C ...

  5. db2 字符串转换 数字

    今天使用聚合函数的时候 发现 varchar类型的是不可用的,所以呢就开始想办法解决 用到了转换函数cast(s.score as bigint) 然后有一个问题就是如果数据为空的话就会发生转换错误. ...

  6. 关于获取目录的N种方法 的汇总

    前段时间在Global.asax.cs中的Session_End中使用Server.MapPath() 出现"服务器操作在此上下文中不可用"异常. 网络上给出的解决方案:Syste ...

  7. ExtJS参考手册

    ExtJS是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架.因此,可以把ExtJS用在.Net.Java.Php等各种开发语言开发的应用中.ExtJs ...

  8. 利用CSS的@font-face属性 在网页中嵌入字体

    字体使用是网页设计中不可或缺的一部分.网页是文字的载体,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内置字体,这样用户在浏览页面的时候就有可能看不到真实的设计. 美工设计师最常做的办 ...

  9. C++中的单例模式

    单例模式也称为单件模式.单子模式,可能是使用最广泛的设计模式.其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享.有很多地方需要这样的功能模块,如系统的日志输出,G ...

  10. 恢复Ext3下被删除的文件(转)

    恢复Ext3下被删除的文件(转) 前言 下面是这个教程将教你如何在Ext3的文件系统中恢复被rm掉的文件. 删除文件 假设我们有一个文件名叫 ‘test.txt’ $ls -il test.txt 1 ...