1、理论基础
1、集群由6个节点组成,三个主节点,每个主节点对应一个从节点。
主节点:8001、8002、8003
从节点:8004、8005、8006
对应关系:8001--8004/8002--8005/8003--8006
2、在8001节点上写入数据,数据经过计算得出在哪一个的hash槽,所以最终数据可能存在8001、 8002、 8003任意一个主节点上。
3、主节点有数据,就会通过主从复制将数据复制到该主节点对应的从节点上。
4、只有主节点能够写入数据,但查看数据在每一个节点上都可以。
2、redis安装
1、yum -y install gcc tcl
#####这个tcl是后续执行完第3步检查安装时“make test”要用的,不检查可以不装,对后续不会有任何影响
2、cd /opt/source && tar zxvf redis-3.0.0.tar.gz -C ../apps
3、cd ../apps/redis-3.0.0 && make
4、make PREFIX=/opt/apps/redis-3.0.0 install
5、vi + /etc/profile
export REDIS_HOME=/opt/redis-3.0.0
export PATH=$PATH:$REDIS_HOME/bin
source /etc/profile
3、配置redis.conf
1、cd /opt/apps/redis-3.0.0/ && mkdir redis-cluster
2、cd redis-cluster && mkdir node8001 node8002 node8003 node8004 node8005 node8006
3、cp ../redis.conf node8001/ && cp ../redis.conf node8002/ && cp ../redis.conf node8003/ && cp ../redis.conf node8004/ && cp ../redis.conf node8005/ && cp ../redis.conf node8006/
4、vi node800*/redis.conf
daemonize no 改为 daemonize yes
port 6379 改为 port 800*
bind 192.168.149.135 #####最后绑定一下本机ip,否则后续可能会出现问题
dir ./ 改为 dir /opt/apps/redis-3.0.0/redis-cluster/node800*/
# cluster-enabled yes 改为 cluster-enabled yes
# cluster-config-file nodes-6379.conf 改为 cluster-config-file nodes-800*.conf
# cluster-node-timeout 15000 改为 cluster-node-timeout 5000
appendonly no 改为 appendonly yes
注意:
#####800*代表8001、8002、8003、8004、8005、8006
4、安装ruby
1、yum -y install ruby rubygems
2、gem install redis --version 3.0.0
#####本人使用的是redis-3.0.0哦。各位看官请注意!
5、启动集群
1、cd /opt/apps/redis-3.0.0/redis-cluster/node800* && redis-server redis.conf
注意:
#####800*代表8001、8002、8003、8004、8005、8006
2、cd /opt/apps/redis-3.0.0/src
3、 ./redis-trib.rb create --replicas 1 192.168.149.135:8001 192.168.149.135:8002 192.168.149.135:8003 192.168.149.135:8004 192.168.149.135:8005 192.168.149.135:8006
#####该命令执行默认前三个为主节点,后三个为从节点。且第1个对应第4个,第2个对应第5个。。。。
#####该命令需要ruby环境的支持,前面第四步我们已经安装了。
#####命令中的1代表主节点和从节点的数量比
4、任意节点登录客户端
a)cd /opt/apps/redis-3.0.0/redis-cluster/node800*
b)redis-cli -c -h 192.168.149.135 -p 800*
#####-c表示集群模式