redis单机版伪分布式集群搭建

    继上一篇redis单机服务器搭建成功之后,按如下方式进行集群搭建。

    搭建一个最小的集群需要6台机器(由节点投票机制决定至少需要3台主节点,另外为了高可用每个主节点至少要备一个从节点,所以总共需要6个节点。这里6个节点全部设在一台机上,通过端口号来分别。实现伪分布式。)

    1.在/usr/local/目录下创建文件夹redisCluster,并在redisCluster目录下创建6个文件夹

    mkdir /usr/local/redisCluster
    mkdir /usr/local/redisCluster/redis0{1,2,3,4,5,6}

    2.复制单机单实例下可正常启动redis情况下的 /usr/local/bin 目录下的所有文件分别到上面创建的6个文件夹中

    cp /usr/local/bin/* /usr/local/redisCluster/redis01/
    cp /usr/local/bin/* /usr/local/redisCluster/redis02/
    cp /usr/local/bin/* /usr/local/redisCluster/redis03/
    cp /usr/local/bin/* /usr/local/redisCluster/redis04/
    cp /usr/local/bin/* /usr/local/redisCluster/redis05/
    cp /usr/local/bin/* /usr/local/redisCluster/redis06/

    3.再对每个实例里面的redis.conf进行修改(这里修改其中一份,然后其他5份进行复制之后修改下端口号即可,可以用ssh工具将该配置文件下载到windows中进行编辑修改,更快捷省事)

    vi /usr/local/redisCluster/redis01/redis.conf

找到以下几处进行修改(修改这10处就基本满足集群启动条件了,其他参数可自行百度)

    第1处: port 6379				    ————> 值 改成 7001
    第2处: daemonize no 			    ————> 值 改成 yes
    第3处: pidfile /var/run/redis_6379.pid  	    ————> 值 改成 ./redis_7001.pid
    第4处: logfile "" 				    ————> 值 改成 "./logs/redis_7001.log"
    第5处: bind 127.0.0.1 			    ————> 值 改成 本机IP(如我这里是192.168.25.129)
    第6处: protected-mode yes 			    ————> 值 改成 no
    第7处: # cluster-enabled yes		    ————> 去掉注释
    第8处: # cluster-config-file nodes-6379.conf    ————> 去掉注释 并把数字改成对应端口号,如这里是7001
    第9处: # cluster-node-timeout 15000	            ————> 去掉注释
    第10处:  appendonly no			    ————> 值 改成 yes

    4.将上面编辑号保存的/usr/local/redisCluster/redis01/目录下的redis.conf文件重命名为7001.conf,然后复制5份分别放到redis02、redis03、redis04、redis05、redis06文件夹下面(可删除掉原文件夹中的redis.conf文件),然后再对每个文件夹下的.conf文件重命名为对应端口号.conf,接着编辑里面的内容,将之前修改为7001的全部修改成对应端口号保存即可,这个工作放到windows中来做可以很方便快捷。(由于配置文件中把log配到当前目录下的logs文件夹中,所以还要在各个文件夹下创建logs文件夹)

    5.将ruby脚本拷贝到redisCluster目录下

    cp /usr/local/redis/redis-4.0.8/src/redis-trib.rb /usr/local/redisCluster/

    6.创建redis集群启动、停止的脚本以及ruby创建集群的脚本并授权

    touch /usr/local/redisCluster/startCluster.sh
    touch /usr/local/redisCluster/shutdownCluster.sh
    touch /usr/local/redisCluster/createCluster.sh
    chmod 777 /usr/local/redisCluster/*.sh

    内容分别如下:

    startCluster.sh

    cd /usr/local/redisCluster/redis01
    ./redis-server ./7001.conf
    cd /usr/local/redisCluster/redis02
    ./redis-server ./7002.conf
    cd /usr/local/redisCluster/redis03
    ./redis-server ./7003.conf
    cd /usr/local/redisCluster/redis04
    ./redis-server ./7004.conf
    cd /usr/local/redisCluster/redis05
    ./redis-server ./7005.conf
    cd /usr/local/redisCluster/redis06
    ./redis-server ./7006.conf

    shutdownCluster.sh

    cd /usr/local/redisCluster/redis01/
    ./redis-cli -h 192.168.25.129 -p 7001 shutdown
    cd /usr/local/redisCluster/redis02/
    ./redis-cli -h 192.168.25.129 -p 7002 shutdown
    cd /usr/local/redisCluster/redis03/
    ./redis-cli -h 192.168.25.129 -p 7003 shutdown
    cd /usr/local/redisCluster/redis04/
    ./redis-cli -h 192.168.25.129 -p 7004 shutdown
    cd /usr/local/redisCluster/redis05/
    ./redis-cli -h 192.168.25.129 -p 7005 shutdown
    cd /usr/local/redisCluster/redis06/
    ./redis-cli -h 192.168.25.129 -p 7006 shutdown

    createCluster.sh

ruby redis-trib.rb create --replicas 1 192.168.25.129:7001 192.168.25.129:7002 192.168.25.129:7003 192.168.25.129:7004 192.168.25.129:7005 192.168.25.129:7006

  最后redisCluster目录和各个redis实例目录结构如下:

         

    

  7.先用刚刚创建的脚本启动6个实例,再用ruby脚本创建集群

    cd /usr/local/redisCluster/
    ./startCluster.sh

    查看进程:

    ps -ef | grep redis

    

    再运行ruby脚本创建集群

    ./createCluster.sh

   

然后 输 yes

    

这样集群就搭建成功了。登录任意一个节点客户端验证(-c 表示以集群方式登录),也可以用redis客户端工具RedisDesktopManager来可视化地管理redis数据库。

cd /usr/local/redisCluster/redis01/
./redis-cli -h 192.168.25.129 -p 7001 -c

    

这样一路顺风就搭建完成了。超简单有没有?


但是初次搭建,可能linux中有些软件没有安装,需要联网安装的。

主要有下面几个:

yum -y install gcc                    ## make install 命令需要此环境
yum -y intall ruby                    ## 安装ruby(此时安装的可能使低版本的)
curl -L get.rvm.io | bash -s stable   ## 安装rvm
source /usr/local/rvm/scripts/rvm     ## 使安装的rvm立即生效
rvm install 2.4.1	              ## 通过rvm来安装ruby高级版本
gem install redis                     ## 通过ruby的工具包gem来安装redis接口

顺利到此,则运行ruby脚本的环境已具备
通过startCluster.sh脚本先启动6个实例,然后通过createCluster.sh脚本创建集群即可成功.
另外,需要注意的是,在关闭redis集群之后,再次重复步骤启动集群时会报错,此时只需要删除redis各个实例中生成的文件即可再次按步骤启动集群(当然,这是在测试时这么干)。









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值