redis 3.3.2 集群配置主从

环境

centos 7 minimal

cd /usr/local

wget http://download.redis.io/releases/redis-3.2.3.tar.gz

tar -zxvf redis-3.2.3.tar.gz

cd redis-3.2.3

make && make install  

这个点如果报错

zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
则使用如下的即可 
make MALLOC=libc  && make install
如果是
gcc报错 yum install gcc

至少6个进程,3主3从,修改对应的redis.conf  计划端口7000 7001 7002 7003 7004 7005 不用担心谁主谁从

redis 3.2 后会自己选举 自动匹配主从。

修改编译 后的redis-3.2.3  redis.conf 如下参数,修改完成后复制6份分别改端口即可

port 7000

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

appendonly yes

# 如果不在本机访问 修改bind 0.0.0.0

----------------------------------------------开始启动----------------------------------------

已7000 为例 

cd /usr/local/redis-3.2.3/src

./ redis-server ../ redis.conf &(& 可以在后台运行)

6个全部启动

然后在还是在/usr/local/redis-3.2.3/src 目录,6个复制的目录都可以

创建集群(--replicas 1的意思是每个master有1个slave。

./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004127.0.0.1:7005

会报如下错,因为没有安装ruby

custom_require.rb:36:in `require': cannot load such file -- redis (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from ./redis-trib.rb:25:in `

'


安装ruby

yum install ruby 

然后安装ruby redis 的接口

gem install redis(有点慢)

然后在执行创建集群即可。


然后(-c是集群模式下的命令-h  可以指定ip)

./redis-cli -c -p 7000

127.0.0.1:7000> CLUSTER NODES
5b60ef72275289e4be1cdabe6ec3e50a8b8dc2cc 127.0.0.1:7000 myself,slave 46715b1693dc1d1e5cc294851bef45423409b3bc 0 0 1 connected
46715b1693dc1d1e5cc294851bef45423409b3bc 127.0.0.1:7003 master - 0 1470661344669 7 connected 0-5460
ea0c3245b6d4866750adf7164378b7bd72b1dbb2 127.0.0.1:7004 slave 85b6556cfac9b3525bed249f46c5342486ff73bf 0 1470661340621 5 connected
85b6556cfac9b3525bed249f46c5342486ff73bf 127.0.0.1:7001 master - 0 1470661343664 2 connected 5461-10922
839aa53aa397ebf8448741c806e418246b7e8bcb 127.0.0.1:7002 master - 0 1470661345672 3 connected 10923-16383
9b0acbb20f98ba1668cc80102aed60e71dcaa588 127.0.0.1:7005 slave 839aa53aa397ebf8448741c806e418246b7e8bcb 0 1470661342656 6 connected
127.0.0.1:7000> 

则创建成功。

如果是先利用redis的自动主从切换,redis的客户端,得用集群的方式连接。

如果不想利用,利用haproxy 来做读写分离。比较简单,比较传统。 







你可能感兴趣的:(redis)