06061121
06061121
4月前 · 11 人阅读

最近项目即将上线,由于人手问题,各种研究运维相关知识,这两天刚弄完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编辑器就装一下

sudoapt-get install gcc

4. 编辑、安装

    cd redis-stable

    make

make install PREFIX=安装目录

5. Redis配置

    cd步骤4安装目录/bin

cp redis-stable目录/redis.conf ./

*如果就是想起个简单的redis服务,到这里就结束了

    针对rediscluster需要修改的配置(实际使用去掉注释):

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环境

sudoapt-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的)

sudoapt-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–包管理工具

sudoapt-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

收藏 0
安装 监控 集群 redis 性能
评论 ( 0 )