9404803 发表于 2016-12-19 09:47:47

Redis 3.0.2高可用集群(中)------ Redis-Cluster部署

         好,原文再续,书接上一回,上回我介绍了一下Redis的安装,这回我们来配一下集群------Redis Cluster
 
Redis-Cluster安装部署步骤
 
1.         下载zlib-1.2.8.tar.gz、ruby-2.2.2.tar.gz、rubygems-2.4.8.tgz和redis-3.2.1.gem(ruby安装包比较大、rubygem的文件格式不能上传,所以大家自己想办法,其他两个见附件)
 
2.          安装:
    1)        安装zlib
           a)        tar –zxvf  zlib-1.2.8.tar.gz
           b)        cd zlib-1.2.8
           c)      ./configure
           d)        make
           e)        make install
 
     2)         安装ruby
    a)        tar –zxvf  ruby-2.2.2.tar.gz
    b)      cd  ruby-2.2.2
    c)         ./configure -prefix=/usr/local/ruby
    d)       make
    e)         make  install
    f)        sudo cp ruby /usr/local/bin
 
      3)          安装rubygems
            a)       tar –zxvf  rubygems-2.4.8.tgz
            b)     cd rubygems-2.4.8
            c)      sudo ruby setup.rb 
            d)     sudo cp bin/gem /usr/local/bin  
      4)         安装ruby-redis-3.2.1.gem插件
             a)        gem install -l ruby-redis-3.2.1.gem
           
 
       5)        配置redis-cluster启动脚本 
              a)        cd /%redis_home%/src  redis-trib.rb  /usr/local/bin/redis-trib
 
 3.         部署




A机10.92.21.17



实例1端口6379
实例2 端口7379
实例3 端口8379





B机10.92.21.18



实例1端口6380
实例2 端口7380
实例3 端口8380




 
       1.         A/B机 mkdir  /opt/redis
       2.         cd /opt/redis
       3.         mkdir  6379/ 7379/ 8379/6380/ 7380/ 8380
       4.       cd 6379/ 7379/ 8379/6380/ 7380/ 8380
       5.       cp /%redis_home%/redis_conf  6379.conf/7379.conf/8379.conf

 

# include /path/to/local.conf
# include /path/to/other.conf
daemonize yes
pidfile /var/run/redis_6379/ 7379/ 8379/6380/ 7380/ 8380.pid
port 6379/ 7379/ 8379/6380/ 7380/ 8380
tcp-backlog 511
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1
# unixsocket /tmp/redis.sock
# unixsocketperm 700
timeout 0
tcp-keepalive 0
loglevelnotice
logfile "/var/log/redis_6379/ 7379/ 8379/6380/ 7380/ 8380.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /opt/redis/6379/ 7379/ 8379/6380/ 7380/ 8380
# slaveof <masterip> <masterport>
# masterauth <master-password>
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
# repl-ping-slave-period 10
# repl-timeout 60
repl-disable-tcp-nodelay no
# repl-backlog-size 1mb
# repl-backlog-ttl 3600
slave-priority 100
# min-slaves-to-write 3
# min-slaves-max-lag 10
# min-slaves-max-lag is set to 10.
# requirepass foobared
# rename-command CONFIG ""
# maxclients 10000
# maxmemory <bytes>
# maxmemory-policy noeviction
# maxmemory-samples 5
appendonly yes
appendfilename "appendonly.aof"
# appendfsync always
appendfsync everysec
# appendfsync no
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file nodes-6379/ 7379/ 8379/6380/ 7380/ 8380.conf
cluster-node-timeout 5000
# cluster-slave-validity-factor 10
# cluster-migration-barrier 1
# cluster-require-full-coverage yes
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
 



      6.         编写实例启动脚本 stop.sh

 

killall redis-server
sudo rm /opt/redis/6379(6380)/*.aof
sudo rm /opt/redis/6379(6380)/node*
sudo rm /opt/redis/7379(7380)/*.aof
sudo rm /opt/redis/7379(7380)/node*
sudo rm /opt/redis/8379(8380)/*.aof
sudo rm /opt/redis/8379(8380)/node*
  7          编写实例启动脚本 startRedis.sh
redis-server /opt/redis/6379(6380)/6379(6380).conf
redis-server /opt/redis/7379(7380)/7379(7380).conf
redis-server /opt/redis/8379(8380)/8379(8380).conf

 



     8.          Chmod  777  -R  /opt/redis 对opt/redis目录赋权限
     9.        在opt/redis目录执行 stop.sh和startRedis.sh即可进行多个实例的启动
     10.       redis-trib create --replicas 1 10.92.21.17:6379 10.92.21.17:7379  10.92.21.17:8379 10.92.21.18:6380 10.92.21.18:7380 10.92.21.18:8380
这里有个地方需要注意的,我不确定是不是个bug,如果 redis-trib create在A机上执行,那么把10.92.21.17改成127.0.0.1的同时把A的3个实例同时放到前三位,即redis-trib create --replicas 1 127.0.0.1:6379 127.0.0.1:7379  127.0.0.1:8379 10.92.21.18:6380 10.92.21.18:7380 10.92.21.18:8380的话就会启动不redis-cluster,会一直卡在waiting the cluster join.....
 
验证


 

 
 
页: [1]
查看完整版本: Redis 3.0.2高可用集群(中)------ Redis-Cluster部署