• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >Linux > CentOS下安装redis和redis集群

CentOS下安装redis和redis集群

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含centos6.5安装redis,centos下安装redis,centos 安装redis,centos 7安装redis,centos yum安装redis等服务器相关知识,网友希望可以进行参考

CentOS下安装redis和redis集群


redis简介

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、高性能的Key-Value数据库,并提供多种语言的API。

安装步骤

1.需要安装gcc。

yum install gcc-c++

2.下载redis的源码包,下载地址:http://download.redis.io/releases/redis-3.0.0.tar.gz 3.把源码包上传到Linux服务器。 4.解压源码包

tar -zxvf redis-3.0.0.tar.gz

5.进入redis目录使用make命令

cd redis-3.0.0/make

6.使用make install指定目录安装redis

# 指定安装目录为/usr/local/redismake install PREFIX=/usr/local/redis

启动redis服务器

1.前端启动模式

# 默认是前端启动模式,端口为6379/usr/local/redis/bin/redis-server 

2.后端启动 1) 从redis的源码目录中复制redis.conf到redis的安装目录。

cp redis.conf /usr/local/redis/bin/

2) 修改配置文件redis.conf

将daemonize no 改为 daemonize yes

3) 根据配置文件后端启动

./redis-server redis.conf 

redis常用命令

启动redis客户端

[root@VM_161_110_centos bin]# ./redis-cli   127.0.0.1:6379> pingPONG127.0.0.1:6379> set a 1OK127.0.0.1:6379> get a"1"127.0.0.1:6379> keys *1) "a"127.0.0.1:6379> incr a(integer) 2127.0.0.1:6379> decr a(integer) 1127.0.0.1:6379> del a(integer) 1127.0.0.1:6379> keys *(empty list or set)

redis常用数据类型

  1. String(主要)
  2. Hash(主要)
  3. List
  4. Set
  5. SortedSet

redis集群的搭建

redis-cluster 架构图

  • redis-cluster把所有的物理节点映射到[0-16383]slot(哈希槽)上,cluster 负责维护node(节点)<->slot(槽)<->value(值)。
  • redis 集群中内置了 16384 (2^14 14位)个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。

redis-cluster投票:容错

  1. 领着投票过程是集群中所有master(主节点)参与,如果半数以上master节点与该master节点通信超过集群节点超时的时间(cluster-node-timeout),则认为当前master节点挂掉。
  2. 什么时候整个集群不可用(cluster_state:fail)?
    1. 如果集群任意master挂掉,且当前master没slave(备份节点),集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完成时进入fail状态。 ps :redis-3.0.0.rc1加入cluster-require-full-coverage参数,默认关闭,打开集群兼容部分失败。
    2. 如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态。 ps:当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误。

集群的节点规划

3个节点的集群,每个节点有一主一备,理论上需要6台服务器(没有辣么多钱)。所以搭建一个伪分布式的集群,使用6个redis实例来模拟。

搭建ruby环境

  • 搭建集群需要使用到官方提供的ruby脚本,需要安装ruby的环境。
yum install rubyyum install rubygems # 安装ruby包管理器
  • 安装ruby所需要gem包 gem包下载地址:http://download.csdn.net/detail/xuda27/9668339
gem install redis-3.0.0.gem 

集群的搭建

第一步:创建6个redis实例,端口号从7001~7006 1. 在/usr/local/创建redis-cluster目录并从/usr/local/redis的redis文件夹复制到redis-cluster文件夹下并将文件夹重名为redis01,以此类推创建redis02、redis03、……redis06。 2. 把创建集群的ruby脚本复制到redis-cluster目录下,即 将redis源码包(src目录)下的redis-trib.rb复制到redis-cluster目录下。

    #1.将redis目录下所有文件复制到redis-cluster目录下并将文件夹重名为redis01    cp -r redis /usr/local/redis-cluster/redis01    #2.将redis-trib.rb复制到redis-cluster目录下    cp redis-trib.rb  /usr/local/redis-cluster

第二步:修改6个redis实例下的bin目录下的redis.conf配置文件 1、修改端口号 这里是修改了redis01的端口,剩余5个redis实例的端口分别为7002至7006。 2、打开cluster-enable前面的注释。 告诉redis要使用集群。 第三步:启动6个redis实例。 在redis-cluster目录下创建startup.sh用于启动6个redis实例,并给startup.sh赋予执行权限。

#创建startup.sh[root@VM_161_110_centos redis-cluster]# vim startup.sh cd redis01/bin./redis-server redis.confcd ..cd ..cd redis02/bin./redis-server redis.confcd ..cd ..cd redis03/bin./redis-server redis.confcd ..cd ..cd redis04/bin./redis-server redis.confcd ..cd ..cd redis05/bin./redis-server redis.confcd ..cd ..cd redis06/bin./redis-server redis.confcd ..cd ..# 赋予执行权限chmod +x startup.sh# 启动6个redis实例./startup.sh # 查看redis进程运行:ps aux|grep redis

redis-cluster创建好的目录结构:

第五步:创建集群。 需要知道Linux服务器的ip地址,可以用ifconfig命令查看。

./redis-trib.rb create --replicas 1 10.104.161.110:7001 10.104.161.110:7002 10.104.161.110:7003 10.104.161.110:7004 10.104.161.110:7005  10.104.161.110:7006

集群创建的信息:

# 主节点有槽,从节点没有槽>>> Performing hash slots allocation on 6 nodes...Using 3 masters:10.104.161.110:700110.104.161.110:700210.104.161.110:7003Adding replica 10.104.161.110:7004 to 10.104.161.110:7001Adding replica 10.104.161.110:7005 to 10.104.161.110:7002Adding replica 10.104.161.110:7006 to 10.104.161.110:7003M: 131a1d2c7a02cd38e9f61138975863fc8c20d0ea 10.104.161.110:7001   slots:0-5460 (5461 slots) masterM: e2a9a28c3842d37aa602182110f93598c2936da5 10.104.161.110:7002   slots:5461-10922 (5462 slots) masterM: 5e0096b41ae8ae5b06539a311c5741d01163497e 10.104.161.110:7003   slots:10923-16383 (5461 slots) masterS: 0920f150bbd8553414492bb51c1ea03055484ee6 10.104.161.110:7004   replicates 131a1d2c7a02cd38e9f61138975863fc8c20d0eaS: e2439d0425c7abbf437b76b50ebe1db6066f51ef 10.104.161.110:7005   replicates e2a9a28c3842d37aa602182110f93598c2936da5S: 1127ebb56980ebb23c45d3c5a4c79c92840470df 10.104.161.110:7006   replicates 5e0096b41ae8ae5b06539a311c5741d01163497eCan I set the above configuration? (type 'yes' to accept): yes>>> Nodes configuration updated>>> Assign 
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • CentOS下安装redis和redis集群

相关文章

  • Centos 6.8上安装Mysql 5.6.35
  • CentOS6下基于tengine搭建mp4/flv流媒体服务器(
  • centos7下lamp快速搭建环境
  • Centos 6.5编译安装git 2.9.3
  • CentOS7上安装WordPress
  • 详解CentOS 8 VMware虚拟机设置静态ip网卡上网
  • CentOS7 安装Mysql5.7(解压缩版)
  • CentOS服务器系统下更改Apache默认网站目录
  • MySQLcluster 提供高可用MySQL 集群服务
  • centos服务器下nginx防盗链设置

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Centos上安装MySQL社区版
    • Centos7搭建Docker私有库
    • Centos7.3部署Elasticsearch5.4.0集群
    • CentOS7安装MySQL5.6.28及其修改密码
    • CentOS7安装Discuz3.3
    • Centos 6.5下安装MySQL 5.6
    • Linux系统(CentOS7安装)安装JDK8的教程详解
    • CentOS 7自建加密聊天环境Openfire XMPP服务
    • CentOS上安装MongoDB 3.2
    • CentOS7 安装Mysql5.7(解压缩版)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有