Step0:redis集群组件需求

Step1:离线安装ruby

Step2:离线安装rubygems

Step3:安装rubygems的 redis api

Step4:离线安装tcl 8.6

Step5:离线安装redis

Step6:启动redis守护进程及配置主从复制

Step7:测试redis集群


Step0:redis集群需要安装如下组件:

ruby

rubygems

redis.gem

tcl

redis

----------------------------------------------------------------------------------

Step1:离线安装ruby

1:上传ruby-2.3.1.tar.gz至服务器;

2:tar -xzvf ruby-2.3.1.tar.gz;

3:cd ruby-2.3.1

4:./configure --prefix='/opt/ruby'

5:make

6:make install

安装完毕后添加ruby至系统环境变量:

7:vim /etc/profile

在最末尾添加如下:

PATH=$PATH:/opt/ruby/bin

export PATH

保存退出

8:source /etc/profile

至此ruby安装结束,通过ruby -v可查看当前系统安装ruby的版本

-------------------------------------------------------------------------------------------------------------

Step2:离线安装rubygems

1:下载rubygems安装包(需FQ),此处以rubygems-2.6.4.tgz为例;

2:tar -xzvf rubygems-2.6.4.tgz;

3:cd rubygems-2.6.4;

4:ruby setup.rb,将会将rubygems安装至上一步ruby的安装目录的lib目录下;

5:配置rubygems环境变量

vim /etc/profile

在刚才的$PATH变量后加上:/root/redis/rubygems-2.6.4/bin(这里的路径是解压文件路径下的bin目录路径)

6:source /etc/profile

至此rubygems安装完毕,echo $PATH应该输出当前rubygems的版本号:2.6.4

------------------------------------------------------------------------------------------------

Step3:安装rubygems的 redis api

1:下载redis-3.3.0.gem

2:gem install -l redis-3.3.0.gem

3:安装完毕,提示"1 gem installed"

---------------------------------------------------------------------------------------------------

Step4:离线安装tcl 8.6

1:下载tcl8.6.0,以下以tcl8.6.0-src.tar.gz文件为例;

2:tar -xzvf tcl8.6.0-src.tar.gz;

3:cd tcl8.6.0/unix;

4:./configure /opt/tcl;

5:make;

6:make install && make install-private-headers && ln -v -sf tclsh8.6 /opt/tcl/bin/tclsh && chmod -v 755 /opt/tcl/lib/libtcl8.6.so

以上安装完毕后,修改环境变量

7:vim /etc/profile

8:在$PATH后加入":/opt/tcl/bin";

9:source /etc/profile;

配置完毕后,输入tclsh,应该可以进入tcl编译环境

----------------------------------------------------------------------------------------------------------------------------

Step5:离线安装redis

1:下载redis源码安装包,以下以redis-3.2.0.tar.gz为例;

2:tar -xzvf redis-3.2.0.tar.gz;

3:cd redis-3.2.0/src;

4:make 这里如果不指定PREFIX,默认将安装在/usr/local/bin下,保持默认就好;

5:make && make install;

如果需要test,则make test依赖于tclsh环境;

安装完成后,将在/usr/local/bin下生成redis的对应服务端、客户端等文件。

---------------------------------------------------------------------------------------------------------------------------

Step6:启动redis守护进程及配置主从复制

注:redis自治集群功能是从V3后加入的,这里我们用简单的主从复制就能满足需求

1:修改master配置文件redis.conf

daemonize yes

pidfile /var/run/redis_16000.pid      # 如果是实验环境,在同一台主机部署集群,则需要监听不同端口,对应pid文件也需要修改

bind 10.200.50.198  # 这里改为服务器IP即可

port 16000  #这里是监听端口,默认6379,如果是多节点部署集群可以不变

2:修改slave配置文件redis.conf

daemonize yes

pidfile /var/run/redis_16001.pid      # 如果是实验环境,在同一台主机部署集群,则需要监听不同端口,对应pid文件也需要修改

bind 10.200.50.198  # 这里改为服务器IP即可

port 16001  #这里是监听端口,默认6379,如果是多节点部署集群可以不变

slaveof 10.200.50.198 16000

另外一个slave节点配置文件类似,将16001改为16002即可;

3:从centos7开始,服务注册通过systemd来进行,可以通过在/usr/lib/systemd/中创建服务文件,通过systemctl来管理服务

这个目录又分为system目录和user目录,由于我们需要在服务器启动以后就启动redis集群,因此我们在system目录下定义对应的redis服务,在测试环境中,集群涉及的三个节点,分别对应3个服务:redis_16000.service,redis_16001.service,redis_16002.service。

服务内容如下:

[Unit]
Description=redis-server on 16000
After=syslog.target
After=network.target

[Service]
Type=forking
#PIDFile=/var/run/redis_16000.pid
ExecStart=/usr/local/bin/redis-server /usr/local/bin/16000/redis.conf
ExecStop=/usr/local/bin/redis-cli -h 10.200.50.198 -p 16000 shutdown
PrivateTmp=true

[Install]
WantedBy=multi-user.target

三个服务文件类似,修改16000对应为16001及16002即可,注意reidis-server后是服务启动的配置文件,改为前2步所创建的对应的每个服务的配置文件绝对路径即可;

4:配置文件,服务文件均创建完毕后,通过systemd即可管理这个节点上的三个redis服务

通过

systemctl enable redis_1600X.service

systemctl start redis_1600X.service启动整个集群,即可自动组件一个1主2从的redis集群。

----------------------------------------------------------------------------------------------------------------------

Step7:测试redis集群

写:redis-cli -h 10.200.50.198 -p 16000

set key01 'hello world'

读:redis-cli -h 10.200.50.198 -p 16001

get key01

'hello world'

注:配置文件中默认配置slave节点是只读模式,因此做写操作只能针对master节点,读操作可以在slave节点进行。

---------------------------------------------------------------------------------------------------------------------------------------------

离线安装涉及的组件安装包:

redis源码包:redis-3.2.0.tar.gz

ruby源码包:ruby-2.3.1.tar.gz

rubygems源码包:rubygems-2.6.4.tgz

redis gem api:redis-3.3.0.gem

tcl编译器源码包:tcl8.6.0-src.tar.gz (可选,如不需要redis的make test则可不安装)

离线安装redis集群的更多相关文章

  1. Linux离线安装redis集群

    一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,联网环境安装较为简单,这里只说脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网,服务 ...

  2. centos7.0 安装redis集群

    生产环境下redis基本上都是用的集群,毕竟单机版随时都可能挂掉,风险太大.这里我就来搭建一个基本的redis集群,功能够用但是还需要完善,当然如果有钱可以去阿里云买云数据库Redis版的,那个还是很 ...

  3. liunx contos 7.4 安装redis集群

    前前后后安装了几次redis集群,基本上每次安装都会采坑,耗时伤神. 安装redis依赖gcc环境,安装前先检查liunx上面有没有安装GCC 命令:gcc -v 上传redis-4.0.1.tar. ...

  4. 从零开始安装Redis 集群(Linux CenOS7)

    从零开始安装Redis 集群(Linux CenOS7) 使用ISO安装CentOS7虚拟机 配置静态IP(参考Mac VMware Fusion CentOS7配置静态IP) 安装vim [root ...

  5. Linux(ubuntu)安装redis集群,redis集群搭建

    今天学习一下redis集群的搭建.redis在现在是很常用的数据库,在nosql数据库中也是非常好用的,接下来我们搭建一下redis的集群. 一.准备 首先我们要安装c语言的编译环境,我们要安装red ...

  6. 在虚拟机上安装redis集群,redis使用版本为4.0.5,本机通过命令客户端可以连接访问,外部主机一直访问不了

    在虚拟机上安装了redis 4 ,启动后本机客户端可以连接访问,但是外部主机一直访问不了,在使用java代码连接redis集群时报:no reachable node in cluster,原因:在r ...

  7. LINUX安装REDIS集群

    linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的rub ...

  8. Linux 安装Redis<集群版>(使用Mac远程访问)

    阅读本文需要先阅读安装Redis<准备> 一 架构细节 所有的redis节点彼此互联(PING-PONG机制) 内部使用二进制协议优化传输速度和带宽 节点的fail是通过集群中超过半数的节 ...

  9. CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群

    本文是在CentOS7.4 下进行CDH6集群的完全离线部署.CDH5集群与CDH6集群的部署区别比较大. 说明:本文内容所有操作都是在root用户下进行的. 文件下载 首先一些安装CDH6集群的必须 ...

随机推荐

  1. ACCP 结业考试

    1) 在SQL Server 中,为数据库表建立索引能够(C ). 索引:是SQL SERVER编排数据的内部方法,是检索表中数据的直接通道 建立索引的作用:大大提高了数据库的检索速度,改善数据库性能 ...

  2. UNITY3D中涉及的一些数学知识

    3D中的法线是什么意思啊~ 在空间垂直于一个平面的直线:或者在一个平面里面,垂直于一条直线的直线.法线也可以指的某个方向.对于圆弧来讲,指的是它与圆心相连的直线(方向).法线:英语叫Normal Li ...

  3. C#中Abstract和Virtual

    C#中Abstract和Virtual 在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用. 一.Vi ...

  4. 万能的 SQL编程

    简介:T-SQL语句创建库.创建表和听.和添加约束等.T-SQL是数据库结构化查询语言,常见的增加.删出.修改.查询.创建库和创建表的语句,还支持定义变量.输出语句.逻辑控制语句(IF.CASE.WH ...

  5. java 22 - 6 多线程之线程调度和设置线程的优先级

    线程调度 假如我们的计算机只有一个 CPU,那么 CPU 在某一个时刻只能执行一条指令,线程只有得到 CPU时间片,也就是使用权,才可以执行指令. 那么Java是如何对线程进行调用的呢? 线程有两种调 ...

  6. 转: 使用Eclipse的Working Set,界面清爽多了

    from: http://iyuanbo.iteye.com/blog/1158136 使用Eclipse的Working Set,界面清爽多了   想必大家的Eclipse里也会有这么多得工程... ...

  7. 隐写技巧——利用JPEG文件格式隐藏payload

    0x00 前言 继续对图片隐写技巧的学习,这次是对JPEG文件格式的学习和理解.同PNG文件的格式对比,JPEG文件相对简单,读取其中隐藏payload的方式大同小异,两者区别在于文件格式不同,可供利 ...

  8. luogu[2093]零件分组

    题目描述 某工厂生产一批棍状零件,每个零件都有一定的长度(Li)和重量(Wi).现在为了加工需要,要将它们分成若干组,使每一组的零件都能排成一个长度和重量都不下降(若i<j,则Li<=Lj ...

  9. Netty 自动重连

    from: http://www.dozer.cc/2015/05/netty-auto-reconnect.html 自动重连 用 Netty 写 Client 和 Server 的时候必须要去处理 ...

  10. 安装MySQLdb

    MySQLdb模块不太好装,如果是在python2.7环境下,可以使用一种简易安装方式 root@iZ2893wjzgyZ:~# apt-get install python2.7-mysqldb 测 ...