CentOS6.6安装Redis3.0.3集群

一个Redis集群,至少需要6个节点,3个为主,3个为从。

IP

端口

节点

127.0.0.1

7000

Master

127.0.0.1

7001

Master

127.0.0.1

7002

Master

127.0.0.1

7003

Slave

127.0.0.1

7004

Slave

127.0.0.1

7005

Slave

 

安装步骤:

一、下载redis3.0.3

# cd /usr/local

# wget http://download.redis.io/releases/redis-3.0.3.tar.gz

 

二、解压并编译

# tar -zxvf redis-3.0.3.tar.gz

# cd redis-3.0.3

# make

# make test

# make install

 

执行make install后,在/usr/local/bin目录下可看到生成了一些文件:

# ls /usr/local/bin/

redis-benchmark  redis-check-dump  redis-sentinel

redis-check-aof  redis-cli         redis-server

 

三、创建集群需要的目录并拷贝redis

# mkdir -p /usr/local/cluster

# mkdir -p /usr/local/cluster/7000

# mkdir -p /usr/local/cluster/7001

# mkdir -p /usr/local/cluster/7002

# mkdir -p /usr/local/cluster/7003

# mkdir -p /usr/local/cluster/7004

# mkdir -p /usr/local/cluster/7005

 

# cp -rf /usr/local/redis-3.0.3/* /usr/local/cluster/7000/

# cp -rf /usr/local/redis-3.0.3/* /usr/local/cluster/7001/

# cp -rf /usr/local/redis-3.0.3/* /usr/local/cluster/7002/

# cp -rf /usr/local/redis-3.0.3/* /usr/local/cluster/7003/

# cp -rf /usr/local/redis-3.0.3/* /usr/local/cluster/7004/

# cp -rf /usr/local/redis-3.0.3/* /usr/local/cluster/7005/

 

四、修改配置文件redis.conf

# vi /usr/local/cluster/7000/redis.conf

 

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

daemonize yes

port 7000

appendonly yes

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

 

用7000/redis.conf覆盖7001,7002,7003,7004,7005目录下的redis.conf

# cp /usr/local/cluster/7001/redis.conf /usr/local/cluster/7001

# cp /usr/local/cluster/7001/redis.conf /usr/local/cluster/7002

# cp /usr/local/cluster/7001/redis.conf /usr/local/cluster/7003

# cp /usr/local/cluster/7001/redis.conf /usr/local/cluster/7004

# cp /usr/local/cluster/7001/redis.conf /usr/local/cluster/7005

 

再修改7001,7002,7003,7004,7005目录下的redis.conf中的port,使得redis.conf中的port与其父目录名称一致,比如7001/redis.conf中的port为7001,7002/redis.conf中的port为7002

 

五、启动6个redis

# cd /usr/local/cluster/7000/src

# redis-server ../redis.conf

# cd /usr/local/cluster/7001/src

# redis-server ../redis.conf

# cd /usr/local/cluster/7002/src

# redis-server ../redis.conf

# cd /usr/local/cluster/7003/src

# redis-server ../redis.conf

# cd /usr/local/cluster/7004/src

# redis-server ../redis.conf

# cd /usr/local/cluster/7005/src

# redis-server ../redis.conf

 

启动之后使用命令查看redis的启动情况

# ps -ef | grep redis

root       9656      1  0 20:35 ?        00:00:00 redis-server *:7000 [cluster]                 

root       9684      1  0 20:37 ?        00:00:00 redis-server *:7001 [cluster]

root       9725      1  0 20:43 ?        00:00:00 redis-server *:7002 [cluster]

root       9730      1  0 20:43 ?        00:00:00 redis-server *:7003 [cluster]

root       9734      1  0 20:43 ?        00:00:00 redis-server *:7004 [cluster]

root       9739      1  0 20:43 ?        00:00:00 redis-server *:7005 [cluster]

root       9743   3288  0 20:43 pts/0    00:00:00 grep redis

 

六、创建redis集群

1 执行创建redis集群的命令会报错,提示找不到ruby

# cd /usr/local/redis-3.0.3/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

/usr/bin/env: ruby: 没有那个文件或目录

 

解决此错误需要安装ruby,这里推荐使用yum install ruby

# yum install ruby

 

2 再执行创建集群的命令,还会报错,提示缺少rubygems组件

# ./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

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

         from ./redis-trib.rb:24

 

解决此错误需要安装rubygems

# yum install rubygems

 

3 再次执行创建集群的命令,还会报错,提示不能加载redis,是因为缺少redis的接口

# ./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

/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

 

解决此错误需要安装redis

# gem install redis

Successfully installed redis-3.3.3

1 gem installed

Installing ri documentation for redis-3.3.3...

Installing RDoc documentation for redis-3.3.3...

 

注意,有时候碰到无法安装的情况,需要手工下载并安装:

# wget https://rubygems.global.ssl.fastly.net/gems/redis-3.3.3.gem

# gem install -l ./redis-3.3.3.gem

 

4 再次执行安装集群的命令,正常执行

# ./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

>>> Creating cluster

Connecting to node 127.0.0.1:7000: OK

Connecting to node 127.0.0.1:7001: OK

Connecting to node 127.0.0.1:7002: OK

Connecting to node 127.0.0.1:7003: OK

Connecting to node 127.0.0.1:7004: OK

Connecting to node 127.0.0.1:7005: OK

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

127.0.0.1:7000

127.0.0.1:7001

127.0.0.1:7002

Adding replica 127.0.0.1:7003 to 127.0.0.1:7000

Adding replica 127.0.0.1:7004 to 127.0.0.1:7001

Adding replica 127.0.0.1:7005 to 127.0.0.1:7002

M: 747467b5f2e2a472afad96de6c88dc2f3bf5b426 127.0.0.1:7000

   slots:0-5460 (5461 slots) master

M: 4e4d8ba07d743c4e69fcd5df8867b996084ca4d9 127.0.0.1:7001

   slots:5461-10922 (5462 slots) master

M: a6fe3c0a16bcb465a23147de8a3e242deb87e800 127.0.0.1:7002

   slots:10923-16383 (5461 slots) master

S: 827ca514f4289dc4ac4d51308721f90851ae6180 127.0.0.1:7003

   replicates 747467b5f2e2a472afad96de6c88dc2f3bf5b426

S: be77a6f99e905109150ceaaa50d357ed86803a4c 127.0.0.1:7004

   replicates 4e4d8ba07d743c4e69fcd5df8867b996084ca4d9

S: 1285a04f3628c3e76f14d1036c59aef1cb36258d 127.0.0.1:7005

   replicates a6fe3c0a16bcb465a23147de8a3e242deb87e800

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 127.0.0.1:7000)

M: 747467b5f2e2a472afad96de6c88dc2f3bf5b426 127.0.0.1:7000

   slots:0-5460 (5461 slots) master

M: 4e4d8ba07d743c4e69fcd5df8867b996084ca4d9 127.0.0.1:7001

   slots:5461-10922 (5462 slots) master

M: a6fe3c0a16bcb465a23147de8a3e242deb87e800 127.0.0.1:7002

   slots:10923-16383 (5461 slots) master

M: 827ca514f4289dc4ac4d51308721f90851ae6180 127.0.0.1:7003

   slots: (0 slots) master

   replicates 747467b5f2e2a472afad96de6c88dc2f3bf5b426

M: be77a6f99e905109150ceaaa50d357ed86803a4c 127.0.0.1:7004

   slots: (0 slots) master

   replicates 4e4d8ba07d743c4e69fcd5df8867b996084ca4d9

M: 1285a04f3628c3e76f14d1036c59aef1cb36258d 127.0.0.1:7005

   slots: (0 slots) master

   replicates a6fe3c0a16bcb465a23147de8a3e242deb87e800

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

 

至此redis集群即搭建成功!

 

七、执行redis-cli命令进入集群环境

# redis-cli -c -p 7000

127.0.0.1:7000> quit;

#

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485627/viewspace-2138237/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29485627/viewspace-2138237/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值