Centos7离线部署redis集群

摘要:
目录1.安装Redis所需的依赖项2.安装Redis 3.部署Redis群集1.安装Redi所需的依存项1.安装GCC 1.检查是否安装了GCC命令:GCC-v如果可以输出GCC版本信息,则安装GCC。相反,您需要安装gcc 2,安装gcc 2.1,创建目录/usr/local/gccSrc 2.2,并将以下rpm文件上载到目录/usr/local/gccSrc。

 

目录

一、安装redis需要的依赖

二、安装redis

三、部署redis集群

一、安装redis需要的依赖

1、安装GCC

  1、检查是否安装gcc

    命令: gcc  -v

    如果能输出gcc版本信息,,说明安装了gcc。反之需要安装gcc

  2、安装gcc

    2.1创建目录/usr/local/gccSrc

    2.2上传以下rpm文件至/usr/local/gccSrc目录下 。 以下rpm包也可以从CentOS7的系统安装镜像中获取:解压镜像文件,进入"Packages"目录,里面很多rpm包,取出如下几个:

         cpp-4.8.5-11.el7.x86_64.rpm

    gcc-4.8.5-11.el7.x86_64.rpm

    glibc-devel-2.17-157.el7.x86_64.rpm

    glibc-headers-2.17-157.el7.x86_64.rpm

    kernel-headers-3.10.0-514.el7.x86_64.rpm

    libmpc-1.0.1-3.el7.x86_64.rpm

    mpfr-3.1.1-4.el7.x86_64.rpm

             以上安装包下载: https://pan.baidu.com/s/1wyN_g7nULxnwjvpgSvWmfQ

    2.3依次进行安装  

rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-514.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-157.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-157.el7.x86_64.rpm
rpm -ivh cpp-4.8.5-11.el7.x86_64.rpm
rpm -ivh gcc-4.8.5-11.el7.x86_64.rpm

   2.4都安装成功后,验证

   gcc -v

 

2、安装zlib

   1、上传zlib-1.2.11.tar.gz到/usr/local目录下,安装包下载: https://pan.baidu.com/s/1SlDwIqKPd35YJvxr0FUPuQ

  2、解压 tar -xzvf zlib-1.2.11.tar.gz

  3、cd zlib-1.2.11

  4、./configure --prefix=/usr/local/zlib

      (如果报错check for gcc,需要先安装gcc,安装完GCC再来执行)

  5、make

  6、make install

 

3、安装openssl

  1、上传openssl-1.0.1h.tar.gz到/usr/local/目录下,安装包下载: https://pan.baidu.com/s/17iVLWIUuCHQGwn6dwt_DLQ

  2、解压 tar -xzvf openssl-1.0.1h.tar.gz

  3、cd openssl-1.0.1h/

  4、./config -fPIC --prefix=/usr/local/openssl enable-shared

  5、./config -t

  6、make && make install

  Centos7离线部署redis集群第1张

  7、which openssl        //查看系统openssl的路劲

  8、rm -rf /usr/bin/openssl     // /usr/bin/openssl是which openssl 查看到的旧版本的openssl的路径

  9、cp /usr/local/openssl/bin/openssl /usr/bin/openssl  //拷贝新版本的安装路径到系统路径

  10、执行openssl version

  输出版本信息

   Centos7离线部署redis集群第2张

4、安装ruby

  1、上传ruby-2.5.7.tar.gz到/usr/local目录下,安装包下载: https://pan.baidu.com/s/1qwrGCVKMlrK_XUjrkzG7xA

  2、解压  tar -xzvf ruby-2.5.7.tar.gz

  3、cd ruby-2.5.7

  4、./configure –-prefix=/usr/local/ruby   //-prefix是将ruby安装到指定目录

  5、make && make install

  成功安装如图所示

   Centos7离线部署redis集群第3张

  6、配置环境变量

    vi /etc/profile

  添加环境变量,如图所示

   Centos7离线部署redis集群第4张

  7、执行命令使配置文件生效

    source /etc/profile

  8、执行命令校验ruby是否安装成功,安装配置成功会输出ruby版本信息

    ruby -v

  9、进入/usr/local/ruby-2.5.7/ext/zlib/目录下

    cd /usr/local/ruby-2.5.7/ext/zlib/

    (备注:/usr/local/ruby-2.5.7这个目录是ruby安装包后解压的目录)

  10、执行命令:ruby extconf.rb --with-zlib-include=/usr/local/zlib/include/ --with-zlib-lib=/usr/local/zlib/lib

    (备注:/usr/local/zlib是zlib安装目录,命令执行后会生成Makefile文件)

    Centos7离线部署redis集群第5张

  11、打开Makefile文件,找到下面一行(在文件倒数第3行)把路径修改一下

    把zlib.o: $(top_srcdir)/include/ruby.h 改zlib.o: ../../include/ruby.h

     Centos7离线部署redis集群第6张

  12、make && make install

        Centos7离线部署redis集群第7张

  13、进入 /usr/local/ruby-2.5.7/ext/openssl/目录下

     cd  /usr/local/ruby-2.5.7/ext/openssl/

  14、执行命令:

    ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib

    (备注:/usr/local/openssl是openssl的安装目录,命令执行后会生成Makefile文件)

  15、打开Makefile文件,在topdir = /usr/local/ruby/include/ruby-xxx后面新增一行 top_srcdir = /usr/local/ruby-2.5.7

    (备注/usr/local/ruby-2.5.7是ruby解压的目录)

        Centos7离线部署redis集群第8张

  16、make && make install

        Centos7离线部署redis集群第9张

6、安装redis-4.1.3.gem

  1、上传redis-4.1.3.gem到/usr/local/目录下,安装包下载: https://pan.baidu.com/s/1AJF_wBRbv2H86491PLsTRA

  2、执行命令 gem install redis-4.1.3.gem

  成功安装如图所示

   Centos7离线部署redis集群第10张

二、安装redis

  1、创建/usr/local/redis目录,上传redis-4.0.14.tar.gz至/usr/local/redis目录,安装包下载: https://pan.baidu.com/s/14y1VZbKCdYJuHZec1ezo-A

  2、cd /usr/local/redis

  3、解压 tar -xzvf redis-4.0.14.tar.gz

  4、cd redis-4.0.14/

  5、make && make install

  看到如下信息,redis安装成功了

   Centos7离线部署redis集群第11张

  进入安装目录 cd /usr/local/redis/redis-4.0.14

  6、修改配置文件redis.conf 

bind 127.0.0.1 改为bind 0.0.0.0  【说明:表示所有ip都可以连接这个redis】
daemonize no 改为 daemonize yes 【说明:启动守护进程】
protected-mode yes 改为 protected-mode no 【说明:取消保护模式,如果启用保护模式需要设置密码】
logfile "" 改为 logfile "redis日志存储文件路径" 【说明:指定日志存储路径】

  7、启动redis的命令

  进入redis安装目录/usr/local/redis/redis-4.0.14,执行如下命令启动redis

    redis-server redis.conf

  启动后执行如下命令连接redis

    redis-cli -p 6379 -h 192.169.1.86

    (备注:6379是redis默认端口  192.169.1.86是redis所在服务器ip)

  并执行命令set 1 1存入值至redis中测试一下

       Centos7离线部署redis集群第12张

 

三、部署redis集群

以部署三主三从集群为例(redis集群至少要6个节点)

   1、进入/usr/local/redis/目录

    cd /usr/local/redis

  2、执行mkdir redis700{1,2,3,4,5,6} 创建文件夹redis7001、redis7002、redis7003、redis7004、redis7005、redis7006

    Centos7离线部署redis集群第13张

  3、将/usr/local/bin/ 目录下的redis-cli和redis-server复制到redis7001、...redis7006目录下

    Centos7离线部署redis集群第14张

  4、在redis7001目录下创建redis.conf文件

    vim redis.conf

    文件内容

#端口号(6个对应各自的端口号)
port 7001
appendonly yes
#启动集群
cluster-enabled yes
#yes 启用守护进程
daemonize yes
#关联集群配置文件
cluster-config-file "nodes.conf"
#设置超时
cluster-node-timeout 5000
#日志信息
logfile "redis7001.log"
#指定访问地址
bind 0.0.0.0
tcp-keepalive 300

  redis7002目录下创建redis.conf文件

    文件内容为

port 7002
appendonly yes
cluster-enabled yes
daemonize yes
cluster-config-file "nodes.conf"
cluster-node-timeout 5000
logfile "redis7002.log"
bind 0.0.0.0
tcp-keepalive 300

    依次类推,redis7003至redis7006目录下都创建redis.conf文件

    每个目录下(redis7001至redis7006)都应该有这三个文件

     Centos7离线部署redis集群第15张

    分别将这6个服务启动起来,启动命令:redis-server redis.conf

    一个一个启动有点麻烦,在/usr/local/redis/目录下创建一下sh脚本来启动redis实例

    vim startall.sh

cd redis7001
./redis-server redis.conf
cd ..
cd redis7002
./redis-server redis.conf
cd ..
cd redis7003
./redis-server redis.conf
cd ..
cd redis7004
./redis-server redis.conf
cd ..
cd redis7005
./redis-server redis.conf
cd ..
cd redis7006
./redis-server redis.conf

    赋予 startall.sh脚本可执行权限

      chmod 777 startall.sh

    执行 startall.sh脚本

      ./startall.sh

 

    执行ps -ef|grep redis情况查看redis运行情况,启动成功如图所示

     Centos7离线部署redis集群第16张 

    创建集群,将这几个节点加入集群。首先进入redis-trib.rb所在目录

     Centos7离线部署redis集群第17张

     进入/usr/local/redis/redis-4.0.14/src/目录

      cd /usr/local/redis/redis-4.0.14/src/

    执行如下命令:

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

    【备注:192.169.1.86是redis所在服务器ip,注意这个ip不能写127.0.0.1,否则只有本机才能连接】

     Centos7离线部署redis集群第18张

    输入yes 回车 ,如图所示加入集群成功

     Centos7离线部署redis集群第19张

     【说明:M表示是主节点,S表示是从节点】

 

    连接集群测试

    连接命令:redis-cli -p 其中一个节点的端口 -h 其中一个节点的ip -c

    【备注:一定要有-c , -c表示以集群方式连接,没有-c就是单点连接了】

    并往redis存一个值进行测试:set a a ,如下图表示成功

     Centos7离线部署redis集群第20张

参考地址:

1、Linux下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误方案)https://www.cnblogs.com/xuliangxing/p/7146868.html

2、Linux安装Ruby详解(在线和离线安装) https://www.cnblogs.com/xuliangxing/p/7132656.html

3、CentOS7离线安装gcc https://blog.csdn.net/lvtula/article/details/82590870

免责声明:文章转载自《Centos7离线部署redis集群》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】如何使用Git上传本地项目到github?(mac版)Geometry shader总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL配置文件改变了datadir值

从Noinstall Zip Archive中安装MySQL正在从Noinstall软件包安装MySQL的用户可以使用这个说明来手动安装MySQL。从Zip archive 中安装MySQL的 步骤如下: 1 在指定的安装目录下解压软件包。 2 制造选择文件。 3 选择MySQL服务类型。 4 开始MySQL服务。 5 保护默认...

修改apk里面的源码

1.解压apk文件,获取classes.dex并拷贝到资源根目录(使用zip或其他解压工具即可) 2.使用baksmali工具将classes.dex转为smali文件,在命令行定位到资源根目录并执行: java -jar baksmali-2.0.3.jar -x classes.dex 执行完后会在当前目录下生成out目录,目录结构跟源码相同,在对应...

HTML 转 PDF 之 wkhtmltopdf 工具精讲

术语定义 文档对象 “文档对象”是指PDF文档中的文档对象,共有三种类型的“文档对象”,他们分别是“页面对象”,“封面对象”和“目录对象”。 页面对象 “页面对象”是指以页面的形式在PDF文档中呈现的对象,这个是相对于“封面对象”和“目录对象”来讲的。此类对象会成为PDF文档中内容。 封面对象 “封面对象”是指以封面的形式在PDF文档中呈现的对象。这类对...

【java web】java运行预编译Groovy脚本

在JVM中执行Groovy类有两种方式: 使用Groovy编译全部的*.groovy为java的*.class文件,把这些*.class文件放在java类路径中,通过java类载入器来载入这些类。 通过groovy类载入器在执行时直接载入*.groovy文件并生成对象。在这样的方式下,没有生成不论什么*.class,可是生成了一个java.lang.C...

CocoaPods的安装及使用

一、前言   2016年4月15日,为什么我会记得这个日子呢,因为这一天,是我接触iOS开始的一天。也是因为项目的需要,就投入到iOS的开发中了,在接到说要我去开发iOS,当时的心情既激动也忐忑,激动是觉得自己除了Android,又有iOS可以去学习了,可以开拓思维,也就多了一门技术。忐忑是因为说以前都没接触过,不知道能不能做好。带着这样的心情,开始了我的...

Redis事务、持久化、发布订阅

一、Redis事物 1. 概念 Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 一个事务从开始到执行会经历以下三个阶段: 开始事务。 命...