先说一下在配置的流程和遇到的一些问题:
安装redis
$ wget http://download.redis.io/releases/redis-3.0.1.tar.gz $ tar xzf redis-3.0.1.tar.gz $ cd redis-3.0.1 $ make $ src/redis-server $ src/redis-cli redis> set 11 22 OK redis> get 11 "22"
配置redis.conf 修改如下参数
?
port 6379 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes
?
进入到redis目录下,注意:
mkdir cluster-test cd cluster-test mkdir 6379 6380 6381 6382 6383 6384 #这里需要注意,最少是6个,copy之前修改的redis.conf 文件到对应的文件夹中,修改每个conf中的端口号cd 6379../redis-server ./redis.conf#启动redis实例
Ok,redis这边先不管了,接下来需要装几个有依赖的软件,如下操作必须使用系统管理员(root)进行登陆和安装:
安装 Ruby
检查是否已经安装过:rpm -qa |grep ruby 有:rpm -e 软件名 无:继续下面
安装ruby(安装ruby到 /usr/local/ruby):
$mkdir /usr/local/ruby$wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz $tar -xzvf ruby-2.2.2.tar.gz$cd ruby-2.2.2?
$./configure -prefix=/usr/local/ruby
$make $make install $cp ruby /usr/local/bin $ruby -v #验证是不是安装成功 ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]?
安装 Ruby Gems (https://rubygems.org/pages/download)
?
$wget http://production.cf.rubygems.org/rubygems/rubygems-2.4.7.tgz $tar -xzvf rubygems-2.4.7.tgz $cd rubygems-2.4.7 $ruby setup.rb $cp bin/gem /usr/local/bin $gem -v?
依赖的软件安装完成,接下来开始创建集群 (Creating the cluster)
$cd /data/redis-3.0.1/src $./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 $.....[OK] All 16384 slots covered#最后提示这样的语句表示成功在执行上面的时候可能会提示如下错误:
/opt/cluster_test/redis-unstable/src# src/redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381127.0.0.1:6382127.0.0.1:6383 127.0.0.1:6384 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- redis (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from /opt/cluster_test/redis-unstable/src/redis-trib.rb:25:in `' 研究了很久,发现ruby是要访问redis的,但是并没有安装redis的第三方小插件,所以需要在gems中安装redis的访问接口:
gem install redis --version 3.0.0 #由于源的原因,可能下载失败,就手动下载下来安装 #download地址:http://rubygems.org/gems/redis/versions/3.0.0 gem install -l /data/soft/redis-3.0.0.gem安装的时候报错了吧,提示说什么 Zlib 没找到什么的:
?
gem install redis ERROR: Loading command: install (LoadError) no such file to load -- zlib ERROR: While executing gem ... (NameError) uninitialized constant Gem::Commands::InstallCommand?
解决办法是:
?
进入ruby源码文件夹 安装ruby自身提供的zlib包 #cd ext/zlib #ruby ./extconf.rb #make #make install?
结束,可以尽情的玩了:
$ redis-cli -c -p 6379 redis 127.0.0.1:6379> set foo bar -> Redirected to slot [12182] located at 127.0.0.1:6380 OK redis 127.0.0.1:6380> set hello world -> Redirected to slot [866] located at 127.0.0.1:6381 OK redis 127.0.0.1:6379> get foo -> Redirected to slot [12182] located at 127.0.0.1:6382 "bar" redis 127.0.0.1:6379> get hello -> Redirected to slot [866] located at 127.0.0.1:7379 "world"
?
如上是今天安装的全过程,其中卡在zlib这里和在gems这里浪费了很多时间,在此记录下,各位大神如有用到,有问题也可与我交流 QQ:154833488。
下面是官网的介绍和配置的使用:
Redis cluster tutorial
This document is a gentle introduction to Redis Cluster, that does not use complex to understand distributed systems concepts. It provides in