大家好!春运高峰期,悲催的我这么近都没有车票回家,来篇文章安慰我弱小的心灵。

搭建Redis集群之前我们先来了解一下!!!

1.集群和分布式的区别:

集群:同一个业务,部署在多个服务器上

分布式:一个业务分拆多个子业务,部署在不同的服务器上

2.集群的作用:

      a.提高性能(负载均衡)

      b.提高可扩展性(可以随时增加和删除节点)

      c.增强可靠性(高可用)

Redis 集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis 实现。Redis 集群中不存在中心(central)节点或者代理(proxy)节点,所有的节点通过服务通道直接相连,各个节点之间通过二进制协议优化传输的速度;客户端和节点通过ASCII协议进行通信;客户端与节点直连,不需要中间 Proxy 层。客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可;尽管这些节点彼此相连,功能相同,但是仍然分为两种节点:master 和 slave。

 

Linux系统(Ubuntu)搭建Redis集群:

首先我们安装Redis

1.下载Redis压缩包: wget  http://download.redis.io/releases/redis-5.0.0.tar.gz

2.解压:tar xfz redis-5.0.0.tar.gz

3.安装:make/make install

4.启动服务器(Redis的默认端口是6379):redis-server

5.启动客户端:redis-cli

127.0.0.1:6379>

如果出现端口表示安装成功!!!恭喜你。。。。

下面开始搭建Redis集群(伪集群)

首先把redis.conf复制6份
  改6个地方:
     1.88行
        protected-mode no (原来是yes,保护模式,没有bind的ip地址,否则都只读)
     2.92行
       port 7001(6个文件,原6379依次改成7002,...7006)
     3.136行
       daemonize yes(原来是no,改成后台模式)
     4.158行
       pidfile /var/run/redis_7001.pid(6个文件把数字依次改成...7006)
     5.838行
       开启集群 cluster-enabled yes(原来是no)
     6.846行
       cluster-config-file nodes7001.conf(这里6个文件的数字改成对应的)

然后复制到redis.conf同级文件里面,然后就OK啦。。。有木有很简单?现在依次启动六台:

redis-server redis7001.conf,redis-server redis7002.conf......

下一步之前你需要先查看你的虚拟机IP地址:ifconfig,然后执行下一步(猪:把下面127.0.0.1换成自己的IP地址,否则只能在虚拟机上访问集群

redis-cli --cluster  create 127.0.0.1:7001  127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006   --cluster-replicas 1

访问集群
      redis-cli -h ip地址  -p 端口 -c(集群模式)
      比如redis-cli -h 127.0.0.1 -p 7001 -c

 

下面提一下IP地址可能存在问题,然后解决办法(设置静态IP地址):

gedit  /etc/network/interfaces

auto eth0

iface  eth0  inet  static

address  自己的IP地址

gateway  192.168.133.255

netmask  255.255.255.0

然后关闭网卡,重启网络服务

ifconfig  eth0  down

ifconfig  eth0  up

/etc/init.d/networking  restart

然后就可以了