redis单机安装以及简单redis集群搭建
安装环境:
两台虚拟机都是Centos 7.0
IP分别为:192.168.149.132 192.168.149.133
Redis采用的版本是redis-3.2.4
集群是采用两台虚拟机模拟8个节点,一台机器4个节点,创建出4 master、4salve 环境。
1、首先在192.168.149.132上安装单机版
下载安装包:
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
解压:
tar –xvf redis-3.2.4.tar.gz
进入安装目录进行安装,注意要使用有root权限的账户进行操作,因为在安装过程中需要操作许多系统文件路径,如果没有权限则会安装报错。
make && make install
其中有许多依赖包,如果缺就安装即可,一般不会缺。
至此单机redis安装完毕,接下来启动服务:
cd src
./redis-server
Ok服务启动成功
接下来我们小小测试一下。没问题!
一般redis我们经常做为消息服务器使用,如下:
当然redis作为消息服务器有更加复杂的应用,可以自己去摸索。
2、集群配置,在192.168.149.133上同样安装redis
拷贝文件:
redis-trib.rb是官方提供的一款集群工具,后面要用
创建redis节点:
在redis安装目录下创建 redis_cluster目录
在 redis_cluster 目录下,创建名为7010、7011、7012、7013的目录
并将 redis.conf 拷贝到这三个目录中,分别修改这三个redis.conf配置文件,修改内容如下:
port 7010 //端口7010 7011 7012 7013
bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7010.pid //pidfile文件对应
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7010.conf //集群的配置 配置文件首次启动自动生成
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
启动集群服务:
查看启动情况:
没有问题
Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,之前已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成集群。
redis-trib.rb create --replicas 1 192.168.149.133:7010 192.168.149.133:7011 192.168.149.133:7012 192.168.149.133:7013 192.168.149.132:7014 192.168.149.132:7015 192.168.149.132:7016 192.168.149.132:7017
报错了,因为这个工具是用 ruby 实现的,所以需要安装 ruby。
安装ruby:
yum install ruby ruby-devel rubygems rpm-build
gem install redis
安装成功后执行之前的命令,又报错了:
redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口
集群总线端口为redis客户端连接的端口 + 10000
修改防火墙配置将端口加入进去,注意两台虚拟机都需要:
cd /etc/sysconfig
vi iptables
保存后重启防火墙
ps:如果没有iptables-services服务的话,可以先安装:yum install iptables-services
好了,现在再次创建集群:
终于配置成功启动
ps:这里一不小心就有个巨坑错误如下:
提示某个节点不为空,让你去检查,其实这里是因为我们在上一次启动配置或者redis非正常停止的时候,有生成过一些.aof或者.rdb文件,只需要删除掉就ok。
网上有相关方法,如果碰到可以针对性的去找找。
接下来我们试试是否可以使用了。
使用192.168.149.133的7011节点输入数据,7010节点监听
中文居然被转译了,再来一次
经过测试我们的集群可以使用了啦!简单吧
redis单机安装以及简单redis集群搭建的更多相关文章
- redis 在windows 上面的安装和使用,集群搭建
redis作为nosql数据库,将数据存储到内存中(缓存),具有非常高的性能.下面讲解一下redis的安装及java api的使用. 1:redis 安装 windows 上面直接下载msi文件,安装 ...
- redis 5.0.3 讲解、集群搭建
REDIS 一 .redis 介绍 不管你是从事Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了 ...
- redhat6.5 redis单节点多实例3A集群搭建
在进行搭建redis3M 集群之前,首先要明白如何在单节点上完成redis的搭建. 单节点单实例搭建可以参看这个网:https://www.cnblogs.com/butterflies/p/9628 ...
- kafka系列一、kafka安装及部署、集群搭建
一.环境准备 操作系统:Cent OS 7 Kafka版本:kafka_2.10 Kafka官网下载:请点击 JDK版本:1.8.0_171 zookeeper-3.4.10 二.kafka安装配置 ...
- Centos7安装升级Ruby和集群搭建参考
安装升级Ruby参考:https://blog.csdn.net/qq_26440803/article/details/82717244 集群搭建参考:https://www.cnblogs.com ...
- redis编译安装、哨兵、集群
编译安装 #下载源代码解压 wget https://download.redis.io/releases/redis-5.0.13.tar.gz -P /home/ tar -xvf /home/r ...
- Redis单机数据迁移至Sentinel集群
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- 【工具-Nginx】从入门安装到高可用集群搭建
文章已收录至https://lichong.work,转载请注明原文链接. ps:欢迎关注公众号"Fun肆编程"或添加我的私人微信交流经验 一.Nginx安装配置及常用命令 1.环 ...
- redis集群搭建(简单简单)一台机器多redis
redis集群搭建 在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程 下载redis压缩包,然后解压压缩文件: 进入到解压缩后的redis文件目录(此时可以看到Makef ...
随机推荐
- 基于spring多数据源动态调用及其事务处理
需求: 有些时候,我们需要连接多个数据库,但是,在方法调用前并不知道到底是调用哪个.即同时保持多个数据库的连接,在方法中根据传入的参数来确定. 下图的单数据源的调用和多数据源动态调用的流程,可以看出在 ...
- linux下安装telnet
1:yum install telnet-server 2:编辑设置 /etc/xinetd.d/telnet ,将disable= yes设置成disable= no 3:service xine ...
- crontab中引入环境变量(比如需要执行tomcat的关闭启动)
起因 crontab中的定时任务,执行到关闭tomcat时,报环境变量找不到 解决方案 1.使用 . /etc/profile 引入环境变量 ###推荐, 实测ubuntu12 成功 2.使用 sou ...
- H5 data-*容易忽略的问题
H5添加了data-*属性,非常方便 但经常忽略小写的问题, H5要求属性名全部小写,驼峰式命名的习惯掉坑了 测试代码如下: <html> <head> <script ...
- java equals和==区别及string类的说明
一.equals和==的区别 1.1.equals之string字符串的比较 1.1.1.源码如下图 if (this == anObject) { return true; ...
- pyparsing:定制自己的解析器
在工作中,经常需要解析不同类型的文件,常用的可能就是正则表达式了,简单点的,可能会使用awk.这里要推荐一种比较小众的方式,使用pyparsing来解析文件. pyparsing可以做些什么呢?主要可 ...
- winform制作小工具的技巧
在使用winfrom制作一些工具的时候,一些基本设置都是去属性里面找来找去,一段时间就忘了,记录记录以备不时之需. 一.窗体绘制的常用设置 窗体的设置应当在窗体构造函数中InitializeCompo ...
- JDBC02 利用JDBC连接数据库【使用数据库连接池】
目录 1/2/3 Statement 和 Preparedstatement 的区别 4 读取properties配置文件 5 数据库连接池 6 利用数据库连接池连接数据库 1 使用Statemen ...
- 学习JavaScript时的三部分
JavaScript = ECMAScript + DOM + BOM 其中ECMAScript表示的是基本语法,包括我们实现JS的基本语法,如变量的声明.基本的语句(if.for.switch等) ...
- 字符的读写函数:fgetc()和fputc()
fgetc(); 功能: 从文件中读取字符. 头文件: #include <stdio.h> 函数原型:int fgetc(FILE *stream); 返 ...