非关系数据库——redis群集

redis群集,实验环境两台服务器,六个节点,每台服务器三个网卡

6个节点三个主,三个副本

主服务器安装redis

[[email protected] ~]# yum install gcc gcc-c++ make -y  #安装环境包
[[email protected] ~]# mkdir /abc
[[email protected] ~]# mount.cifs //192.168.100.25/redis /abc/ 挂载
Password for [email protected]//192.168.100.25/redis:
[[email protected] ~]# cd /abc/
[[email protected] abc]# ls
redis-5.0.7.tar.gz
[[email protected] abc]# tar zxvf redis-5.0.7.tar.gz -C /opt/ #解压到opt底下
[[email protected] abc]# cd /opt/redis-5.0.7/
make
[[email protected] redis-5.0.7]# make PREFIX=/usr/local/redis install #安装
[[email protected] redis-5.0.7]# ln -s /usr/local/redis/bin/* /usr/local/bin/ #做软连接
[[email protected] redis-5.0.7]# cd /opt/redis-5.0.7/utils/
[[email protected] utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] /usr/local/redis/bin/redis-server

从服务器(一样的操作不重复了)

主服务器配置redis

带“#”的原本配置文件的内容方便写shell脚本

[[email protected] utils]# vim /etc/redis/6379.conf
  #70 bind 127.0.0.1
  70 #bind 127.0.0.1
  #89 protected-mode yes
  89 protected-mode no #关闭保护功能
#833 # cluster-enabled yes
833  cluster-enabled yes  #开启群集功能
#841 # cluster-config-file nodes-6379.conf
841  cluster-config-file nodes-6379.conf #开启群集功能配置文件
#847 # cluster-node-timeout 15000
847  cluster-node-timeout 15000 #设置群集超时时间为15000秒
 #700 appendonly no
 700 appendonly yes #开启AOF支持
[[email protected] redis]# /etc/init.d/redis_6379 restart #开起redis
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
Starting Redis server...
[[email protected] utils]# cd /var/lib/redis/
[[email protected] redis]# cd 6379/
[[email protected] 6379]# ls
appendonly.aof  dump.rdb  nodes-6379.conf
#aof配置文件,rdb快照文件,节点配置文件

从服务器一样的操作

主服务器安装rvm,ruby控制群集

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 #导入密钥
[[email protected] 6379]# curl -sSL https://get.rvm.io | bash -s stable #寻找这个地址安装RVM

[[email protected] 6379]# cd /opt/
[[email protected] opt]# ls
redis-5.0.7  rh
[[email protected] opt]# vim abc.sh #rvm的脚本很长
[[email protected] opt]# ls
abc.sh  redis-5.0.7  rh
[[email protected] opt]# chmod +x abc.sh
[[email protected] opt]# ls
abc.sh  redis-5.0.7  rh
[[email protected] opt]# source /etc/profile.d/rvm.sh
[[email protected] opt]# rvm list known #查看rvm安装的版本

[[email protected] opt]# rvm install 2.4.1 #安装rvm2.4.1版本

[[email protected] opt]# rvm use 2.4.1 #使用rvm
Using /usr/local/rvm/gems/ruby-2.4.1
[[email protected] opt]# ruby -v #查看ruby的版本
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
[[email protected] opt]# gem install redis #安装redis

主服务器安装三块网卡
192.168.136.229
192.168.136.232
192.168.136.231
从服务器安装三块网卡
192.168.136.185
192.168.136.233
192.168.136.234

两台服务器都重启网路服务

[[email protected] opt]# systemctl restart network

两台服务器关闭防火墙和增强功能

[[email protected] opt]# systemctl stop firewalld.service
[[email protected] opt]# setenforce 0

主服务器,重启redis,创建群集

[[email protected] 6379]# /etc/init.d/redis_6379 restart #重启redis
redis-cli --cluster create 192.168.136.229:6379 192.168.136.232:6379 192.168.136.231:6379 192.168.136.185:6379 192.168.136.233:6379 192.168.136.234:6379 --cluster-replicas 1

Can I set the above configuration? (type ‘yes‘ to accept): yes #出现这行输入yes
三个节点master,三个副本节点,彼此对应关系是随机的,但是是一主带一从。

开始验证

[[email protected] opt]# redis-cli -h 192.168.136.229 -p 6379 #登录一台主服务器229
192.168.136.229:6379> set name zhangsan #创建键值对
OK
192.168.136.229:6379> keys * #查看所有键
1) "name"
192.168.136.229:6379> get name  #查看值
"zhangsan"
192.168.136.229:6379> quit
[[email protected] opt]# redis-cli -h 192.168.136.234 -p 6379 #登录一台从服务器234
192.168.136.234:6379> keys *
1) "name"
192.168.136.234:6379> get name #查看数据,查看不了,会提示你数据存放在231服务器中
(error) MOVED 5798 192.168.136.231:6379
[[email protected] opt]# redis-cli -h 192.168.136.231 -p 6379 #登录231服务器,就看到数据了
192.168.136.231:6379> keys *
1) "name"
192.168.136.231:6379> get name
"zhangsan"

用hash方式建立键值对,设置键的删除时间

[[email protected] opt]# redis-cli -h 192.168.136.229 -p 6379
192.168.136.229:6379> hset person age 20   ##用hash方式建立键值对
(integer) 1
192.168.136.229:6379> hset person name lisi
(integer) 1
192.168.136.229:6379> keys *
1) "person"
192.168.136.229:6379> hget person age   ##获取键的值
"20"
192.168.136.229.128:6379> expire person 5     ##设置键的删除时间5s
(integer) 1
192.168.136.229:6379> keys *
1) "person"
192.168.136.229:6379> keys *
(empty list or set)

以上就是我们全部的内容了,谢谢收看

原文地址:https://blog.51cto.com/14449524/2459240

时间: 2024-08-01 14:00:48

非关系数据库——redis群集的相关文章

NoSQL数据库探讨之一 - 为什么要用非关系数据库?

随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传统的关系数据库在应付 web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如: 1.High performance - 对数据库高并发读写的需求 web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往 往要达到每秒上万次读写请求.

centos 7之Redis群集详解及参数调优(内附搭建群集案例)

博文目录:一.关系型数据库与非关系型数据库的区别.二.Redis数据库介绍.三.Redis的安装部署.四.Redis命令工具及常用命令五.Redis群集配置实例. 一.关系型数据库与非关系型数据库的区别: Redis数据库是一个非关系型数据库,和oracle.mysql.sql server等关系型数据库不是同一类型.NoSQL是非关系型数据库的总称,主流的NoSQL数据库有redis.MongBD等.NoSQL的存储方式.存储结构以及使用的场景都是完全不同的.NoSQL数据库凭借着其非关系型.

Redis 群集

-1.关系数据库关系数据库是一个结构化的数据库,创建在关系模型基础上,一般面向记录.它借助于集合代数等数学概念和方法来处理数据库中的数据.关系模型指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系的一个数据组织. 主流的关系型数据库包括:Oracle,Mysql,SQL Server,Mrcrosoft Access,DB2等.. 2.非关系数据库NoSQL(NoSQL =Not Only SQL),意思是"不仅仅是SQL"是非关系数据库的总称.主流的NoSQL数据库有:R

MongoDB是一个介于关系数据库和非关系数据库之间的产品

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.它的特点是高性能.易部署.易使用,存储数据非常方便. MongoDB[1]的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的R

前端开发必学技能之一———非关系数据库又像关系数据库的MongoDB快速入门第一步下载与安装

数据库总的来说,分为两个方向:关系数据库和非关系数据库.我们常见的MySQL.Oracle.SQLSerever以及IBMDB2都是属于关系数据库,这里的关系值得是二维表的结构,但是由于随着web的应用的复杂度的增加,完全基于关系的数据库,已经不能满足实际需求.开始出现了一些非关系型数据库,所谓的非关系,就不是二维表的结构.比较常用的就是使用键值对的形式来保存数据-————即NoSQL. 今天给大家分享一下前端开发中比较流行的非关系数据库之一MongoDB. MongoDB是一个基于分布式文件存

检索07 -- 关系数据库和非关系数据库

关系数据库和非关系数据库的区别是,关系数据库只有“表”这一种数据结构:而非关系数据库系统还有其他数据结构,对这些数据结构还有其他操作. 随着网络的不断发展,单纯关系数据库面临挑战. 关系与非关系型数据库的特点 1.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织. 关系模型中常用的概念: 关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名 元组:可以理解

redis群集节点删除和添加

redis集群介绍 多个redis节点实现网络互连,数据共享所有节点都是一主一从(或一主多从),其中从不提供服务,仅作为备份备用,保证redis数据的安全性不支持同时处理多个键,redis集群写入数据是向集群里随机写入的(比如raid5磁盘阵列格式),因为redis集群需要把键平均分布在各个节点上,并发量很高的情况下同时创建键值会降低性能并会导致不可预估的行为redis集群支持在线增加.删除节点,在扩充redis的情况下,是非常容易扩容集群服务数量的客户端可以连接任意一个主节点进行读写 redi

基于centos 7的Redis群集原理及配置

博文大纲:一.Redis群集原理二.Redis群集架构细节三.redis-cluster选举四.部署Redis群集环境 关于Redis的性能调优参数的说明,可以参考博文:centos 7之Redis数据库详解及参数调优一.Redis群集原理: 1)Redis集群架构: Redis Cluster采用虚拟槽分区,将所有的数据根据算法映射到0~16384整数槽内 Redis Cluster是一个无中心的结构 每个节点都保存数据和整个集群的状态2)集群角色 Master:Master之间分配slots

Redis群集部署详解

博文大纲:一.Redis群集相关概念二.部署Redis群集 1.部署环境 2.配置Redis实例 3.配置node06主机的多Redis实例 4.主机node01安装配置ruby的运行环境,便于管理Redis群集 5.配置群集中的各个节点 6.使用ruby安装的命令管理Redis群集 7.将node06的6380实例添加节点到Redis群集中 8.为新加入的master分配从节点 9.删除主节点操作 一.Redis群集相关概念 Redis是从3.0版本开始支持cluter的,采用的是hash槽方