Redis安装+集群+性能监控

最近项目即将上线,由于人手问题,各种研究运维相关知识,这两天刚弄完redis集群部署的问题,跟大家唠唠。

一、Redis安装

*以下均是在Linux环境下执行,系统ubuntu16.04

1. 下载稳定版

sudo wget http://download.redis.io/redis-stable.tar.gz
复制代码

2. 解压

sudo tar -zxvf redis-stable.tar.gz
复制代码

3. 如果没有GCC编辑器就装一下

sudo apt-get install gcc
复制代码

4. 编辑、安装

cd redis-stable
make
make install PREFIX=安装目录
复制代码

5. Redis配置

cd 步骤4安装目录/bin
cp redis-stable目录/redis.conf ./
# 如果就是想起个简单的redis服务,到这里就结束了

针对redis cluster需要修改的配置(实际使用去掉注释):
bind IP地址  # 为了外网访问,原为127.0.0.1
port 6379 # 端口号
daemonize yes # 后台模式
# 如果要设置密码的话,masterauth和requirepass都要设置,否则主从切换时,会有授权问题
masterauth 密码
requirepass 密码(必须一致)
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
复制代码

6. 启服务

如果想在一台机器上启多个服务,可以复制多个reids.conf,修改port,并且要修改日志文件名称
也可以粗暴的复制多个bin文件夹,只改port就行了
./redis-server redis.conf
复制代码

二、Redis集群

目前,redis集群解决方案有两个:

1. Twemproxy

这是Twitter推出的解决方案,简单的说就是上层加个代理负责分发,属于client端集群方案,目前大多数应用者都在采用的解决方案。

会用到LVS、Twemproxy、Keepalived、Redis主从模式,感觉太麻烦了,而且没有在线扩容节点能力,公司经济能力有限,没法一开始就预留出足够的节点,后来发现了官推的redis cluster方案,就放弃了Twemproxy。

2. Redis Cluster

Redis3.0之后,官方推出的server端集群方案

优点:

(1) 官方解决方案

(2) 可以在线水平扩展(Twemproxy的一大弊端就是不支持在线扩容节点)

(3) 客户端直连,系统瓶颈更少

(4) 无中心架构

(5) 支持数据分片
复制代码

根据需求,最终解决方案选择:redis cluster +主从模式

下面介绍一下配置

1. 安装ruby环境

sudo apt-get install ruby
sudo apt-get install rubygems
sudo gem install redis  # ruby的redis客户端
复制代码

2. 如果要设置密码,这里要修改一些配置

执行 gem environment 找到 INSTALLATION DIRECTORY

cd到上面路径+/gems/redis-xxx/lib/redis/
vim client.rb
password => "密码"  #修改password为指定密码
复制代码

3. 还有另一种设置密码的方式

最开始redis不要设置密码,待集群起来之后,通过config命令挨个redis服务修改配置

configset masterauth 密码
config set requirepass 密码
config rewrite
复制代码

4. 配置集群

cd redis安装目录
cp redis-stable目录/src/redis-trib.rb ./
./redis-trib.rb create --replicas 1 192.168.1.222:6379 192.168.1.223:6379 192.168.1.224:6379 192.168.1.225:6379192.168.1.226:6379 192.168.1.227:6379  # replicas 1表示一从,本案例三主三从
复制代码

可以通过如下检查各节点情况:

./redis-trib.rb check 192.168.1.222:6379
复制代码

三、Redis性能监控

redis-cli本身提供monitor功能,且功能强大,不过monitor性能消耗很大,只应该短期开启调试,不能作为长期性能监控解决方案

这里选用了redis-monitor,支持集群,python编写,有web端

1. 安装python环境(redis-monitor是基于python2.7的)

sudo apt-get install python2.7 python2.7-dev
复制代码

2. 安装build依赖包-有些pip安装的包需要libssl和libevent编译环境

sudo apt-get install build-essential libssl-dev libevent-dev libjpeg-devlibxml2-dev libxslt-dev
复制代码

3. 安装pip–包管理工具

sudo apt-get install python-pip
复制代码

4. 下载redis-monitor

git clone https://github.com/LittlePeng/redis-monitor.git
复制代码

5. 安装依赖

cd redis-monitor
pip install -r requirements.txt
复制代码

6. 后台模式启服务

cd redis-monitor/src
pythonredis_monitor_daemon.py   # 信息收集
python redis_live_daemon.py   # web,port:8888

访问:127.0.0.1:8888/index.html
复制代码

你可能感兴趣的:(Redis安装+集群+性能监控)