Redis环境的安装(源码安装),主要分为单机安装与集群安装,无论是单机安装还是集群安装,Redis本身的依赖是必须要有的,本文所采用的Redis版本是redis-5.0.3,所需要的依赖如下:

cpp-4.8.5-36.el7.x86_64.rpm
gcc-4.8.5-36.el7.x86_64.rpm
glibc-2.17-260.el7.x86_64.rpm
glibc-common-2.17-260.el7.x86_64.rpm
glibc-devel-2.17-260.el7.x86_64.rpm
glibc-headers-2.17-260.el7.x86_64.rpm
kernel-headers-3.10.0-957.1.3.el7.x86_64.rpm
libgcc-4.8.5-36.el7.x86_64.rpm
libgomp-4.8.5-36.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm

  

其中,在安装时可以查看对应的依赖是否已经安装,查看方式rpm –qa |grep {rpmName}。

检查完依赖,如果依赖不存在,则进行安装,如果安装过程中出现依赖安装不上,可执行rpm –Uvh {rpmName} –-nodeps –force命令进行安装。

单节点环境安装:

解压压缩包, tar zxvf redis-5.0.3.tar.gz -C /opt/sourceware/目录下;
进入目录编译:cd /opt/sourceware/redis-*
编译:make
进入src目录进行安装:make install
修改redis配置文件redis.conf:
bind地址修改为实际地址;
将daemonize属性修改为yes(表名在后台运行)
port端口修改;
protected-mode修改为no(关闭保护模式)
requirepass密码设置
启动redis:redis-server &
进入客户端:redis-cli
重启:redis-cli shutdown

集群环境安装:集群环境采用redis本身集群机制,建议采用3+台机器,具体如下:

环境规划:

机器1:192.168.1.1:8001、192.168.1.1:8002
机器2:192.168.1.1:8003、192.168.1.1:8004
机器3:192.168.1.1:8004、192.168.1.1:8006

应用安装:

解压压缩包, tar zxvf redis-5.0.3.tar.gz -C /opt/sourceware/目录下;
进入目录编译:cd /opt/sourceware/redis-*
编译:make
进入src目录进行安装:make install
每台编译安装结束之后,在安装目录创建集群目录:
机器1:mkdir –p /opt/sourceware/redis-*/ redis_cluster/8001/
机器1:mkdir –p /opt/sourceware/redis-*/ redis_cluster/8002/
机器2:mkdir –p /opt/sourceware/redis-*/ redis_cluster/8003/
机器2:mkdir –p /opt/sourceware/redis-*/ redis_cluster/8004/
机器3:mkdir –p /opt/sourceware/redis-*/ redis_cluster/8005/
机器3:mkdir –p /opt/sourceware/redis-*/ redis_cluster/8006/
并将对应的redis.conf文件copy到redis_cluster/800*/中

修改其中的信息:

port  8001 //端口按规划修改
bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_8001.pid //pidfile文件对应8001
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_8001.conf //集群的配置 配置文件首次启动自动生成 8001
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志 

创建集群:

redis-cli --cluster create 192.168.1.1:8001 192.168.1.1:8002 192.168.1.2:8003 192.168.1.2:8004 192.168.1.3:8005 192.168.1.3:8006 --cluster-replicas 1

创建成功后,启用节点密码及集群密码,密码须一致,修改redis.conf

masterauth passwd123

requirepass passwd123

重启redis应用,并检查集群状态:

执行:redis-cli -c -p 8001 -h 127.0.0.1
执行:cluster info
执行:cluster nodes

redis开机自启:编写redis脚本

#!/bin/bash

# chkconfig: 2345 80 90

#

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.

REDIS_PORT1=8001

REDIS_PORT2=8002

HOST_IP=192.168.1.1

PASS_WORD=Pass@2020

BIN_DIR=/usr/local/bin

COF_DIR=/opt/sourceware/redis-5.0.3/redis_cluster

SER_EXEC=$BIN_DIR/redis-server

CLI_EXEC=$BIN_DIR/redis-cli

PID_FILE1=/var/run/redis_${REDIS_PORT1}.pid

PID_FILE2=/var/run/redis_${REDIS_PORT2}.pid

CONF1=$COF_DIR/${REDIS_PORT1}/redis.conf

CONF2=$COF_DIR/${REDIS_PORT2}/redis.conf

case "$1" in

    start)

        if [ -f $PID_FILE1 ]

        then

            echo "$PID_FILE1 exists, process is already running or crashed"

        else

            echo "Starting Redis cluster server..."

           cd $COF_DIR/${REDIS_PORT1}

            $SER_EXEC $CONF1 &

            echo "启动成功..."

        fi

       if [ -f $PID_FILE2 ]

        then

            echo "$PID_FILE2 exists, process is already running or crashed"

        else

            echo "Starting Redis cluster server..."

           cd $COF_DIR/${REDIS_PORT2}

            $SER_EXEC $CONF2 &

            echo "启动成功..."

        fi

        ;;

    stop)

        if [ ! -f $PID_FILE1 ]

        then

            echo "$PID_FILE1 does not exist, process is not running"

        else

            PID=$(cat $PID_FILE1)

           echo "Stopping ..."

           $CLI_EXEC -p $REDIS_PORT1 -h $HOST_IP -a $PASS_WORD shutdown

           while [ -x /proc/${PID} ]

           do

              echo "Waiting for Redis cluster to shutdown ..."

              sleep 1

           done

           echo "Redis cluster stopped"

        fi

       if [ ! -f $PID_FILE2 ]

        then

            echo "$PID_FILE2 does not exist, process is not running"

        else

           PID=$(cat $PID_FILE2)

           echo "Stopping ..."

           $CLI_EXEC -p $REDIS_PORT2 -h $HOST_IP -a $PASS_WORD shutdown

           while [ -x /proc/${PID} ]

           do

              echo "Waiting for Redis cluster to shutdown ..."

              sleep 1

           done

           echo "Redis cluster stopped"

        fi

        ;;

    *)

        echo "Please use start or stop as first argument"

        ;;

esac

安装脚本:

1.将该文件放在/etc/init.d/目录下
2.修改该文件中的端口、IP、密码
3.执行:chkconfig --add redis
4.执行:chkconfig redis on
5.验证:service redis start|stop

附带常用命令:

redis-cli -c -p 8001 -h 127.0.0.1 -a Password@2020
cluster nodes
cluster info
redis-cli -a Password@2020 --cluster check ip:port
redis-cli -a Password@2020 --cluster fix ip:port
redis-cli -a Password@2020 --cluster add-node ip:port

redis环境的安装的更多相关文章

  1. tomcat+java+redis环境linux安装

    最近要加一个环境测试,自力更生,丰衣足食,记下来下次安装环境速度快点 java jdk-1.80_131 64位 这个jdk 对于初次下载的人要注意,oracel现在不登录不让下载,而注册用户时页面无 ...

  2. redis教程-redis环境搭建安装(qq:1324981084)

    需要整套redis缓存高可用集群教学视频的加qq:1324981084,本套视频从安装到集群的搭建和源码的解析,从零基础讲解. 1.利用命令将redis下载到/usr/local/文件夹下: wget ...

  3. Redis - 环境的安装配置

    Redis 下载安装步骤: 下载 redis 源码: [huey@huey-K42JE ~]$ wget http://download.redis.io/releases/redis-x.y.z.t ...

  4. 在windows环境下安装redis和phpredis的扩展

    在windows环境下安装redis和phpredis的扩展 1.首先配置php: 需要在windows的集成环境中找到php的扩展文件夹,ext,然后在网上寻找自己的php对应的.dll文件 比如说 ...

  5. Redis学习笔记一(Redis的详细安装及Linux环境变量配置和启动)

     Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 我使用的是下面这个版本: 若没有资源的话,我在 ...

  6. centos 7使用docker安装lnmp和redis环境

    #================Docker基础操作========================== #启动docker服务service docker start#搜索可用docker镜像#h ...

  7. 在linux环境下安装redis并且搭建自己的redis集群

    此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群 搭建环境: ubuntun 16.04 + redis-3.0.6 本文章分为三个部分:redis安装.搭建redis集群 ...

  8. Windows环境下安装redis及PHP Redis扩展

    附带管理工具安装教程 安装环境 WNMP环境 参考教程:WIN10下WNMP开发环境部署 安装windows的redis服务 安装包下载 选择msi安装包下载并安装,下载可能会有点慢,请自行使用梯子. ...

  9. centos / Linux 服务环境下安装 Redis 5.0.3

    原文:centos / Linux 服务环境下安装 Redis 5.0.3 1.首先进入你要安装的目录 cd /usr/local 2.下载目前最新稳定版本 Redis 5.0.3 wget http ...

  10. Redis总结(九)Linux环境如何安装redis

    以前总结Redis 的一些基本的安装和使用,由于是测试方便,直接用的window 版的reids,并没有讲redis在linux下的安装.今天就补一下Linux环境如何安装redis. 大家可以这这里 ...

随机推荐

  1. ReplayKit2 有线投屏项目总结

    一.实现目标 iOS11.0以上设备通过USB线连接电脑,在电脑端实时看到手机屏幕内容 画质达到超清720级别,码率可达到1Mbps以上 二.实现技术方案设计 1.手机端采用ReplayKit2框架, ...

  2. uniapp 复选框问题

    之前在开发中遇到过使用colorui组件库的时候,uniapp自带的复选框和colorui的样式有冲突,以至于出现复选框中的勾号一直不显示,后来发现是因为colorui的样式问题 问题的根源: 解决方 ...

  3. 使用python批量获取excel的sheet名称

    这个脚本的重用是批量读取excel并获取每个excel的所有sheet名输出到一个文件中. 环境:python 3.7.3 1 # -*- coding:utf-8 -*- 2 3 ''' 4 本代码 ...

  4. Console LDAP 配置解密

    之前通过短视频向大家介绍了 Console 如何集成 LDAP,但很多小伙伴反映按照视频里的配置后不成功.今天就结合小伙伴们反映的问题来跟大家详细介绍一下. Console LDAP 完整的配置参数如 ...

  5. Unity3D 内存管理非代码技巧

    在场景管理器新建 gameobjct 使用代码在类初始化时 NEW 普肉fai包(包)然后将相同的类NEW够挂载到 gameobjct子节点上 在操控列表中类的时候用for循环遍历操作移动还是怎么样( ...

  6. C#.NET 微信上传电子小票

    HttpWebRequest 时,不认图片的Content-Type.Content-Type 实际是有传的. 报错内容:{"code":"PARAM_ERROR&quo ...

  7. spring eureka服务注册配置,排查服务注册上来了,但是请求没有过来。检查是否服务注册配置错误

    spring eureka服务注册配置,排查服务注册上来了,但是请求没有过来.检查是否服务注册配置错误 解决方法: 去掉该配置eureka.instance.hostname = client微服务的 ...

  8. 微信小程序自动化_从环境搭建到自动化代码实现过程

    前期准备 微信小程序作为现在流行的一种应用载体,很多小伙伴都有对其做自动化测试的需求,由于腾讯系 QQ.微信等是基于腾讯自研 X5 内核,不是谷歌原生 webview,所以调试会有些许差异(现在很多 ...

  9. gitlab角色与权限

    用户在项目中的角色 Guest:访客.可以创建issue.发表评论,不能读写版本库.(就是看不了代码-) Reporter:Git项目测试人员.可以克隆代码,不能提交.QA.PM可以赋予这个权限. D ...

  10. Java面试知识点(四)重写和重载

    重写override 在 java 中有很多的继承,继承下来的有变量.方法.在有一些子类要实现的方法中,方法名.传的参数.返回值跟父类中的方法一样,但具体实现又跟父类的不一样,这时候我们就需要重写父类 ...