Redis单机版和集群版的安装和部署
1、单机版的安装
本次使用redis3.0版本。3.0版本主要增加了redis集群功能。
安装的前提条件:
需要安装gcc:yum install gcc-c++
1.1 安装redis
1、下载redis的源码包。
从官网下载
http://download.redis.io/releases/redis-3.0.0.tar.gz
2、把源码包上传到linux服务器
3、解压源码包并进入其目录
tar -zxvf redis-3.0.0.tar.gz
4、make
cd /usr/local/redis-3.0.0
make
5、make install
cd /usr/local/redis-3.0.0
[root@bogon redis-3.0.0]# make install PREFIX=/usr/local/redis
1.2 启动redis
1.2.1、前端启动模式(不推荐)
前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。
/usr/local/redis/bin/redis-server
默认是前端启动模式,端口是6379
1.2.2、后端启动
1)从redis的源码目录中复制redis.conf到redis的安装目录。
2)修改配置文件

3)[root@bogon bin]# ./redis-server redis.conf
2、集群版的安装
本次安装集群中有三个节点的集群,每个节点有一主一备。需要6台虚拟机。
搭建一个伪分布式的集群,使用6个redis实例来模拟。
2.1 搭建集群需要的环境
搭建集群需要使用到官方提供的ruby脚本。
需要安装ruby的环境。
2.1.1安装ruby
yum install ruby
yum install rubygems
redis集群管理工具redis-trib.rb
[root@bogon ~]# cd redis-3.0.0
[root@bogon redis-3.0.0]# cd src
[root@bogon src]# ll *.rb
-rwxrwxr-x. 1 root root 48141 Apr 1 07:01 redis-trib.rb
[root@bogon src]#
脚本需要的ruby包:
redis-3.0.0.gem
需要上传到linux服务。
2.1.2 安装ruby的包:
gem install redis-3.0.0.gem
[root@bogon ~]# gem install redis-3.0.0.gem
Successfully installed redis-3.0.0
1 gem installed
Installing ri documentation for redis-3.0.0...
Installing RDoc documentation for redis-3.0.0...
2.2 集群的搭建
2.2.1 创建6个redis实例,端口号从7001~7006
在/usr/local下创建redis-cluster目录,其下创建7001、7002。。7006目录
将redis安装目录bin下的文件拷贝到每个700X目录内,同时将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下。
2.2.2 修改redis的配置文件
1、修改端口号

2、打开cluster-enable前面的注释。

2.2.3:把创建集群的ruby脚本复制到redis-cluster目录下。
2.2.4:启动6个redis实例
2.2.5:创建集群。
执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境。
./redis-trib.rb create --replicas 192.168.131.102: 192.168.131.102: 192.168.131.102: 192.168.131.102: 192.168.131.102: 192.168.131.102:
说明:
redis集群至少需要3个主节点,每个主节点有一个从节点总共6个节点
replicas指定为1表示每个主节点有一个从节点
注意:
如果执行时报如下错误:
[ERR] Node XXXXXX is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0
解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aof、dump.rdb
创建集群输出:
Can I set the above configuration? (type 'yes' to accept): yes
2.3 测试集群
[root@bogon redis-cluster]# redis01/redis-cli -h 192.168.25.153 -p 7002 -c
[root@bogon redis-cluster]# redis01/redis-cli -h 192.168.25.153 -p 7002
192.168.25.153:7002> set a 100
(error) MOVED 15495 192.168.25.153:7003
192.168.25.153:7002>
[root@bogon redis-cluster]# redis01/redis-cli -h 192.168.25.153 -p 7002 -c
192.168.25.153:7002> set a 100
-> Redirected to slot [15495] located at 192.168.25.153:7003
OK
说明:
./redis-cli -c -h 192.168.101.3 -p 7001 ,其中-c表示以集群方式连接redis,-h指定ip地址,-p指定端口号 -a myPassword
最后还有添加删除节点,暂时就不写了,可以参考下:http://blog.51yip.com/nosql/1726.html
Redis单机版和集群版的安装和部署的更多相关文章
- Redis单机版以及集群版的安装搭建以及使用
1,redis单机版 1.1 安装redis n 版本说明 本教程使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install g ...
- (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
http://blog.csdn.net/yerenyuan_pku/article/details/72863323 我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的 ...
- redis单机版和集群版搭建笔记-简略版
搭建单机版: 解压 tar -zxf redis-3.0.0.tar.gz 编译 cd redis-3.0.0 安装 make install prefix=/usr/local/redis-inst ...
- 使用jedis客户端连接redis,单机版和集群版
单机版 1.入门实例 @Test public void testJedis(){ //创建一个jedis对象,需要指定服务的ip和端口号 Jedis jedis=new Jedis("19 ...
- JedisClient操作redis 单机版和集群版
一.在pom文件中添加依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency&g ...
- 项目里面加入redis单机版 和集群版的配置
第一步: 如果你是maven项目,你直接配置就可以了,如果不是需要下载这个包 jedis包 <!-- Redis 客户端 --> <dependency> ...
- 国际站中国区,孟买上Redis 4.0 集群版
信息摘要: 国际站中国区,孟买上线Redis 4.0 集群版适用客户: 所有用户版本/规格功能: redis 4.0 集群版产品文档: https://www.alibabacloud.com/hel ...
- redis在项目中的使用(单机版、集群版)
1.下载jar包:jedis-2.6.2.jar 2.代码: JedisDao.java: package com.test.www.dao; public interface JedisDao { ...
- shiro的单机版 和 集群版
在我们的开发当中 我们一般权限都是个 比较繁琐 但又必不可少的 一部分 [不管我们的 数据库设计 还是我们采用何种技术 我们的权限库表 大多都是大同小异 业务逻辑也是如此] 在我们不使用任何框架 ...
随机推荐
- docker的简单应用(总结笔记)
sudo docker pull ubuntu /*下载Ubuntu最新镜像*/sudo docker pull ubuntu:14.04 /*下载Ubuntu14.04版镜像*/sudo docke ...
- Head First 设计模式 第3章 装饰者模式
第3章 装饰者模式 1.定义/说明 动态.透明的将职责附加到对象上(或从对象上撤销),而不影响其他对象.若要扩展功能,装饰者模式提供了比继承更富有弹性的替代方案. 2.介绍 首先让我们先来介绍一下场景 ...
- <经验杂谈>C#生成条形码
虽然二维码满天飞,但也不能忘了条形码,本篇介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码: 条形码的标准: 条形码的标准有ENA条形码.U ...
- Unity3D常用代码集合
1.基本碰撞检测代码 function OnCollisionEnter(theCollision : Collision){ if(theCollision.gameObject.n ...
- java变量、二进制、数据类型、原码、补码、反码
1. 变量 1. 他 她 我 你 某人 佚名 旺财 X-man x = 1 您好! 它 (变量就是自然语言中的代词) 2. int age = 15;// 00000000 0000 ...
- Windows下WebStorm使用SVN(转)
安装了WebStorm之后,想配置svn,结果在file->settings->Version Contorl->subversion->with conmand line c ...
- 【NO.5】jmeter-结果文件
Jmeter的结果文件可以保存很多内容,你需要看哪个就勾选哪个,很简单是吧. 结果文件可以保存为2种形式:XML或者CSV.我印象里在书上提到过,如果保存为XML形式的结果文件,后续可以转化为表格便于 ...
- Python3 知识库
Python3 标准库概览 Python3 日期和时间 Python3 JSON 数据解析 Python3 XML解析 Python3 多线程 Python3 SMTP发送邮件 Python3 网络编 ...
- Ubuntu apt-get update 失败
apt-get碰上了"fetch http://--失败", 自带源在国内连接性不好. 解决:改用"阿里云Ubuntu源": https://www.yuren ...
- freemarker 集成 sitemesh 装饰html页面 shiro 标签
guest标签:验证当前用户是否为"访客",即未认证(包含未记住)的用户: shiro标签:<shiro:guest></shiro:guest> : ...