Redis集群部署文档(centos6系统)

来源:互联网 发布:mysql查询分析器 编辑:程序博客网 时间:2024/05/16 06:18
Redis集群部署文档(centos6系统)
(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
127.0.0.1:7004
127.0.0.1:7005

1:下载redis。官网下载3.0.0版本,之前2.几的版本不支持集群模式
下载地址:https://github.com/antirez/redis/archive/3.0.0-rc2.tar.gz

2:上传服务器,解压,编译
tar -zxvf redis-3.0.0-rc2.tar.gz
mv redis-3.0.0-rc2.tar.gz redis3.0
cd /usr/local/redis3.0
make
make install

3:创建集群需要的目录
mkdir -p /usr.local/cluster
cd /usr.local/cluster
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005

 

4:修改配置文件redis.conf
cp /usr/local/redis3.0/redis.conf  /usr.local/cluster
vi redis.conf
##修改配置文件中的下面选项
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7000/7001/7002/7003/7004/7005目录下面
cp /usr/local/cluster/redis.conf /usr/local/cluster/7000
cp /usr/local/cluster/redis.conf /usr/local/cluster/7001
cp /usr/local/cluster/redis.conf /usr/local/cluster/7002
cp /usr/local/cluster/redis.conf /usr/local/cluster/7003
cp /usr/local/cluster/redis.conf /usr/local/cluster/7004
cp /usr/local/cluster/redis.conf /usr/local/cluster/7005

##注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称

5:分别启动这6个redis实例
cd /usr/local/cluster/7000
redis-server redis.conf
cd /usr/local/cluster/7001
redis-server redis.conf
cd /usr/local/cluster/7002
redis-server redis.conf
cd /usr/local/cluster/7003
redis-server redis.conf
cd /usr/local/cluster/7004
redis-server redis.conf
cd /usr/local/cluster/7005
redis-server redis.conf

##启动之后使用命令查看redis的启动情况ps -ef|grep redis
如下图显示则说明启动成功

6:执行redis的创建集群命令创建集群
cd /usr/local/redis3.0/src
./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

6.1执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
yum install ruby

6.2然后再执行第6步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装
错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
yum install rubygems

6.3再次执行第6步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装
错误内容:
/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

gem install  redis --version 3.0.0

注意:gem install redis --version 3.0.0 失败的话,需要修改一下gem的源
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/

改为本地gem安装:
到https://rubygems.org/下载一个
gem install --local redis.3.3.2.gem


[test@redis src]$ ./redis-trib.rb  create --replicas 1 10.3.2.12:7000 10.3.2.12:7001 10.3.2.12:7002 10.3.2.12:7003 10.3.2.12:7004 10.3.2.12:7005
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
10.3.2.12:7000
10.3.2.12:7001
10.3.2.12:7002
Adding replica 10.3.2.12:7003 to 10.3.2.12:7000
Adding replica 10.3.2.12:7004 to 10.3.2.12:7001
Adding replica 10.3.2.12:7005 to 10.3.2.12:7002
M: 4a11cd5aaf0a7f14e58d7ba918b2bbcb729bd9ba 10.3.2.12:7000
   slots:0-5460 (5461 slots) master
M: a1cca484d9f7f66bce369f664daa3e650fd28ddd 10.3.2.12:7001
   slots:5461-10922 (5462 slots) master
M: a38823bca69485b2784b9b680fe051d11b143bf1 10.3.2.12:7002
   slots:10923-16383 (5461 slots) master
S: b4e0aa4db782c82dd78a489e48d59d041ea6287d 10.3.2.12:7003
   replicates 4a11cd5aaf0a7f14e58d7ba918b2bbcb729bd9ba
S: e4bc263ee63b470bd4e482aa6f3fda26336066c6 10.3.2.12:7004
   replicates a1cca484d9f7f66bce369f664daa3e650fd28ddd
S: 658f890b556e5d527f0bf824dfdb391fb4226f85 10.3.2.12:7005
   replicates a38823bca69485b2784b9b680fe051d11b143bf1
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.....
>>> Performing Cluster Check (using node 10.3.2.12:7000)
M: 4a11cd5aaf0a7f14e58d7ba918b2bbcb729bd9ba 10.3.2.12:7000
   slots:0-5460 (5461 slots) master
M: a1cca484d9f7f66bce369f664daa3e650fd28ddd 10.3.2.12:7001
   slots:5461-10922 (5462 slots) master
M: a38823bca69485b2784b9b680fe051d11b143bf1 10.3.2.12:7002
   slots:10923-16383 (5461 slots) master
M: b4e0aa4db782c82dd78a489e48d59d041ea6287d 10.3.2.12:7003
   slots: (0 slots) master
   replicates 4a11cd5aaf0a7f14e58d7ba918b2bbcb729bd9ba
M: e4bc263ee63b470bd4e482aa6f3fda26336066c6 10.3.2.12:7004
   slots: (0 slots) master
   replicates a1cca484d9f7f66bce369f664daa3e650fd28ddd
M: 658f890b556e5d527f0bf824dfdb391fb4226f85 10.3.2.12:7005
   slots: (0 slots) master
   replicates a38823bca69485b2784b9b680fe051d11b143bf1
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

原创粉丝点击