redis集群
下载安装包
wget http://130.10.7.123/cluster.tar.gz
tar -xvzf cluster.tar.gz
cd cluster
安装redis-trib依赖环境
-
安装zlib
解压
zlib-1.2.7.tar.gz
文件,安装
tar -xvzf zlib-1.2.7.tar.gz
cd zlib-1.2.7
rpm -Uvh --oldpackage *.rpm
cd ..
- 安装ruby
解压ruby-2.4.0.tar.gz
文件,安装
tar -xvzf ruby-2.4.0.tar.gz
cd ruby-2.4.0
./configure --prefix=/usr/local
make && make install
cd ..
- 安装gem管理
解压rubygems-2.6.8.tar.gz
文件,安装
tar -xzvf rubygems-2.6.8.tar.gz
cd rubygems-2.6.8
ruby setup.rb --no-rdoc --no-ri
cd ..
- 通过gem安装redis插件
安装redis-3.2.2.gem
gem install redis-3.2.2.gem --local --no-rdoc --no-ri
启动集群
进入redis目录执行命令
src/redis-trib.rb create 130.10.7.243:6379 130.10.7.244:6379 130.10.7.245:6379
出现提示Can I set the above configuration? (type 'yes' to accept):
输入yes回车。启动成功提示
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
简单测试
[root@server1 redis-3.2.5]# src/redis-cli -c -h 130.10.7.243
130.10.7.243:6379> set foo bar
-> Redirected to slot [12182] located at 130.10.7.245:6379
OK
130.10.7.245:6379> set hello world
-> Redirected to slot [866] located at 130.10.7.243:6379
OK
130.10.7.243:6379> get foo
-> Redirected to slot [12182] located at 130.10.7.245:6379
"bar"
130.10.7.245:6379> get hello
-> Redirected to slot [866] located at 130.10.7.243:6379
"world"
其他命令
-
查看节点
src/redis-cli -c -h 130.10.7.243 cluster nodes
-
设置replicate
src/redis-cli -c -h 130.10.7.243 cluster replicate <master-id>
-
增加节点
src/redis-trib.rb add-node 130.10.7.246:6379 130.10.7.243:6379
-
增加从节点
src/redis-trib.rb add-node --slave --master-id <master-id> 130.10.7.246:6379 130.10.7.243:6379
-
Resharding
src/redis-trib.rb reshard 130.10.7.243
-
槽指派
src/redis-cli -c -h 130.10.7.243 cluster addslots {0...5000}
-
状态查看
src/redis-trib.rb check 130.10.7.243
-