Redis集群部署

1、概述java

    Redis3.0版本以后支持Cluster.node

2、redis cluster安装redis

    一、下载和解包vim

cd /usr/local/ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -zxvf redis-5.0.5.tar.gz
   

 二、 编译安装ruby

cd redis-5.0.5 make && make install 

  三、建立redis节点bash

     测试咱们选择2台服务器,分别为:192.168.1.237,192.168.1.238.每分服务器有3个节点。服务器

  我先在192.168.1.237建立3个节点:app

cd /usr/local/ mkdir redis_cluster //建立集群目录 
cd /usr/local/redis_cluster
mkdir 7000 7001 7002 //分别表明三个节点 其对应端口 7000 7001 7002
//建立7000节点为例,拷贝到7000目录 cp /usr/local/redis-5.0.5/redis.conf ./redis_cluster/7000/ //拷贝到7001目录 cp /usr/local/redis-5.0.5/redis.conf ./redis_cluster/7001/ //拷贝到7002目录 cp /usr/local/redis-5.0.5/redis.conf ./redis_cluster/7002/

   分别对7001,700二、7003文件夹中的3个文件修改对应的配置post

bind ...//机器ip地址
port 7000 //端口7000,7002,7003

daemonize yes //redis后台运行 pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7002,7003 appendonly yes //aof日志开启 有须要就开启,它会每次写操做都记录一条日志 cluster-enabled yes //开启集群 把注释#去掉 cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002 cluster-node-timeout 5000 //请求超时 设置5秒够了

   在192.168.1.238建立3个节点:对应的端口改成7003,7004,7005.配置对应的改一下就能够了。测试

 把修改后的配置文件,copy到8002-8006,修改第二、三、5项里的端口号,能够用批量替换:
vim redis.config
文件中使用 esc:
   :%s/源字符串/目的字符串/g

   四、两台机启动各节点(两台服务器方式同样)

cd /usr/local redis-server redis_cluster/7000/redis.conf redis-server redis_cluster/7001/redis.conf redis-server redis_cluster/7002/redis.conf redis-server redis_cluster/7003/redis.conf redis-server redis_cluster/7004/redis.conf redis-server redis_cluster/7005/redis.conf

-bash: redis-server: command not found:

  ln -s /usr/local/redis-5.0.5/src/redis-server /usr/bin/redis-server

重启命令:

  /usr/local/redis-5.0.5/src/redis-cli -c -h 127.0.0.1  -p 7002 shutdown

五、查看服务

      ps -ef | grep redis   #查看是否启动成功

     netstat -tnlp | grep redis #能够看到redis监听端口

3、建立集群(redis5之前的版本集群是依靠ruby脚本redis-trib.rb实现)

 注意防火墙,能够相互访问

redis-5.0.5/src/redis-cli --cluster create --cluster-replicas 1 172.10.0.121:7000 172.10.0.121:7001 172.10.0.121:7002 172.10.0.123:7003 172.10.0.123:7004 172.10.0.123:7005

 

解释下, --replicas  1  表示 自动为每个master节点分配一个slave节点    上面有6个节点,程序会按照必定规则生成 3个master(主)3个slave(从)

    前面已经提醒过的 防火墙必定要开放监听的端口,不然会建立失败。

 运行中,提示Can I set the above configuration? (type 'yes' to accept): yes    //输入yes

 接下来 提示  Waiting for the cluster to join..........  安装的时候在这里就一直等等等,没反应,傻傻等半天,看这句提示上面一句,Sending Cluster Meet Message to join the Cluster.

    这下明白了,我刚开始在一台Server上去配,也是不须要等的,这里还须要跑到Server2上作一些这样的操做。

    在127.0.0.1, redis-cli -c -p 700*  分别进入redis各节点的客户端命令窗口, 依次输入 cluster meet 192.168.1.238 7000……

    回到Server1,已经建立完毕了。

    查看一下 /usr/local/redis/src/redis-cli check 127.0.0.1:7000

    到这里集群已经初步搭建好了。

 

4、测试

1)链接任意一个客户端便可:
 
/usr/local/redis-5.0.2/src/redis-cli -a xxx -c -h 192.168.5.100 -p 8001
 
提示:-a访问服务端密码,-c表示集群模式,指定ip地址和端口号   ./redis-cli -c -a xxx -h 192.168.5.100 -p 8001

 

2)进行验证: cluster info(查看集群信息)、cluster nodes(查看节点列表)
 

4)关闭集群则须要逐个进行关闭,使用命令:

/usr/local/redis/src/redis-cli -a xxx -c -h 192.168.0.60 -p 8001 shutdown

相关文章
相关标签/搜索