以本机为例,搭建redis集群
#cd /opt/redis-3.0.1
vi redis.conf
一个redis可以同时开启多个redis端口
根据不同端口
修改redis.conf内容:
daemonize yes
port 6379
cluster-enabled yes
cluster-config-file node6379.conf
cluster-node-timeout 5000
appendonly yes
注意:可以复制多个redis.conf ,eg:redis6379.conf,redis6380.conf,redis6381.conf
==================
开启各自服务
#cd /opt/redis3.0.1/src
#./redis-server ../redis6379.conf
#./redis-server ../redis6380.conf
#./redis-server ../redis6381.conf
此时通过ps -ef|grep redis可以看到,redis以集群的方式存在
=======================
下面把他们连接到一起
# ./redis-trib.rb create --replicas 0 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381
错误内容:/usr/bin/env: ruby: No such file or directory,需要安装ruby环境,在线安装:
#apt-get install ruby
等着吧,比较慢
安装完后 输入ruby -version如果显示版本,证明安装成功
离线安装不推荐,会报找不到/usr/bin/env找不到ruby,定位到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 `<main>'
那么说明Ruby的redis接口没有安装,可以通过sudo gem install redis 进行安装。
=======================
集群连接 ./redis-cli -c -h 127.0.0.1 -p 6379(注意,必须加-c:Enable cluster mode(可以通过./reids-cli --help查看原因))
查看集群nodes
127.0.0.1:6379>cluster nodes
查看集群状态
127.0.0.1:6379>cluster info
其中cluster_state:ok/fail表示集群是否开启,cluster_current_epoch:n表示有几个node
====================
开启成功后,就可以进行测试了
127.0.0.1:6379>set name dog
127.0.0.1:6379>set age 12
这时候它会根据slot放到某个库中
->Redirected to slot[741] located at 127.0.0.1:6380
同样,get name的时候也一样,会进行重定位
====================
redis添加节点
#./redis-trib.rb add-node 127.0.0.1:6379 127.0.0.1:6389
redis删除节点
./redis-trib.rb del-node 127.0.0.1:7000 需要删除的节点ID
=====================
redis 的一些命令:
keys *:查看
DEL key 删除
EXISTS key 判断存在否
MOVE key db 把某个set移到另一个db中
RENAME key newkey 重命名
select 2 选中db2
slot插槽 redis把每一条数据放在插槽里
#cd /opt/redis-3.0.1
vi redis.conf
一个redis可以同时开启多个redis端口
根据不同端口
修改redis.conf内容:
daemonize yes
port 6379
cluster-enabled yes
cluster-config-file node6379.conf
cluster-node-timeout 5000
appendonly yes
注意:可以复制多个redis.conf ,eg:redis6379.conf,redis6380.conf,redis6381.conf
==================
开启各自服务
#cd /opt/redis3.0.1/src
#./redis-server ../redis6379.conf
#./redis-server ../redis6380.conf
#./redis-server ../redis6381.conf
此时通过ps -ef|grep redis可以看到,redis以集群的方式存在
=======================
下面把他们连接到一起
# ./redis-trib.rb create --replicas 0 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381
错误内容:/usr/bin/env: ruby: No such file or directory,需要安装ruby环境,在线安装:
#apt-get install ruby
等着吧,比较慢
安装完后 输入ruby -version如果显示版本,证明安装成功
离线安装不推荐,会报找不到/usr/bin/env找不到ruby,定位到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 `<main>'
那么说明Ruby的redis接口没有安装,可以通过sudo gem install redis 进行安装。
=======================
集群连接 ./redis-cli -c -h 127.0.0.1 -p 6379(注意,必须加-c:Enable cluster mode(可以通过./reids-cli --help查看原因))
查看集群nodes
127.0.0.1:6379>cluster nodes
查看集群状态
127.0.0.1:6379>cluster info
其中cluster_state:ok/fail表示集群是否开启,cluster_current_epoch:n表示有几个node
====================
开启成功后,就可以进行测试了
127.0.0.1:6379>set name dog
127.0.0.1:6379>set age 12
这时候它会根据slot放到某个库中
->Redirected to slot[741] located at 127.0.0.1:6380
同样,get name的时候也一样,会进行重定位
====================
redis添加节点
#./redis-trib.rb add-node 127.0.0.1:6379 127.0.0.1:6389
redis删除节点
./redis-trib.rb del-node 127.0.0.1:7000 需要删除的节点ID
=====================
redis 的一些命令:
keys *:查看
DEL key 删除
EXISTS key 判断存在否
MOVE key db 把某个set移到另一个db中
RENAME key newkey 重命名
select 2 选中db2
slot插槽 redis把每一条数据放在插槽里