大家好!春运高峰期,悲催的我这么近都没有车票回家,来篇文章安慰我弱小的心灵。
搭建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
如果出现端口表示安装成功!!!恭喜你。。。。
下面开始搭建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
然后就可以了