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类似,但是解决了断 ...
随机推荐
- ISTQB测试人员认证 初级(基础级)大纲
ISTQB测试人员认证 初级(基础级)大纲 ---中文修订版本1(2015年5月6日) 2015-06-22 大纲pdf下载 ISTQB资料中心 在课程大纲中,每个章节都会提供相应的认知水平要求: ...
- 代码审计之Finecms任意文件下载漏洞
PS:该漏洞已被公布,只是学习.故自己跟着大佬的步伐审计. 文件地址:\controllers\ApiController.php Line 57 public function downAction ...
- 关于Safe DOG的文件上传bypass
Author:倾旋payloads@aliyun.com本文由科拉实验室成员倾旋原创文章 Part 1 分析 此文主要研究安全狗的数据包分析功能,由于很多人都认为安全狗是通过正则去匹配的,那么暂且那么 ...
- 利用|,&,^,~,<<,>>>写出高效艺术的代码
简单介绍: 大家在阅读源代码的时候常常会看到一些比方以下这样特别难理解的代码. cancelEvent.setAction(MotionEvent.ACTION_CANCEL | (motionEve ...
- CSS(五):背景、列表、超链接伪类、鼠标形状控制属性
一.背景属性 1.背景属性用来设置页面元素的背景样式. 2.常见背景属性 属性 描述 background-color 用来设置页面的背景色,取值如red,#ff0000 background-ima ...
- 【BZOJ】1068: [SCOI2007]压缩(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1068 发现如果只设一维的话无法转移 那么我们开第二维,发现对于前i个来说,如果确定了M在哪里,第i个 ...
- git chekout分支遇到问题:need merge
解决步骤: 在master上, 1.git add . 2.git commit 3.新建分支,并且checkout到此分支,重新提交
- 搭建 Docker-Registry 私有仓库
官方已经提供了很多版本的 Linux 镜像,直接从官方仓库(Public Repositories)下载就可以了.如果考虑到安全性和速度,我们可能会想在自己局域网里架设一个私有仓库(Private R ...
- react-native新导航组件react-navigation详解
http://blog.csdn.net/sinat_17775997/article/details/70176688
- C# 直接调用非托管代码的方法
C# 代码有以下两种可以直接调用非托管代码的方法: 直接调用从 DLL 导出的函数. 调用 COM 对象上的接口方法. 对于这两种技术,都必须向 C# 编译器提供非托管函数的声明,并且还可能需要向 C ...