redis集群的搭建,踩过得坑

1,我搭的是伪集群,就是在一台机器上启动了六个redis服务

2,启动一个redis服务,很简单,下载包,解压,直接redis-server redis.conf启动就可以

3,集群的话,看了好多教程,说的特别复杂,我的方法就是讲redis.文件复制六份,修改里面的端口,还有pidfile,,还有开启集群的功能(就是把注释放开就好),然后依次用命令起

4,起来之后,就需要搭建集群了,现在这六个服务是没有主从,没有用任何交互的,所以,需要通过一个工具将这六个整合起来。执行这个工具的命令后,可能会提示什么什么版本太低,(好像是2.2.0什么什么???)然后升级一下就可以了。再执行就ok了,会提示你谁是master,谁是slave。

没什么大坑,挺容易的

 

在自己服务器上,重新搭一次,再补充一下

1,第一步:下载redis安装包wget http://download.redis.io/releases/redis-4.0.6.tar.gz

2,第二步:解压压缩包tar -zxvf redis-4.0.6.tar.gz

3,第三步:yum安装gcc依赖:yum install gcc  

4,第四部:跳转到redis解压目录下cd redis-4.0.6

5,第五步:编译安装;make 

6,第六步:启动redis,很多教程说redis-server命令在bin目录下,其实redis4版本的命令都在src文件夹下

这里说一下,如果直接启动的话,命令行会停在启动框内,不能进行别的操作,对应的就是默认启动不是后台启动。所以需要:

vim redis.conf -》daemonize no改成daemonize yes.conf

 

7,再启动。然后验证一下,ps -ef |grep redis

会看到127.0.0.1:6379进程启动了,这里说下,redis默认端口是6379

(cd src && make install这条命令可以吧src里面的命令加载到/usr/local/bin中)

 

 

1,然后在搭建集群,我打算9001,9002,9003,作为master,9004,9005,9006是slave

我在/usr/redisz/在新建了redis-cluster文件夹:mkdir redis-cluster

然后将/usr/redis/redis-4.0.6/redis.conf复制到/usr/redisz/redis-cluster下,并重命名为redis9001.conf

cp /usr/redis/redis-4.0.6/redis.conf /usr/redisz/redis-cluster/redis9001.conf

修改redis9001.conf内容如下:vim redis9001.conf

                    bind 192.168.1.21             #本机IP

      port 9001                   #改为设定的端口

      daemonize yes                    #后台启动(刚才咱已经设置好了)

      cluster-enabled yes          #启动集群模式

                     pidfile /var/run/redis_9001.pid           #pid 改不改都行
 

      cluster-config-file nodes-9001.conf  #集群内部配置文件,改掉端口号 

      cluster-node-timeout 15000     #节点超时时间,单位:毫秒

改完之后,redis-server redis9001.conf启动即可

ps -ef |grep redis 你会发现9001端口的进程后会有中括号[cluster]

2,将redis9001.conf复制redis9002.conf->redis9006.conf六份,然后9002-9006设置的和9001一样。

这里说一个妙招:替换

先vim redis9002.conf

然后执行:%s/9001/9002/g

意思是将全文中的9001改为9002

然后依次启动,redis-server redis900x.conf

3,现在虽然6个都起来了,但彼此之间没有关系

参考(https://www.cnblogs.com/ding2016/p/7892542.html):

redis-trib.rb环境准备(该文件存在于redis-4.0.1/src/目录中)    //只需要在其中一台上执行此步骤!!

      redis-trib.rb是采用Ruby实现的Redis集群管理工具。内部通过Cluster相关命令帮助

    我们简化集群创建、检查、槽迁移和均衡等常见操作,使用之前需要安装Ruby依赖环境。

①安装Ruby

    ~]# wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gz

    ~]# tar zxvf  ruby-2.3.5.tar.gz

    ~]# cd ruby-2.3.5

    ruby-2.3.5]# ./configure  --prefix=/opt/ruby

    ruby-2.3.5]# make && make install

    ruby-2.3.5]# ln -s /opt/ruby/bin/ruby /usr/bin/ruby

    ruby-2.3.5]# ln -s /opt/ruby/bin/gem /usr/bin/gem

    ~]#ruby -v    //查看一下

    

   ②安装rubygem redis依赖

    ~]# wget http://rubygems.org/downloads/redis-3.3.0.gem

                     yum install rubygems

    ~]# gem install -l redis-3.3.0.gem

    

 ③检查redis-trib.rb的可用性

    ~]# ./redis-4.0.1/src/redis-trib.rb    //如下图所示代表可用了

    

4,创建集群:
redis-trib.rb create  --replicas 1 192.168.56.99:9001 192.168.56.99:9002 192.168.56.99:9003 192.168.56.99:9004 192.168.56.99:9005 192.168.56.99:9006

发现报错,是因为redis900X.conf配置文件中 bind 127.0.0.1

将此配置改为

bind 192.168.56.99

再启动集群,ok,显示如下:

Using 3 masters:
192.168.56.99:9001
192.168.56.99:9002
192.168.56.99:9003
Adding replica 192.168.56.99:9004 to 192.168.56.99:9001
Adding replica 192.168.56.99:9005 to 192.168.56.99:9002
Adding replica 192.168.56.99:9006 to 192.168.56.99:9003

M: 0a65ddf6b06c03e007597472795b5fc903bf0f19 192.168.56.99:9001
   slots:0-5460 (5461 slots) master
M: 9d5fd6c8c452a635158cc4bde36d490da98fe0cf 192.168.56.99:9002
   slots:5461-10922 (5462 slots) master
M: 2840c063aa41135cb30568e9f64e83a4ace49661 192.168.56.99:9003
   slots:10923-16383 (5461 slots) master
S: cc35b6238e2a535b4e4bc0e1de165c9f291c6d5c 192.168.56.99:9004
   replicates 0a65ddf6b06c03e007597472795b5fc903bf0f19
S: b047ef4b392a5ef68a3ffd6cd265a1f7b82c8b6c 192.168.56.99:9005
   replicates 9d5fd6c8c452a635158cc4bde36d490da98fe0cf
S: 91000ed4e6794c026af50a6287e1c7def1e30b77 192.168.56.99:9006
   replicates 2840c063aa41135cb30568e9f64e83a4ace49661
 

转载于:https://my.oschina.net/u/3796880/blog/2251424

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值