离线安装redis集群
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集群的更多相关文章
- Linux离线安装redis集群
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,联网环境安装较为简单,这里只说脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网,服务 ...
- centos7.0 安装redis集群
生产环境下redis基本上都是用的集群,毕竟单机版随时都可能挂掉,风险太大.这里我就来搭建一个基本的redis集群,功能够用但是还需要完善,当然如果有钱可以去阿里云买云数据库Redis版的,那个还是很 ...
- liunx contos 7.4 安装redis集群
前前后后安装了几次redis集群,基本上每次安装都会采坑,耗时伤神. 安装redis依赖gcc环境,安装前先检查liunx上面有没有安装GCC 命令:gcc -v 上传redis-4.0.1.tar. ...
- 从零开始安装Redis 集群(Linux CenOS7)
从零开始安装Redis 集群(Linux CenOS7) 使用ISO安装CentOS7虚拟机 配置静态IP(参考Mac VMware Fusion CentOS7配置静态IP) 安装vim [root ...
- Linux(ubuntu)安装redis集群,redis集群搭建
今天学习一下redis集群的搭建.redis在现在是很常用的数据库,在nosql数据库中也是非常好用的,接下来我们搭建一下redis的集群. 一.准备 首先我们要安装c语言的编译环境,我们要安装red ...
- 在虚拟机上安装redis集群,redis使用版本为4.0.5,本机通过命令客户端可以连接访问,外部主机一直访问不了
在虚拟机上安装了redis 4 ,启动后本机客户端可以连接访问,但是外部主机一直访问不了,在使用java代码连接redis集群时报:no reachable node in cluster,原因:在r ...
- LINUX安装REDIS集群
linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的rub ...
- Linux 安装Redis<集群版>(使用Mac远程访问)
阅读本文需要先阅读安装Redis<准备> 一 架构细节 所有的redis节点彼此互联(PING-PONG机制) 内部使用二进制协议优化传输速度和带宽 节点的fail是通过集群中超过半数的节 ...
- CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群
本文是在CentOS7.4 下进行CDH6集群的完全离线部署.CDH5集群与CDH6集群的部署区别比较大. 说明:本文内容所有操作都是在root用户下进行的. 文件下载 首先一些安装CDH6集群的必须 ...
随机推荐
- BZOJ 2705: [SDOI2012]Longge的问题
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2554 Solved: 1566[Submit][ ...
- 1D1D动态规划优化初步
再学习一下动态规划的基本优化方法- 首先这篇文章应该大家都看过吧-没看过的自行百度 关于实现的思路文章里都给好了-这篇就主要给一点题目啥的 (P.S. 电脑重装了,如果博客发出来有一些奇怪的问题不要在 ...
- 生产服务器环境最小化安装后 Centos 6.5优化配置[转]
内容目录 centos6.5最小化安装后配置网络: IP地址, 网关, 主机名, DNS 更新系统源并且升级系统 系统时间更新和设定定时任 创建普通用户并进行sudo授权管理 修改SSH端口号和屏蔽r ...
- Android智能指针sp wp详解
研究Android的时候,经常会遇到sp.wp的东西,网上一搜,原来是android封装了c++中对象回收机制.说明:1. 如果一个类想使用智能指针,那么必须满足下面两个条件: a. 该类是虚基 ...
- iOS关于TableViewController和CollectionViewController中self.view心得记录
之前写代码,不喜欢记录,导致很多做过的功能,时间久了都遗忘了. 以后要勤记录~~~ 一丶首先说一下TableViewController 大家都知道,如果直接创建一个继承于TableViewContr ...
- Laravel如何优雅的使用Swoole
背景 正在做一个智能家居的项目(钱低的吓死人怎么办),接收下位机(就是控制智能家居硬件模块的HUB)协议解析,Web端维护硬件状态,利用APP交互.由于下位机数据是发送到服务器的XXX端口,所以必须对 ...
- Bootstrap系列 -- 44. 分页导航
带页码的分页导航,可能是最常见的一种分页导航,特别是在列表页内容超多的时候,会给用户提供分页的导航方式.平时很多同学喜欢用div>a和div>span结构来制作带页码的分页导航.不过,在B ...
- 无法将分支 master 发布到远程 origin,因为远程存储库中已存在具有同一名称的分支
无法将分支 master 发布到远程 origin,因为远程存储库中已存在具有同一名称的分支.发布此分支将导致远程存储库中的分支发生非快进更新. 第一次用oschina的git设置完远程仓库后提交出现 ...
- nios II--实验1——hello_world软件部分
hello_world 软件开发 首先,在硬件工程文件夹里面新建一个software的文件夹用于放置软件部分:打开toolsàNios II 11.0 Software Build Tools for ...
- 彻底明白IP地址——IP地址的介绍
彻底明白IP地址——IP地址的介绍 [ 作者:担子 转贴自:赛迪网 点击数:9692 更新时间:2004-12-22 ] IP地址的介绍 1.IP地址的表示方法 IP地址 = ...