#!/bin/bash

#安装gcc
yum -y install gcc
#安装RVM所需的程序包
yum -y install gcc-c++ patch readline readline-devel zlib zlib-devel
yum -y install libyaml-devel libffi-devel openssl-devel make
yum -y install bzip2 autoconf automake libtool bison iconv-devel sqlite-devel
#安装RVM
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -L get.rvm.io | bash -s stable
#设置RVM环境
source /etc/profile.d/rvm.sh
rvm reload
#验证依赖
rvm requirements run
#安装ruby
rvm install 2.2.
rvm use 2.2. --default
ruby --version cd /usr/local/src #下载redis
curl http://download.redis.io/releases/redis-4.0.9.tar.gz -o redis-4.0.9.tar.gz
tar -zxvf redis-4.0..tar.gz
cd redis-4.0. #curl http://download.redis.io/releases/redis-3.2.8.tar.gz -o redis-3.2.8.tar.gz
#tar -zxvf redis-3.2..tar.gz
#cd redis-3.2. #安装到指定目录中(make 报错请 make MALLOC=libc)
make MALLOC=libc PREFIX=/usr/local/redis install
cp src/redis-trib.rb /usr/local/redis/bin/
#配置环境变量
echo 'export PATH="$PATH:/usr/local/redis/bin"' >> /etc/profile
tail - /etc/profile
. /etc/profile yum -y install ruby-devel rubygems rpm-build
#gem这个命令来安装redis接口
gem install redis #创建需要文件夹
mkdir -p /usr/local/redis/{etc,data,logs}
mkdir -p /usr/local/redis/data/{,,}
#拷贝配置文件、启动项文件
cp redis.conf /usr/local/redis/etc/.conf
cp utils/redis_init_script /etc/init.d/redis_6379 #redis配置文件
cd /usr/local/redis/etc
#后台运行
sed -i 's/daemonize no/daemonize yes/' .conf
#日志文件地址
sed -i 's/logfile ""/logfile \/usr\/local\/redis\/logs\/redis_6379.log/' .conf
#数据文件地址
sed -i 's/dir .\//dir \/usr\/local\/redis\/data\/6379/' .conf
#192.168.1. 为当前机器IP
sed -i 's/bind 127.0.0.1/bind 192.168.100.146 127.0.0.1/' .conf
#开启cluster
sed -i 's/# cluster-enabled yes/cluster-enabled yes/' .conf
sed -i 's/# cluster-config-file nodes-6379.conf/cluster-config-file \/usr\/local\/redis\/etc\/nodes-6379.conf/' .conf
sed -i 's/# cluster-node-timeout 15000/cluster-node-timeout 3000/' .conf
sed -i 's/appendonly no/appendonly yes/' .conf cp .conf .conf
sed -i 's/6379/7379/' .conf
cp .conf .conf
sed -i 's/6379/8379/' .conf #redis启动项
cd /etc/init.d
#sed '2c # chkconfig: 2345 90 10' .conf
#多行用\n sed '1a 第一\n第二' ab
sed -i '1a # chkconfig: 2345 90 10' redis_6379
sed -i 's/\/usr\/local\/bin/\/usr\/local\/redis\/bin/' redis_6379
sed -i 's/\/etc\/redis/\/usr\/local\/redis\/etc/' redis_6379 cp redis_6379 redis_7379
sed -i 's/6379/7379/' redis_7379
cp redis_6379 redis_8379
sed -i 's/6379/8379/' redis_8379
#添加启动项
chkconfig --list
chkconfig redis_6379 on
chkconfig redis_7379 on
chkconfig redis_8379 on
chkconfig --list
service redis_6379 start
service redis_7379 start
service redis_8379 start
echo 'cluster 配置'
redis-trib.rb create --replicas 192.168.1.100: 192.168.1.: 192.168.1.100: #StackExchange.Redis连接redis-cluster版本
#https://github.com/StackExchange/StackExchange.Redis/issues/672

redis-cluster无备节点,安装脚本的更多相关文章

  1. 又一种获取redis cluster slots分布的小脚本

    需要:昨晚学习了cluster slots命令,之前写的脚本,有可以换种方法获取到redis cluster slots 分布情况. cluster slots的结果如下: 4 5460 5.5.5. ...

  2. Redis Cluster 集群节点维护 (三)

    Redis Cluster 集群节点维护: 集群运行很久之后,难免由于硬件故障,网络规划,业务增长,等原因对已有集群进行相应的调整,比如增加redis nodes 节点,减少节点,节点迁移,更换服务器 ...

  3. 获取redis cluster中所有节点的内存使用情况

    需求:获取redis cluster集群中所有节点的内存使用情况. ip_port=`redis-cli -h $ -p $ -a abc123 -c cluster nodes | awk '{pr ...

  4. redis cluster 添加/删除节点操作

    RedisCluster 添加/删除节点 添加节点新配置两个测试节点8008和9009 [root@--- ~]# /usr/local/redis-/bin/redis-server /u02/re ...

  5. Redis Cluster 集群节点信息 维护篇(二)

    集群信息文件: # cluster 集群内部信息对应文件,由集群自动维护. /data/soft/redis/6379data/nodes-6379.conf 集群信息查看: ./redis-trib ...

  6. DG_Oracle DataGuard Primary/Standby物理主备节点安装实践(案例)

    2014-09-09 Created By BaoXinjian

  7. redis官网下载自动安装脚本

    注释:使用方法为 # ./redis.sh  version           ----version为官网版本号 #!/bin/bashversion=$1serverurl='download. ...

  8. 170103、Redis官方集群方案 Redis Cluster

    前面我们谈了Redis Sharding多服务器集群技术,Redis Sharding是客户端Sharding技术,对于服务端来说,各个Redis服务器彼此是相互独立的,这对于服务端根据需要灵活部署R ...

  9. Redis-3.2.0集群配置(redis cluster)

    版本:redis-3.0.5 redis-3.2.0  redis-3.2.9  redis-4.0.11 参考:http://redis.io/topics/cluster-tutorial. 目录 ...

随机推荐

  1. Lozad.js 简单使用

    GayHub位置:https://github.com/ApoorvSaxena/lozad.js 导入: <script type="text/javascript" sr ...

  2. [leetcode]15. 3Sum三数之和

    Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find ...

  3. centos 7 添加中文输入法

    中文输入法

  4. linux学习第七天 (Linux就该这么学)

    今天讲了chmod (权限 设置)和 chown(属性 设置),特殊权限:SUID u+s 数字法是4  x=s  - = S,SGID g+s 数字法是2 x=s -=S,SBIT o+t  x=t ...

  5. JavaScript 函数定义和调用

    普通的函数定义方法: function abs(x):{ if (x >= 0){ return x; }else { return -x ; } } 两种方法是等价的 var abs = fu ...

  6. [uboot] (第四章)uboot流程——uboot编译流程

    http://blog.csdn.net/ooonebook/article/details/53000893 以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为 ...

  7. spring与junit整合测试

    1.导包4+2+aop+test 2.配置注解 3.测试

  8. ScriptOJ-unique#89

    一般做法 const unique = (arr) => { const result = arr.reduce((acc, iter) => { if(acc.indexOf(iter) ...

  9. python bittorrent 使用与学习

    更新于20171128 关于这个p2p的技术,阿里开源了蜻蜓,大家可以看看,感觉应该比这个要好用,而且文档也全. 前言 最近在学习python的p2p协议,发现网上找不到好的文章,又仔细找了找终于找到 ...

  10. IMAGE WATCH工具安装与学习

    1.下载安装 从下载地址搜索IMAGE WATCH,即可下载自己所需要的IMAGE WATCH工具. 安装ImageWatch,双击ImageWatch.vsix进行安装即可: 2.使用示例 这里首先 ...