Redis3.0.7 服务端集群搭建
来源:互联网 发布:单片机hex文件下载 编辑:程序博客网 时间:2024/06/13 12:56
文档是MARKDOWN文档,如果有相关工具可以拷贝下预览
# Redis-Cluster集群搭建
----------##1. 组件版本
- redis-3.0.7
- Jedis-2.9.0
##2. 安装过程
###安装redis
官网http://redis.io 下载redis-3.0.7.tar.gz
上传至linux服务器,并解压缩,进入安装目录编译并安装
> tar -zxvf redis-3.0.7.tar.gz
> cd /usr/local/redis-3.0.7
> make
> make install
新建文件夹用来存放各个节点的配置文件
> mkdir cluster-config
因为redis集群默认需要3个主节点,再加上每个主节点配置一个从节点,就一共需要6个节点
修改安装目录中配置文件redis.conf
其中几个比较重要的修改如下:
```
daemonize yes # redis默认不是后台启动,这里修改成后台启动
cluster-enabled yes # 允许redis支持集群模式
cluster-config-file nodes.conf # 节点配置文件
cluster-node-timeout 15000 # 节点超时毫秒
port 6379 # 如果你需要自定义端口可以用这个选项
cluster-config-file nodes-6379.conf # 同一个系统中的集群节点配置文件最好不要重叠
```
将安装目录中的配置文件redis.conf拷贝6份至cluster-config,并以端口号区分,同时修改port和cluster-config-file属性。
> [root@test6 cluster-config]# ll
> total 264
> -rw-r--r-- 1 root root 41556 Aug 8 18:15 redis-6379.conf
> -rw-r--r-- 1 root root 41556 Aug 8 18:16 redis-6380.conf
> -rw-r--r-- 1 root root 41556 Aug 8 18:16 redis-6381.conf
> -rw-r--r-- 1 root root 41556 Aug 8 18:16 redis-6382.conf
> -rw-r--r-- 1 root root 41556 Aug 8 18:42 redis-6383.conf
> -rw-r--r-- 1 root root 41556 Aug 8 18:43 redis-6384.conf
到redis目录中src下执行redis-server启动节点,并且指定配置文件
> [root@test6 redis-3.0.7]# ./src/redis-server cluster-config/redis-6379.conf
> [root@test6 redis-3.0.7]# ./src/redis-server cluster-config/redis-6380.conf
> [root@test6 redis-3.0.7]# ./src/redis-server cluster-config/redis-6381.conf
> [root@test6 redis-3.0.7]# ./src/redis-server cluster-config/redis-6382.conf
> [root@test6 redis-3.0.7]# ./src/redis-server cluster-config/redis-6383.conf
> [root@test6 redis-3.0.7]# ./src/redis-server cluster-config/redis-6384.conf
查看进程,可以发现有6个redis实例在运行
> [root@test6 redis-3.0.7]# ps -ef |grep redis
> root 14831 1 0 18:49 ? 00:00:00 ./src/redis-server *:6379 [cluster]
> root 14841 1 0 18:49 ? 00:00:00 ./src/redis-server *:6380 [cluster]
> root 14846 1 0 18:49 ? 00:00:00 ./src/redis-server *:6381 [cluster]
> root 14850 1 0 18:49 ? 00:00:00 ./src/redis-server *:6382 [cluster]
> root 14854 1 0 18:49 ? 00:00:00 ./src/redis-server *:6383 [cluster]
> root 14859 1 0 18:49 ? 00:00:00 ./src/redis-server *:6384 [cluster]
此时可通过redis-trib.rb来创建集群,因为是ruby脚本,所以需要安装ruby和一些组件
> yum install ruby
> yum install rubygems
> gem install redis
创建redis集群
> [root@test6 redis-3.0.7]# ./src/redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
- redis-trib.rb 程序的命令是 create,这表示我们希望创建一个新的集群。
- 选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
- 实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
接着程序会打印一份如下的配置信息,如果确认无误则输入yes开始创建
```
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:6379
127.0.0.1:6380
127.0.0.1:6381
Adding replica 127.0.0.1:6382 to 127.0.0.1:6379
Adding replica 127.0.0.1:6383 to 127.0.0.1:6380
Adding replica 127.0.0.1:6384 to 127.0.0.1:6381
M: a120ee3f61c0ce68926669150b54d7021470e828 127.0.0.1:6379
slots:0-5460 (5461 slots) master
M: 369205805e3f16fe407f3a493da20bb04a68d5ea 127.0.0.1:6380
slots:5461-10922 (5462 slots) master
M: 4e27413b2b2b7c334cb782418e0c66369dd3c288 127.0.0.1:6381
slots:10923-16383 (5461 slots) master
S: d5c0e9e5e53d0ca28b8191002ddcc29bbf966027 127.0.0.1:6382
replicates a120ee3f61c0ce68926669150b54d7021470e828
S: 254cc3a6f70252b924a22d4b9dc8816d4f9c86b0 127.0.0.1:6383
replicates 369205805e3f16fe407f3a493da20bb04a68d5ea
S: 1d1bf538b18bbaf01e10f43f81d7203efa263c3a 127.0.0.1:6384
replicates 4e27413b2b2b7c334cb782418e0c66369dd3c288
Can I set the above configuration? (type 'yes' to accept):
```
创建完毕后会显示如下
```
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.....
>>> Performing Cluster Check (using node 127.0.0.1:6379)
M: a120ee3f61c0ce68926669150b54d7021470e828 127.0.0.1:6379
slots:0-5460 (5461 slots) master
M: 369205805e3f16fe407f3a493da20bb04a68d5ea 127.0.0.1:6380
slots:5461-10922 (5462 slots) master
M: 4e27413b2b2b7c334cb782418e0c66369dd3c288 127.0.0.1:6381
slots:10923-16383 (5461 slots) master
M: d5c0e9e5e53d0ca28b8191002ddcc29bbf966027 127.0.0.1:6382
slots: (0 slots) master
replicates a120ee3f61c0ce68926669150b54d7021470e828
M: 254cc3a6f70252b924a22d4b9dc8816d4f9c86b0 127.0.0.1:6383
slots: (0 slots) master
replicates 369205805e3f16fe407f3a493da20bb04a68d5ea
M: 1d1bf538b18bbaf01e10f43f81d7203efa263c3a 127.0.0.1:6384
slots: (0 slots) master
replicates 4e27413b2b2b7c334cb782418e0c66369dd3c288
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
```
至此,集群搭建完毕。
任意单个master节点均可执行cluster命令
> [root@test6 redis-3.0.7]# ./src/redis-cli -p 6379
> 127.0.0.1:6379> cluster nodes 可以打印集群下所有节点信息
> 127.0.0.1:6379> cluster info 可以打印集群信息
1 0
- Redis3.0.7 服务端集群搭建
- redis3.0搭建集群
- redis3.0集群搭建
- Redis3.0.6集群搭建
- Redis3.x-集群搭建
- Redis3集群搭建
- Redis3.0集群搭建
- redis3.0集群搭建
- Redis3.0集群搭建
- redis3.0集群搭建
- Redis3.x-集群搭建
- Redis3.x-集群搭建
- Redis3.0.1集群环境搭建
- redis3.0搭建分布式集群
- Redis3.0《集群环境搭建》
- Redis3.x集群的搭建
- Redis3.0-集群环境搭建
- redis3.2.2单机集群搭建
- Pascal's Triangle II
- android 实现textview部分文字点击效果,类似于微博的话题丶用户
- poj2488-A Knight's Journey
- 首部检验和计算
- 简单cowboy http请求回应
- Redis3.0.7 服务端集群搭建
- 第五课、Scala类
- ListView的Item显示动画的简单实现
- HDU 2064 汉诺塔III 和 HDU 2077 汉诺塔IV
- 学习Object-C的碰到的一些问题或者说面试题
- CentOS下jetty安装与配置
- jsp页面导出excel表格
- 关于Eclipse-JUNO安装Maven失败的总结
- android studio 插件