redis集群部署---一台主机

1、下载redis tar包———redis-4.0.9.tar.gz,放在目录/opt/redis目录下

2、解压tar包

  tar -zxvf redis-4.0.9.tar.gz

  得到/opt/redis/redis-4.0.9

3、进入redis-4.0.9/编译redis代码

  make

  make install

4、进入redis-4.0.9/src目录下,查看得到的可执行程序:mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb

   将这些可执行程序复制到/home/redis/bin目录下。

5、在/home/redis/目录下建立集群数据目录。

  mkdir /home/redis/rediscluster

6、将/opt/redis/redis-4.0.9目录下的redis.conf复制到 /home/redis/rediscluster/

7、在/home/redis/rediscluster/创建6个目录(用于放3主3备的节点的数据)。

  cd /home/redis/rediscluster/

  mkdir 6580 6581 6582 6583 6584 6585

8、修改redis.conf文件

port 6580
bind 192.168.10.131
daemonize yes
dir "/usr/local/redis/rediscluster/6580"
pidfile "/usr/local/redis/rediscluster/6580/redis_6580.pid"
cluster-enabled yes
cluster-config-file "/usr/local/redis/rediscluster/6580/nodes_6580.conf"
cluster-node-timeout 15000
appendonly no
appendfilename "redis_6580.aof"
appendfsync everysec
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename "redis_dump_6585.rdb"
loglevel notice
logfile "/usr/local/redis/rediscluster/6580/redis_6580.log"
maxclients 5000
maxmemory 10gb
requirepass 123
masterauth  123

  将上述改完的配置文件redis.conf复制到/usr/local/redis/rediscluster/6580/目录下,已经修改端口并复制到相应的目录下。

  例如:使用命令批量修改端口sed -i '/s/6580/6581/g' redis.conf并复制到/usr/local/redis/rediscluster6581/目录下

8、创建节点启动脚本

 touch nodes_start.sh

#!/bin/bash
../bin/redis-server ./6580/redis_6580.conf
../bin/redis-server ./6581/redis_6581.conf
../bin/redis-server ./6582/redis_6582.conf
../bin/redis-server ./6583/redis_6583.conf
../bin/redis-server ./6584/redis_6584.conf
../bin/redis-server ./6585/redis_6585.conf

  给权限:chmod +x nodes_start.sh

  执行:./nodes_start.sh

  查看节点是否启动:ps -ef | grep redis

9、接下来是创建集群关系:

  ./redis-trib.rb create --replicas 192.168.10.131:6580 192.168.10.131:6581 192.168.10.131:6582 192.168.10.131:6583 192.168.10.131:6584 192.168.10.131:6585

  这里遇到两个问题:

  问题一:没有安装ruby:

  /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)"

  解决方法:

  apt-get install ruby

  问题二:ruby客户端没有配置redis认证的密码

  [ERR] Sorry, can't connect to node

  解决方法:

  cd /

  find . -name client.rb

  vi  ***/lib/gems/2.3.0/gems/redis-4.0.1/lib/redis/client.rb

  

  这里因为redis.conf添加了配置了 requirepass 123 选项,所以需要在ruby客户端上加上密码。

  。。。。

  先到这里

posted on 2018-05-07 22:13  GnibChen  阅读(260)  评论(0编辑  收藏  举报