redis集群部署(redis-cluster)
服务器配置:
数量:3台
IP:10.200.134.610.200.134.8 10.200.134.34
端口:每台服务器起3个端口:6379 6380 6381
cluster:每台服务器创建3个目录:cluster/6379cluster/6380cluster/6381
yum installruby rubygems -y
tar zxvf redis-3.0.5.tar.gz
mv redis-3.0.5 /usr/local/redis
cd /usr/local/redis
make MALLOC=libc && make install
#redis-3.2.1.zip 安装包在附件,自行下载
unzip redis-3.2.1.zip
gem install redis-3.2.1.gem
ln -s /usr/local/redis/src/redis-server /usr/bin/
ln -s /usr/local/redis/src/redis-cli /usr/bin/
mkdir -pv /usr/local/redis/cluster/{6379,6380,6381}
cp redis.conf cluster/6379/
cp redis.conf cluster/6380/
cp redis.conf cluster/6381/
#3台服务器修改6379 6380 6381下的redis.conf配置文件:
daemonize yes
#其余两个redis.conf就改下端口为6380 和 6381就可以了,其他是一样的
port 6379
cluster-enabled yes
cluster-config-file nodes-6379.conf
#3台服务器启动redis
redis-server /usr/local/redis/cluster/6379/redis.conf
redis-server /usr/local/redis/cluster/6380/redis.conf
redis-server /usr/local/redis/cluster/6381/redis.conf
#任意1台服务器创建集群
redis-trib.rb create --replicas 1 10.200.134.6:6379 10.200.134.6:6380 10.200.134.6:6381 10.200.134.34:6379 10.200.134.34:6380 10.200.134.34:6381 10.200.134.8:6379 10.200.134.8:6380 10.200.134.8:6381
命令的意义如下:
给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
简单来说, 以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。
接着, redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中:
>>> Creating cluster
Connecting to node 10.200.134.6:6379: OK
Connecting to node 10.200.134.6:6380: OK
Connecting to node 10.200.134.6:6381: OK
>>> Performing hash slots allocation on 3 nodes...
Using 3 masters:
10.200.134.6:6379
10.200.134.6:6380
10.200.134.6:6381
......more
>>> Check for open slots...
>>> Check slots coverage...
All 16384 slots covered.
#检查集群节点:
/usr/local/redis/src/redis-trib.rb check 10.200.134.6:6379
#使用redis-cli命令测试redis集群
# redis-cli -c -p 6379
10.200.134.6:6379> set foo bar
-> Redirected to slot located at 10.200.134.6:6380
OK
10.200.134.6:6380> set hello world
-> Redirected to slot located at 10.200.134.6:6379
OK
10.200.134.6:6379> get foo
-> Redirected to slot located at 10.200.134.6:6380
"bar"
10.200.134.6:6380> get hello
-> Redirected to slot located at 10.200.134.6:6379
"world"
redis-cli是集群最基本的支持,依靠 Redis 集群节点来将它转向(redirect)至正确的节点
页:
[1]