当前位置: 首页 > news >正文

Redis 安装加集群配置

redis 简单介绍

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

首先安装redis,这里安装的是linux版本的。 在liunx的/usr/local/下 输入命令

wget http://download.redis.io/releases/redis-5.0.3.tar.gz
复制代码
  • -bash:wget:未找到命令
  • 安装
 yum install wget
复制代码
  • 下载完成后解压 $tar -zxvf redis-5.0.3.tar.gz

  • 在进入目录 cd redis-5.0.3

  • 执行命令 make ,make如果报错安装c++编译器,执行

yum -y install gcc-c++
复制代码

集群配置

搭建集群:至少要3个master; 现在在3台服务器上搭建,一台服务器上部署一master一slave

  • 第一步创建一个文件夹redis-cluster,linux创建目录命令mkdir xxx.
  • 然后在文件夹redis-cluster下创建2个文件夹master、slave
  • 第二步将redis5.0.3/conf/目录下的redis.conf文件copy到master、slave下,对复制后的redis.conf文件修改
* daemonize yes
* port 7001(开启的端口)
* bind 0.0.0.0
* dir /usr/local/redis-cluster/master/(指定数据文件存放的位置,不同conf文件指定不同的目录位置)
* cluster-enabled yes (启动集群,开始玩耍)
* cluster-config-file node7001.conf(最好和port对应上)
* cluster-node-timeout 5000
* appendonly yes
复制代码
  • 第三步 将各个master,slave下的conf文件修改完成
  • 第四步 redis集群需要ruby命令,所有我们来安装ruby命令
* yum install ruby
* yun install rubygems
* gem install redis
``` (安装redis和ruby的接口)
* 
CentOS7 yum库中ruby的版本支持到 2.0.0,可gem 安装redis需要最低是2.2.2,自己编译的ruby源码,再执行还是报错

采用rvm来更新ruby:
方法三:RVM 安装

先执行一条官方 https://rvm.io/复制来的长命令(...C0E3空格7D2B...):

复制代码

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

可能会等待十几秒时间,然后执行下面命令:

复制代码

\curl -sSL get.rvm.io | bash -s stable


复制代码

source /etc/profile.d/rvm.sh  //按照提示,执行该命令

rvm list known   // list一下可以安装的版本


![](https://user-gold-cdn.xitu.io/2019/3/8/1695c117b9ea91ff?w=342&h=265&f=png&s=13835)

复制代码

rvm install 2.4.1    // 安装ruby 2.4.1 ,直接跟版本号即可


复制代码

ruby -v     //查看验证下已经安装的版本 gem -v

至此,ruby安装完成了

[https://www.cnblogs.com/ding2016/p/7903147.html]()

* 第五步 分别启动6个redis实例,然后检查是否启动成功

* (1)
复制代码

/usr/local/redis5.0.3/bin/redis-srever /usr/local/redis-cluster/master/redis.conf


* (2)
复制代码

ps -el|grep redis


* ## 创建集群
现在我们已经运行了许多实例,我们需要通过向节点编写一些有意义的配置来创建我们的集群。

如果您使用的是Redis 5,这很容易实现,因为我们在嵌入的Redis Cluster命令行实用程序的帮助下redis-cli,可以用来创建新集群,检查或重新硬化现有集群等等。

对于Redis版本3或4,有一个名为redis-trib.rb非常相似的旧工具。您可以src在Redis源代码分发的目录中找到它。你需要安装redisgem才能运行redis-trib。

* 第六步 到redis5.0.3/src/目录下 然后执行redis-cli 命令
* 
复制代码

redis-cli --cluster create 192.101.63.59:7001 192.101.63.59:7002 192.14.12.45:7001 192.14.12.45:7002 192.101.134.36:7001 192.101.134.36:7002 --cluster-replicas 1

* 最后,如果一切顺利,你会看到这样的消息:
* All 16384 slots covered
* 这意味着至少有一个主实例为16384个可用插槽提供服务。连接本地的节点
## 设置集群访问密码:

方式一:修改所有Redis集群中的redis.conf文件加入: 

复制代码

masterauth 123456

requirepass 123456.


说明:这种方式需要重新启动各节点

方式二:进入各个实例进行设置: 

* 
复制代码

./redis-cli -c -h 192.168.70.74 -p 7001 //连接其他节点

  • config set masterauth 123456

  • config set requirepass 123456 config rewrite


设置成功以后,可以ip,端口进入实例,但是操作需要密码:
auth 密码


复制代码

相关文章:

  • 带你快速了解ES1D-E361T
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • dependencies与devDependencies的区别
  • ale.js2.0 更新计划正式发布
  • 代码管理podfile.lock报错
  • 2019年3月11日 [950] Reveal Cards In Increasing Order
  • bzoj2395 [Balkan 2011]Timeismoney(最小乘积生成树+计算几何)
  • UAV心跳机制与容器、进程数据采集
  • [Codeforces1137D]Cooperative Game
  • 数论 欧拉线性素数筛
  • lync server 2013边缘前端无法同步
  • 专业PPT制作 驼峰设计
  • P4720 【模板】扩展卢卡斯
  • Linux 遭入侵,挖矿进程被隐藏排查记录
  • 血淋淋的BUG:波音在软件开发上错在哪里?
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • cookie和session
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Java,console输出实时的转向GUI textbox
  • Java应用性能调优
  • PAT A1120
  • storm drpc实例
  • vue-router的history模式发布配置
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 阿里云前端周刊 - 第 26 期
  • 从伪并行的 Python 多线程说起
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 聊聊sentinel的DegradeSlot
  • 入口文件开始,分析Vue源码实现
  • 网络应用优化——时延与带宽
  • 用Python写一份独特的元宵节祝福
  • 正则表达式
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 选择阿里云数据库HBase版十大理由
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​水经微图Web1.5.0版即将上线
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #单片机(TB6600驱动42步进电机)
  • (8)STL算法之替换
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (数据结构)顺序表的定义
  • (一)Neo4j下载安装以及初次使用
  • (一)SpringBoot3---尚硅谷总结
  • (一)插入排序
  • (转)ObjectiveC 深浅拷贝学习
  • (转载)深入super,看Python如何解决钻石继承难题
  • 、写入Shellcode到注册表上线
  • .NET CLR基本术语
  • .NET Core中的去虚
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .net 使用ajax控件后如何调用前端脚本
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .sdf和.msp文件读取
  • @SuppressWarnings(unchecked)代码的作用