redis一个比较大的改变,redis3.0.1稳定版本发布,支持集群。redis集群配置reidsCluster(一)

2015-07-21 16:27:13 · 作者: · 浏览: 7

先说一下在配置的流程和遇到的一些问题:

安装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