redis单机上部署集群
一、安装单机redis
redis的安装:版本至少是3.2.8及其以上,这里以3.2.8版本为例说明
1.安装redis
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar xf redis-3.2.8.tar.gz
cd redis-3.2.8
make MALLOC=jemalloc
make PREFIX=/usr/local/redis install #在makeinstall 这一步指定安装路径
[root@150 bin]# tree /usr/local/redis/ 安装完成
/usr/local/redis/
└── bin
├── redis-benchmark #redis性能测试工具,测试redis在你系统及你配置下的读写性能
├── redis-check-aof #更新日志检查
├── redis-check-rdb #用于本地数据库检查
├── redis-cli #redis命令行操作工具
├── redis-sentinel -> redis-server
└── redis-server #redis服务器的启动程序
2.拷贝配置文件
mkdir /usr/local/redis/conf
cp /root/redis-3.2.8/redis.conf /usr/local/redis/conf/
优化PATH:
echo "export PATH=/usr/local/redis/bin/:$PATH" >>/etc/profile
source /etc/profile
3.启动
redis-server /usr/local/redis/conf/redis.conf &
4.测试连接
方法一:
[root@150 ~]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> set 007 wangchuang
OK
127.0.0.1:6379> get 007
"wangchuang"
方法二:
[root@151 ~]# telnet 192.168.100.150 -p 6379 #需要在配置文件修改监听地址
二、安装redis机群
1、安装ruby
首先安装rvm,然后用rvm安装ruby
1)安装rvm
http://rvm.io/rvm/security #查看最新的key,下面的key可能会失效
[root@150 ~]# gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
[root@150 ~]# \curl -sSL https://get.rvm.io | bash -s stable
[root@150 ~]# source /usr/local/rvm/scripts/rvm
2) 查看RVM中ruby的版本:
rvm list known | grep ruby
3)选择一个版本ruby版本安装,这边选择的是ruby 2.4.1
rvm install 2.4.1
4) 使用ruby版本并设置为默认版本
rvm use 2.4.1 --default
5) 将ruby和gem放入到全局变量
如果是按照前面安装的,ruby和gem的位置应该在/usr/local/rvm/rubies/ruby-2.4.1/bin/这个目录下,如果不在,可以使用whereis ruby 和 whereis gem来查找,找到位置后,使用软链命令
ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/gem /usr/bin/
ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby /usr/bin/
到这里ruby就安装完成了
2、redis集群安装
mkdir /usr/local/redis/redis-cluster/{7000..7005} -p
然后将etc目录下的redis.conf复制到7000目录下
cp /usr/local/redis/conf/redis.conf /usr/local/redis/redis-cluster/7000/
由于我们是做测试,并没有启动6个真正的物理节点,而是把6个Redis实例都部署在了同一台Linux服务器上,为了区分Redis实例,我们是以不同的端口号来区分Redis实例的。然后我们修改Redis.conf的配置文件
cd /usr/local/redis/redis-cluster/7000/
vim redis.conf
主要修改内容如下:
61 bind 172.16.20.80 本机ip地址
84 port 7000 //端口号
128 daemonize yes //后台运行
150 pidfile /var/run/redis-7000.pid //修改pid进程文件名,以端口号命名
163 logfile /usr/local/redis/redis-cluster/7000/redis.log //修改日志文件名称,以端口号为目录来区分
247 dir /usr/local/redis/redis-cluster/7000/ //修改数据文件存放地址,以端口号为目录名来区分
593 appendonly yes //启动AOF增量持久化策略
622 appendfsync always //发生改变就记录日志
623 # appendfsync everysec #注释掉这个=
721 cluster-enabled yes //注释去掉,启用集群
729 cluster-config-file nodes-7000.conf //配置每个节点的配置文件,同样以端口号为名称
修改保存后退出,然后将7000目录下的redis.conf 分别复制到7001,7002,7003,7004,7005目录下,在不同目录下将7000替换成当前目录的数字就可以了。在Linux的vi编辑中,进入末行模式(shift加上:),%s/7000/7001/g,这样就将所有的7000替换成了7001,然后保存退出,依次类推。
拷贝到7001-7005上,并修改
for i in `seq 7001 7005`;do cp /usr/local/redis/redis-cluster/7000/redis.conf /usr/local/redis/redis-cluster/$i/ ;done
for i in `seq 7001 7005`;do sed -i "s/7000/$i/g" /usr/local/redis/redis-cluster/$i/redis.conf ;done
1.3.2 安装redis-cluster的ruby接口
在/usr/local/redis/bin/下运行: gem install redis
1.3.3 启动:
在/usr/local/redis/redis_cluster下,运行
for i in `seq 7000 7005`;do redis-server /usr/local/redis/redis-cluster/$i/redis.conf ;done
然后运行:
redis-trib.rb create --replicas 1 本机ip:7000 本机ip:7001 本机ip:7002 本机ip:7003 本机ip:7004 本机ip:7005
ruby /root/redis-3.2.8/src/redis-trib.rb create --replicas 1 172.16.20.80:7000 172.16.20.80:7001 172.16.20.80:7002 172.16.20.80:7003 172.16.20.80:7004 172.16.20.80:7005
如果一切顺利,你会看到类似这样的消息: [OK] All 16384 slots covered
结语:至此redis的单机与集群的安装和启动就成功了
redis单机上部署集群的更多相关文章
- Redis单机安装以及集群搭建
今天主要来看一下Redis的安装以及集群搭建(我也是第一次搭建). 环境:CentOS 7.1,redis-5.0.7 一.单机安装 1.将Redis安装包放置服务器并解压 2.进入redis安装目录 ...
- redis 单机模拟 cluster集群
一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心 ...
- 在websphere上部署集群应用程序-工作记录
1) 创建web集群.client集群,添加集群托管节点,根据需求来,我的需求是两个应用部署到4个服务器上,属于1主3备模式 2) 创建webspere变量:选择你需要的集群作用域,新建资源 (作 ...
- Redis单机多节点集群实验
第一步:安装Redis 前面已经安装过了 不解释, Reids安装包里有个集群工具,要复制到/usr/local/bin里去 cp redis-3.2.9/src/redis-trib.rb /usr ...
- Redis单机配置以及集群(sentinel、jediscluster)配置
最近一直在使用Redis作为缓存数据库,在使用当中,刚开始没有注意配置问题. 1.纯粹的注入单机模式 <bean id="jedisPoolConfig" class=&qu ...
- Redis安装(单机及各类集群,阿里云)
Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...
- 阿里云ECS部署Redis主备哨兵集群遇到的问题
一.部署 详细部署步骤:https://blog.csdn.net/lihongtai/article/details/82826809 Redis5.0版本需要注意的参数配置:https://www ...
- redis解决方案之三种集群模式的概念与部署
上篇文章为大家总结了redis命令并讲述了持久化,今天我们来看一下redis的三种集群模式:主从复制,哨兵集群,Cluster集群 本篇文章先介绍redis-cluster集群模式,然后再依次介绍它的 ...
- Redis 中常见的集群部署方案
Redis 的高可用集群 前言 几种常用的集群方案 主从集群模式 全量同步 增量同步 哨兵机制 什么是哨兵机制 如何保证选主的准确性 如何选主 选举主节点的规则 哨兵进行主节点切换 切片集群 Redi ...
随机推荐
- 电话聊天狂人 【STL】
7-2 电话聊天狂人(25 分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤105),为通话记录条数.随后N行,每行给出一条通话记录.简单起 ...
- hadoop —— MapReduce例子 (数据去重)
参考:http://eric-gcm.iteye.com/blog/1807468 例子1: 概要:数据去重 描述:将file1.txt.file2.txt中的数据合并到一个文件中的同时去掉重复的内容 ...
- jquery.dataTables.min.js: Uncaught TypeError: Cannot read property 'style' of undefined
原因:datatable表格内容有操作列,而表头没有定义操作列 少写了一行:<th>操作</th>
- python读取文件的几种方式
http://www.cnblogs.com/nkwy2012/p/6023710.html
- Java多线程编程核心 - 对象及变量的并发访问
1.什么是“线程安全”与“非线程安全”? “非线程安全”会在多个线程对同一对象总的实例变量进行并发访问时发生,产生的后果是“脏读”,也就是取到的数据其实是被更改过的. “线程安全”是以获得的实例变量的 ...
- Python实现结对编程项目
Github (李昆乘)(陈俊豪) 开发流程 PSP2.1 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ...
- 第十四章-MySQL
1 安装 MySQL常见的版本 GA: 广泛使用的版本 RC: 最接近正式版本 Alpha和Bean: 内测版本和公测版本 有两种安装方式: 安装包和压缩包 1) 安装msi文件 2) 解压zip文件 ...
- codewar代码练习1——8级晋升7级
最近发现一个不错的代码练习网站codewar(http://www.codewars.com).注册了一个账号,花了几天的茶余饭后时间做题,把等级从8级升到了7级.本文的目的主要介绍使用感受及相应题目 ...
- PS 滤镜— — sparkle 效果
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
- HihoCoder1652 : 三角形面积和2([Offer收割]编程练习赛38)(几何)(不会几何,占位)
描述 如下图所示,在X轴上方一共有N个三角形.这些三角形的底边与X轴重合,底边上两个顶点的坐标分别是(Li, 0)和(Ri, 0),底边的对顶点坐标是(Xi, Yi).其中Li ≤ Xi ≤ Ri 且 ...