文档章节

redis 集群部署

s
 snail_lzq
发布于 2017/02/16 17:27
字数 565
阅读 9
收藏 0
  1. 下载安装zlib
wget http://www.zlib.net/zlib-1.2.8.tar.gz
mkdir /usr/local/zlib
tar -zxvf zlib-1.2.8.tar.gz -C /usr/local/zlib/
cd /usr/local/zlib/zlib-1.2.8/
./configure
make
make install
  1. 下载安装ruby
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
mkdir /usr/local/ruby
tar -zxvf ruby-2.3.1.tar.gz -C /usr/local/ruby/
cd /usr/local/ruby/ruby-2.3.1/
./configure -prefix=/usr/local/ruby
make
make install
cp ruby /usr/local/bin
  1. 安装gem
wget https://rubygems.global.ssl.fastly.net/rubygems/rubygems-2.6.4.tgz
wget http://rubygems.global.ssl.fastly.net/rubygems/rubygems-2.6.4.tgz
mkdir /usr/local/gem
tar -zxvf rubygems-2.6.4.tgz -C /usr/local/gem
cd /usr/local/gem/rubygems-2.6.4/
ruby setup.rb
cp bin/gem /usr/local/bin
  1. 安装redis插件
gem install redis --version 3.2.1
gem source -a http://rubygems.org/
gem source -r https://rubygems.org/
gem install redis --version 3.2.1
  1. 安装redis
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
mkdir /usr/local/redis
tar -zxvf redis-3.2.1.tar.gz -C /usr/local/redis/
cd /usr/local/redis/redis-3.2.1/
make
cp src/redis-server /usr/local/bin
cp src/redis-cli /usr/local/bin
cp src/redis-trib.rb /usr/local/bin
  1. 配置配置文件
vim redis-6379.conf
#包含通用配置
include /usr/local/redis/conf/redis-common.conf
#监听tcp端口
port 6379
#最大可用内存
maxmemory 3072m
#内存耗尽时采用的淘汰策略:
# volatile-lru -> remove the key with an expire set using an LRU algorithm
# allkeys-lru -> remove any key accordingly to the LRU algorithm
# volatile-random -> remove a random key with an expire set
# allkeys-random -> remove a random key, any key
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# noeviction -> don't expire at all, just return an error on write operations
maxmemory-policy noeviction
#aof存储文件
appendfilename "appendonly-c1.aof"
#rdb文件,只用于动态添加slave过程
dbfilename dump-6379.rdb
#cluster配置文件(启动自动生成)
cluster-config-file nodes-c1.conf
#部署在同一机器的redis实例,把<span style="font-size: 1em; line-height: 1.5;">auto-aof-rewrite搓开>,防止瞬间fork所有redis进程做rewrite,占用大量内存</span>
auto-aof-rewrite-percentage 80-100
vim redis-common.conf
#GENERAL
daemonize no
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
databases 16
dir /usr/local/redis/data
slave-serve-stale-data yes
protected-mode no
#slave只读
slave-read-only yes
#not use default
repl-disable-tcp-nodelay yes
slave-priority 100
#打开aof持久化
appendonly yes
#每秒一次aof写
appendfsync everysec
#关闭在aof rewrite的时候对新的写操作进行fsync
no-appendfsync-on-rewrite yes
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
#打开redis集群
cluster-enabled yes
#节点互连超时的阀值
cluster-node-timeout 15000
cluster-migration-barrier 1
slowlog-log-slower-than 10000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

  1. 启动redis
redis-server redis-6379.conf > logs/redis-6379.log 2>&1 &
  1. 启动集群
redis-trib.rb create --replicas 0 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382
  1. 检查集群
redis-trib.rb check 127.0.0.1:6381

© 著作权归作者所有

共有 人打赏支持
s
粉丝 0
博文 1
码字总数 565
作品 0
昌平
私信 提问
如何利用容器实现生产级别的redis sharding集群的一键交付

如何使用容器实现生产级别的Redis sharding集群的一键交付 作者介绍: 张春源 希云cSphere合伙人,国内早期的Docker布道者,对企业应用Docker化有丰富的实践经验,擅长利用Docker践行Devops文...

dockerer
2016/06/21
81
0
bboss 令牌和凭证redis存储机制配置

bboss 提供了四种令牌和凭证存储机制: 内存 不能在集群环境使用,只适用于单机部署应用 数据库 可在集群环境使用,同时适用于单机部署应用 mongodb 可在集群环境使用,同时适用于单机部署应...

bboss
2016/03/29
0
0
redis集群部署

网上有很多用Ruby安装Redis-cluster的文章,但是在实际环境下不想安装Ruby,所以本文主要介绍了用Redis命令部署Redis集群,并且为集群中每一个master实例增加一个slave实例。 0 编译安装 也可...

chenhuaming
2016/10/13
14
0
Redis 主从及哨兵模式部署

1. 部署Redis Master-Slave集群 redis的安装及配置参考redis部署 本文以创建一主二从的集群为例。 1.1 部署与配置 先创建目录,在该目录下创建,,三个以端口号命名的目录。 在对应端口号目录...

huwh_
02/26
0
0
Redis集群管理工具--RedisClusterManager

本项目是Redis Cluster集群的管理工具; 项目地址 : https://git.oschina.net/yanfanVIP/RedisClusterManager 演示地址:http://59.110.161.181 (阿里云网速较慢,请多等待。请尽量不要将Red...

闫帆
2017/04/19
554
0

没有更多内容

加载失败,请刷新页面

加载更多

Maven 依赖范围(Dependency Scope)

Dependency Scope Dependency scope is used to limit the transitivity of a dependency, and also to affect the classpath used for various build tasks. 依赖范围用于限制依赖项的传递性......

晨猫
22分钟前
1
0
细述hbase协处理器

1.起因(Why HBase Coprocessor) HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(<0.92)Hbase中,统计数据表的...

微笑向暖wx
36分钟前
1
0
【实践】如何获得Rinkeby网络的测试以太币

当把智能合约部署到Rinkeby Test Network时,需要获得测试以太币。其网络获取测试以太币的方法同Ropsten Test Network有些不同,本文详细讲解一下。 1 访问网站 访问rinkeby网络(https://w...

HiBlock
57分钟前
1
0
Logback中如何自定义灵活的日志过滤规则

当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现。在Logback中自带了两个过滤器实现:ch.qos.logback.classic.filter.LevelFilter...

程序猿DD
今天
3
0
ES6中let 和 const 的新特性

在javascript中,我们都知道使用var来声明变量。javascript是函数级作用域,函数内可以访问函数外的变量,函数外不能访问函数内的变量。 ECMAScript 6 是 JavaScript 语言教程,全面介绍 EC...

peakedness丶
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部