Redis集群部署文档(Ubuntu15.10系统)
Redis集群部署文档(Ubuntu15.10系统)
(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
127.0.0.1:7004
127.0.0.1:7005
1:下载redis。官网下载3.0.0版本,之前2.几的版本不支持集群模式
下载地址:http://download.redis.io/releases/redis-3.0.7.tar.gz
2:上传服务器,解压,编译
tar -zxvf redis-3.0..tar.gz
mv redis-3.0. /usr/local/redis3.
cd /usr/local/redis3.
make
之后就生成了 redis-server redis-client 等文件在 src里。
3:创建集群需要的目录
mkdir -p /usr/local/cluster
cd /usr/local/cluster
mkdir
mkdir
mkdir
mkdir
mkdir
mkdir
4:修改配置文件redis.conf
cp /usr/local/redis3.0/redis.conf /usr/local/cluster
vi redis.conf
##修改配置文件中的下面选项
pidfile /var/run/redis..pid #个性化
port #个性化
daemonize yes
cluster-enabled yes
cluster-config-file nodes..conf #个性化
cluster-node-timeout
appendonly yes
appendfilename "appendonly.7000.aof" #个性化
##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7000/7001/7002/7003/7004/7005目录下面
cp /usr/local/cluster/redis.conf /usr/local/cluster/
cp /usr/local/cluster/redis.conf /usr/local/cluster/
cp /usr/local/cluster/redis.conf /usr/local/cluster/
cp /usr/local/cluster/redis.conf /usr/local/cluster/
cp /usr/local/cluster/redis.conf /usr/local/cluster/
cp /usr/local/cluster/redis.conf /usr/local/cluster/
##注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中 标注个性化的 参数,分别改为对应的文件夹的名称
5:分别启动这6个redis实例
vi /usr/local/cluster/redis-start.sh
加入以下内容
#!/bin/sh
/usr/local/redis3./src/redis-server /usr/local/cluster//redis.conf &
/usr/local/redis3./src/redis-server /usr/local/cluster//redis.conf &
/usr/local/redis3./src/redis-server /usr/local/cluster//redis.conf &
/usr/local/redis3./src/redis-server /usr/local/cluster//redis.conf &
/usr/local/redis3./src/redis-server /usr/local/cluster//redis.conf &
/usr/local/redis3./src/redis-server /usr/local/cluster//redis.conf &
然后
chmod +x /usr/local/cluster/redis-start
/usr/local/cluster/redis-start
##启动之后使用命令查看redis的启动情况ps -ef|grep redis
6:执行redis的创建集群命令创建集群
安装ruby ,因为./redis-trib.rb 是执行的ruby的脚本,需要ruby的环境
sudo apt-get install ruby
为了执行 redis-trib.rb 需要安装 gem redis sudo gem install redis 可能会有长城防火墙的问题
可以去https://rubygems.org/gems/redis/versions/3.2.2 下载最新版本。
然后用命令 sudo gem install redis-3.2.2.gem
cd /usr/local/redis3./src
./redis-trib.rb create --replicas 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1:
有下面输出表示成功了。
>>> Creating cluster
>>> Performing hash slots allocation on nodes...
Using masters:
127.0.0.1:
127.0.0.1:
127.0.0.1:
Adding replica 127.0.0.1: to 127.0.0.1:
Adding replica 127.0.0.1: to 127.0.0.1:
Adding replica 127.0.0.1: to 127.0.0.1:
M: 1cdc6971ddbcf64427a9499e19b048afa55aff08 127.0.0.1:
slots:- ( slots) master
M: a355b2ccb1fdf413652a14cec722076af958a079 127.0.0.1:
slots:- ( slots) master
M: 0bc286b514d36e7195142ff0d55a87542048b5a9 127.0.0.1:
slots:- ( slots) master
S: a3b7c85fe957917bd383b181de3f1a3f31df8a05 127.0.0.1:
replicates 1cdc6971ddbcf64427a9499e19b048afa55aff08
S: 9f0f4045497a72b64783fd9c2387f38b7e3bda6c 127.0.0.1:
replicates a355b2ccb1fdf413652a14cec722076af958a079
S: f4b371c4e1d0fddfbe1552e540ddd36a5a00200b 127.0.0.1:
replicates 0bc286b514d36e7195142ff0d55a87542048b5a9
Can I set the above configuration? (type 'yes' to accept): yes
>>> 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:)
M: 1cdc6971ddbcf64427a9499e19b048afa55aff08 127.0.0.1:
slots:- ( slots) master
M: a355b2ccb1fdf413652a14cec722076af958a079 127.0.0.1:
slots:- ( slots) master
M: 0bc286b514d36e7195142ff0d55a87542048b5a9 127.0.0.1:
slots:- ( slots) master
M: a3b7c85fe957917bd383b181de3f1a3f31df8a05 127.0.0.1:
slots: ( slots) master
replicates 1cdc6971ddbcf64427a9499e19b048afa55aff08
M: 9f0f4045497a72b64783fd9c2387f38b7e3bda6c 127.0.0.1:
slots: ( slots) master
replicates a355b2ccb1fdf413652a14cec722076af958a079
M: f4b371c4e1d0fddfbe1552e540ddd36a5a00200b 127.0.0.1:
slots: ( slots) master
replicates 0bc286b514d36e7195142ff0d55a87542048b5a9
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All slots covered.
这样redis-cluster集群就启动了
7、查看集群目前状况:
$ redis-cli -c -p
127.0.0.1:> cluster info
cluster_state:ok
cluster_slots_assigned:
cluster_slots_ok:
cluster_slots_pfail:
cluster_slots_fail:
cluster_known_nodes:
cluster_size:
cluster_current_epoch:
cluster_stats_messages_sent:
cluster_stats_messages_received:
8、测试存值取值:每一次操作过后可能就跳到别的里面了。就是那个Redirected to slot ……
127.0.0.1:> set foo bar
OK
127.0.0.1:> set hello world
OK
127.0.0.1:> get foo
-> Redirected to slot [] located at 127.0.0.1:
"bar"
127.0.0.1:> get hello
-> Redirected to slot [] located at 127.0.0.1:
"world"
127.0.0.1:> get name
-> Redirected to slot [] located at 127.0.0.1:
(nil)
127.0.0.1:>
127.0.0.1:> get name
-> Redirected to slot [] located at 127.0.0.1:
(nil)
127.0.0.1:>
Redis集群部署文档(Ubuntu15.10系统)的更多相关文章
- redis多机集群部署文档
redis多机集群部署文档(centos6.2) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下 ...
- HP DL160 Gen9服务器集群部署文档
HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server Memo ...
- Redis集群明细文档
Redis目前版本是没有提供集群功能的,如果要实现多台Redis同时提供服务只能通过客户端自身去实现(Memchached也是客户端实现分布式).目前根据文档已经看到Redis正在开发集群功能,其中一 ...
- Redis集群明细文档(转)
相信很多用过Redis的同学都知道,Redis目前版本是没有提供集群功能的,只能单打独斗.如果要实现多台Redis同时提供服务只能通过客户端自身去实现.目前根据文档已经看到Redis正在开发集群功能, ...
- Apache ZooKeeper 单机、集群部署文档
简介: Apache ZooKeeper 是一个分布式应用的高性能协调服务,功能包括:配置维护.统一命名.状态同步.集群管理.仲裁选举等. 下载地址:http://apache.fayea.com/z ...
- kafka集群部署文档(转载)
原文链接:http://www.cnblogs.com/luotianshuai/p/5206662.html Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候 ...
- 二进制搭建一个完整的K8S集群部署文档
服务器规划 角色 IP 组件 k8s-master1 192.168.31.63 kube-apiserver kube-controller-manager kube-scheduler etcd ...
- 从零开始,无DNS vcenter 6.7 vmotion热迁移,存储集群部署文档。
1,环境准备 准备:Vmware workstation环境 IP地址段规划 ESXI主机IP地址段 192.168.197.4-192.168.197.10 Vcenter Server集群IP地址 ...
- Redis集群部署3.0
我用的Mac的终端 ------------------------- 1.Redis简介 centos(5.4) Redis是一个key-value存储系统.和Memcached类似,但是解决了断 ...
随机推荐
- iOS中的动画(转载)
iOS中的动画 最近两天没事在慢慢学习一些动画,好多东西长时间不用都给忘了,找到一篇介绍很详细的文章就粘贴了过来以备复习,原文地址:https://my.oschina.net/aofe/blog/ ...
- ashx上传姿势
很多情况下网上流传的cer,asa,cdx……等等来上传,其实很多时候是不行的.但是ashx会好一些. PS:其实这个姿势也蛮老了,但是还是相当一大部分站点存在.也是一个姿势所以写博文记住它.免得忘了 ...
- EF应用一:Code First模式
EF的核心程序集位于System.Data.Entity.dll和System.Data.EntityFramework.dll中.支持CodeFirst的位于EntityFramework.dll中 ...
- mui区域滚动条
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- mapreduce程序调用各个类的功能
转自:http://www.cnblogs.com/z1987/p/5052409.html 1.map类 map类继承了库类中的Mapper,即Mapper<KEYIN, VALUEIN, K ...
- LandMVC HttpHandler web.config配置
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> ...
- PHP cURL库函数抓取页面内容
目录 1 为什么要用cURL? 2 启用cURL 3 基本结构 4 检查错误 5 获取信息 6 基于浏览器的重定向 7 用POST方法发送数据 8 文件上传 9 cURL批处理(multi cURL) ...
- [ASK] brew install nginx
.......... .......... Error: Permission denied - /usr/local/etc/openssl .......... .......... Cannot ...
- THINKPHP5判断当前浏览器请求方式
作用 代码 是否为 GET 请求 if (Request::instance()->isGet()) 是否为 POST 请求 if (Request::instance()->isPost ...
- ios 开发之 -- 极光推送,发送自定义消息,进入制定页面
在进行极光推送时候,发现版本有所更新,以前截取didfinish入口方法里面的launchOptions,获取一个本地的通知内容,进行本地展示不可用了,通过查询官方文档和网上的资料才发现,方法改变了, ...