redis单点部署:
安装命令:
# cd /usr/local/
# wget http://download.redis.io/releases/redis-4.0.1.tar.gz #下载安装包
# yum -y install gcc psmisc #安装依赖包
# tar xf redis-4.0.1.tar.gz
# cd /usr/local/redis-4.0.1/
# make MALLOC=libc
# make & make install
# cp redis.conf redis.conf.bak
# vim redis.conf #修改配置文件
因为是测试部署,这里的配置文件就多采用默认的配置了。只改了后台启动的配置
启动服务:
# /usr/local/redis-4.0.1/src/redis-server /usr/local/redis-4.0.1/redis.conf #启动redis
验证启动
# ps -ef|grep redis
# src/redis-cli
执行命令测试服务的可用性
简单的单点redis就搭建好了。
配置文件的详解,可以参考http://blog.sina.com.cn/s/blog_13e807ed00102wzc9.html
redis集群搭建(三主三从)
测试服务器IP及对应的hostname:
IP | hostname |
---|---|
10.0.0.101 | test101 |
10.0.0.102 | test102 |
10.0.0.103 | test103 |
安装步骤:
1、将上面三台机器,都部署好一个6379,一个6389端口的redis,但redis.conf的配置需要改下面几项(因为实验,其他都采用默认配置了,没有改):
1)修改redis.conf,修改下面这几项:
bind 10.0.0.101(10.0.0.102/10.0.0.103改成对应服务器的IP)
port 6379
daemonize yes
dir /opt/redis
cluster-enabled yes
cluster-node-timeout 15000
2)复制一份redis.conf改名为redis2.conf。再修改下面两项:
port 6389dir /opt/redis2
3)创建数据目录:
# mkdir /opt/redis
# mkdir /opt/redis2
4)启动服务:
# /usr/local/redis-4.0.1/src/redis-server /usr/local/redis-4.0.1/redis.conf
# /usr/local/redis-4.0.1/src/redis-server /usr/local/redis-4.0.1/redis2.conf
5)检查服务:
2、安装集群工具:
1)安装依赖包
# yum -y install ruby ruby-devel rubygems rpm-build
2、重新使用rvm安装ruby
因为yum安装的ruby最高只能是2.0版本,但是redis集群要求更高的版本,所以这里需要重新安装ruby,否在在 gem install redis的时候会报错
# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# curl -sSL https://get.rvm.io | bash -s stable
# source /usr/local/rvm/scripts/rvm
# rvm list known
# rvm install 2.4.1
# rvm use 2.4.1
# rvm use 2.4.1 --default
# rpm -qa ruby
# yum remove -y ruby-2.0.0.648-33.el7_4.x86_64
# ruby --version
3、安装并启动redis
# gem install redis
# src/redis-trib.rb create --replicas 1 10.0.0.101:6379 10.0.0.101:6389 10.0.0.102:6379 10.0.0.102:6389 10.0.0.103:6379 10.0.0.103:6389
4、验证集群的正确性
# src/redis-cli -c -p 6379
# src/redis-cli -c -p 6389
有个问题,因redis.conf里面的bind配置的10.0.0.101,而redis默认的端口IP是127.0.0.1,所以这里会报错“Could not connect to Redis at 127.0.0.1:6379: Connection refused”,把bindIP改成0.0.0.0不会报错。
或者用/usr/local/redis-4.0.1/src/redis-trib.rb check 10.0.0.101:6379检查集群:
redis-trib.rb具有以下功能:
create:创建集群
check:检查集群
info:查看集群信息
fix:修复集群
reshard:在线迁移slot
rebalance:平衡集群节点slot数量
add-node:将新节点加入集群
del-node:从集群中删除节点
set-timeout:设置集群节点间心跳连接的超时时间
call:在集群全部节点上执行命令
import:将外部redis数据导入集群
至此,集群就部署完成了
转载于:https://blog.51cto.com/10950710/2162777