redis集群安装

来源:互联网 发布:淘宝信用还款方式 编辑:程序博客网 时间:2024/06/05 11:32

1 下载redis
最新版本下载地址:
http://download.redis.io/releases/redis-3.2.3.tar.gz

2 服务器环境
本次安装使用的是redis-3.0.4版本,此文档只完全适用于redhat el6 或centOS 6的操作系统,其它版本系统对ruby安装包依赖版本可能有出入,请根据ruby官网进行查询系统具体适应的版本号进行调整。
服务器环境(共三台服务器)

操作系统 Redhat 6.2
IP 10.10.2.236

操作系统 Redhat 6.2
IP 10.10.2.237

操作系统 Redhat 6.2
IP 10.10.2.238

3 安装redis
3.1 安装ruby

[root@ye opt]# rpm -ivh –nodeps ruby-1.8.7.352-3.el6.x86_64.rpm ruby-irb-1.8.7.352-3.el6.x86_64.rpm ruby-libs-1.8.7.352-3.el6.x86_64.rpm ruby-qpid-qmf-0.12-6.el6.x86_64.rpm ruby-qpid-0.7.946106-2.el6.x86_64.rpm rubygems-1.3.7-2.3.noarch.rpm
warning: ruby-1.8.7.352-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
warning: rubygems-1.3.7-2.3.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 0b8f71fe: NOKEY
Preparing… ########################################### [100%]
1:ruby-libs ########################################### [ 17%]
2:ruby ########################################### [ 33%]
3:ruby-irb ########################################### [ 50%]
4:ruby-qpid ########################################### [ 67%]
5:rubygems ########################################### [ 83%]
6:ruby-qpid-qmf ########################################### [100%]
[root@ye opt]# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

3.2 解压redis
[root@ye opt]# tar -zxvf redis-3.0.4.tar.gz
[root@ye opt]# cp -r redis-3.0.4 /usr/local/7000

3.3 安装redis
[root@ye 7001]# make
[root@ye 7000]# make install
cd src && make install
make[1]: Entering directory `/usr/local/7000/src’

Hint: It’s a good idea to run ‘make test’ ;)

INSTALL installINSTALL installINSTALL installINSTALL installINSTALL install

make[1]: Leaving directory `/usr/local/7000/src’

[root@ye local]# cp -r 7000 7001

其它两台机器进行相同的安装操作
3.4 修改配置
[root@ye redis]# pwd
/usr/local/redis
[root@ye redis]# vi redis.conf
修改配置文件中的下面选项
端口号
port 7000
绑定IP
bind 10.10.2.236
是否后台运行
daemonize yes
是否激活集群
cluster-enabled yes
每个集群节点有一个集群配置文件,这个文件并不是通过手工进行修改编辑的。它是通过#redis节点进行创建和更新的,每个redis集群节点需要一个不同的集群配置文件,确认实
例运营在同一个系统下时,没有相同重复的集群配置文件名字。
cluster-config-file nodes-7000.conf
超时时间 毫秒
cluster-node-timeout 15000
appendonly yes

3.5 gem安装redis ruby接口
只要运行集群命令的机器安装即可,本次只在10.10.2.236机器上上安装
[root@ye redis]# gem install redis
Successfully installed redis-3.3.1
1 gem installed
Installing ri documentation for redis-3.3.1…
Installing RDoc documentation for redis-3.3.1…

3.6 集群redis

[root@ye src]# ./redis-trib.rb create –replicas 1 10.10.2.236:7000 10.10.2.236:7001 10.10.2.237:7002 10.10.2.237:7003 10.10.2.238:7004 10.10.2.238:7005

Creating cluster
Connecting to node 10.10.2.236:7000: OK
Connecting to node 10.10.2.236:7001: OK
Connecting to node 10.10.2.237:7002: OK
Connecting to node 10.10.2.237:7003: OK
Connecting to node 10.10.2.238:7004: OK
Connecting to node 10.10.2.238:7005: OK
Performing hash slots allocation on 6 nodes…
Using 3 masters:
10.10.2.236:7000
10.10.2.237:7002
10.10.2.238:7004
Adding replica 10.10.2.237:7003 to 10.10.2.236:7000
Adding replica 10.10.2.236:7001 to 10.10.2.237:7002
Adding replica 10.10.2.238:7005 to 10.10.2.238:7004
M: 40dd4e40722ed47483d5c81c247ff7b8deab3190 10.10.2.236:7000
slots:0-5460 (5461 slots) master
S: 7f66a4d73b745fbbc23ac08298c30b2c0458a44f 10.10.2.236:7001
replicates 682a739953a90257d523f8ed9eaab1b2fc9eb675
M: 682a739953a90257d523f8ed9eaab1b2fc9eb675 10.10.2.237:7002
slots:5461-10922 (5462 slots) master
S: 945dac2164ba55caf99b5b03dbcacfca0c5f2ed2 10.10.2.237:7003
replicates 40dd4e40722ed47483d5c81c247ff7b8deab3190
M: dc0e081b1642db1b35504c6f92b1334936f94248 10.10.2.238:7004
slots:10923-16383 (5461 slots) master
S: 38a3479e63cd6b36fad4af8fa91be52abe6a7748 10.10.2.238:7005
replicates dc0e081b1642db1b35504c6f92b1334936f94248
Can I set the above configuration? (type ‘yes’ to accept):
* Aborting…

3.7 测试是否安装成功
[root@ye 7000]# redis-cli -c -h 10.10.2.236 -p 7000
10.10.2.236:7000>
10.10.2.236:7000>
10.10.2.236:7000> set foo bar
-> Redirected to slot [12182] located at 10.10.2.238:7004
OK
10.10.2.238:7004> get foo
“bar”
10.10.2.238:7004> quit
4 遇到问题
1.ERROR: While executing gem … (Gem::DocumentError)
ERROR: RDoc documentation generator not installed: no such file to load – rdoc/rdo

原因:少了ruby-rdoc-1.8.7.374-4.el6_6.x86_64包
解决办法:
[root@ye opt]# rpm -ivh –nodeps ruby-devel-1.8.7.374-4.el6_6.x86_64.rpm ruby-rdoc-1.8.7.374-4.el6_6.x86_64.rpm
Preparing… ########################################### [100%]
1:ruby-rdoc ########################################### [ 50%]
2:ruby-devel ########################################### [100%]

2.[root@ye src]# ./redis-trib.rb check 10.10.2.236:7000
Connecting to node 10.10.2.236:7000: OK

Performing Cluster Check (using node 10.10.2.236:7000)
M: 40dd4e40722ed47483d5c81c247ff7b8deab3190 10.10.2.236:7000
slots: (0 slots) master
0 additional replica(s)
[OK] All nodes agree about slots configuration.
Check for open slots…
Check slots coverage…
[ERR] Not all 16384 slots are covered by nodes.

原因:集群redis(Can I set the above configuration? (type ‘yes’ to accept): )时没有输入YES,直接敲了回车。
解决办法:重新运行集群命令,并注意提示时,输入yes

5 附录
redis.conf 配置文件中有一项dbfilename dump.rdb配置项,此项为数据库存储文件

系统依赖ruby包建议直接从系统光盘packages里面获取,其中redhat6.2有rubygems-1.3.7-2.3.noarch.rpm ruby-rdoc-1.8.7.374-4.el6_6.x86_64.rpm ruby-devel-1.8.7.374-4.el6_6.x86_64.rpm三个包是没有的,可以在缺少RPM包下载地址: http://rpm.pbone.net/网址上下载

0 0