简单的redis集群搭建

来源:互联网 发布:怎么在淘宝上搜店铺 编辑:程序博客网 时间:2024/06/05 03:56

安装了redis之后,我们创建/etc/redis目录

--mkdir /etc/redis

在redis根目录下看到有redis.conf; 我们可以把redis.conf拷贝到/etc/redis下并命名为6379.conf(因为我们使

/usr/local/redis-3.2.8/utils/redis_init_script 启动的时候回去找”/etc/redis/下的启动端口号.conf“ 文件

[root@colony002 redis]# cd /usr/local/redis-3.2.8
[root@colony002 redis-3.2.8]# ll
总用量 204
-rw-rw-r--  1 root root 85775 2月  12 2017 00-RELEASENOTES
-rw-rw-r--  1 root root    53 2月  12 2017 BUGS
-rw-rw-r--  1 root root  1805 2月  12 2017 CONTRIBUTING
-rw-rw-r--  1 root root  1487 2月  12 2017 COPYING
drwxrwxr-x  7 root root  4096 1月  17 02:23 deps
-rw-rw-r--  1 root root    11 2月  12 2017 INSTALL
-rw-rw-r--  1 root root   151 2月  12 2017 Makefile
-rw-rw-r--  1 root root  4223 2月  12 2017 MANIFESTO
-rw-rw-r--  1 root root  6834 2月  12 2017 README.md
-rw-rw-r--  1 root root 46699 1月  17 03:13 redis.conf
-rwxrwxr-x  1 root root   271 2月  12 2017 runtest
-rwxrwxr-x  1 root root   280 2月  12 2017 runtest-cluster
-rwxrwxr-x  1 root root   281 2月  12 2017 runtest-sentinel
-rw-rw-r--  1 root root  7606 2月  12 2017 sentinel.conf
drwxrwxr-x  2 root root  4096 1月  17 02:25 src
drwxrwxr-x 10 root root  4096 2月  12 2017 tests
drwxrwxr-x  7 root root  4096 2月  12 2017 utils
--cp redis.conf /etc/redis/6379.conf
[root@colony002 redis]# ll
总用量 52
-rw-r--r-- 1 root root 46763 1月  17 03:10 6379.conf
-rw-r--r-- 1 root root   132 1月  17 03:10 dump.rdb

修改/etc/redis/6379.conf中几个值:

bind 修改为自己这个机器的ip   默认是127.0.0.1,,这样的话别的机器是链接不上本机的redis的

slaveof 是这台机器隶属于那个master

bind IP
# slaveof <masterip> <masterport>
slaveof 192.168.5.112 6379

以上就可以了:我们可以在其他机器重复以上步骤,就可以扩展slave节点。

我们在mater节点上(192.168.5.112)使用redis-cli -h 192.168.5.112 链接上之后使用命令:info
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.5.113,port=6379,state=online,offset=2061,lag=0
slave1:ip=192.168.5.114,port=6379,state=online,offset=2061,lag=0
master_repl_offset:2061

看到链接上的这个master的有2个:connected_slaves:2

分别是:slave0 ip=192.168.5.113,port=6379,state=online,offset=2061,lag=0

        slave1:ip=192.168.5.114,port=6379,state=online,offset=2061,lag=0

offset是slave节点目前数据的一个偏移量,这个偏移量如果和master_repl_offset不相等,则说明这个slave节点和
master数据没有同步


链接一个slave节点也使用:info命令,可以看到:
# Replication
role:slave
master_host:192.168.5.112
master_port:6379
master_link_status:up
master_last_io_seconds_ago:8

自己作为slave节点  状态等



我们在master上使用set命令设置几个key 
192.168.5.112:6379> keys *
1) "key2"
2) "key3"
3) "keys001"
4) "keycluster"
192.168.5.112:6379>

在slave节点上查看keys *
192.168.5.113:6379> keys *
1) "keycluster"
2) "key3"
3) "keys001"
4) "key2"
192.168.5.113:6379>

192.168.5.114:6379> keys *
1) "key2"
2) "keys001"
3) "key3"
4) "keycluster"
192.168.5.114:6379>


说明我们master和slave节点之间已经可以同步数据了。简单的master-slave就搭建好了。

但是这个只有存储数据的用途,没有高可用、存的数据量也不会增加,因为每个slave节点和master的数据都是一样的,只有一个master,他保存的数据量顶多就是他自己那台机器的内存大小,slave节点只是同步他的数据而已。如果想要让redis保存更多的数据,并且能扩展,那可以使用redis自己的redis-cluster来搭建。redis-cluster可以有多个master,master下面可以有多个slave,多个slave保证了高可用、多个master保证了海量数据的存储;并且在set值的时候会根据算法来计算出这个key要放在哪个master上,变相的做了负载均衡;
原创粉丝点击