设为首页 加入收藏

TOP

Redis Cluster集群部署搭建详解(一)
2018-03-13 09:06:42 】 浏览:289
Tags:Redis Cluster 集群 部署 搭建 详解

搭建redis集群,建议至少需要准备3台服务器,共搭建6个节点,3个master,3个slave,并且要求3个master节点不能全部跑到同一台服务器上,保证节点安全,3台服务器的配置相同,使用redistest账号搭建,对应的端口是7000/7001/7002端口


我的集群分配如下,每个节点运行两个端口。第一列做主库,第二列做备库


192.8.8.136:7000  192.8.8.136:7001 
192.8.8.137:7001  192.8.8.137:7002
192.8.8.138:7002  192.8.8.138:7000


1、使用已经编译完成的安装报安装(就使用文档末尾连接的安装包即可),解压并放到/home/redistest目录下,修改对应的redis.conf文件,并复制出6份,每个节点两个redis目录
[redistest]$ ll
total 13284


drwxr-xr-x 2 redistest users 4096 Aug 9 06:44 7000
drwxr-xr-x 2 redistest users 4096 Aug 9 06:44 7001
drwxr-xr-x 2 redistest users 4096 Aug 9 06:44 7002
-rwxr-xr-x 1 redistest users 5708657 Aug 22 2016 redis-cli
-rwxr-xr-x 1 redistest users 7817132 Aug 22 2016 redis-server
-rwxr-xr-x 1 redistest users 60578 Aug 9 06:21 redis-trib.rb


2、此时有3个执行文件,redis-server/redis-cli/redis-trib.rb


3、创建7000文件夹,并将redis.conf拷贝到7000文件目录下,注意修改对应的几个关键配置项(主要就是改端口号)


daemonize yes // redis后台运行
pidfile /var/run/redis_7000.pid // pid文件,运行多个实例时,需要指定不同的pid文件
port 7000 // 监听端口,运行多个实例时,需要指定不同的断奶口
tcp-backlog 511
tcp-keepalive 0
loglevel notice // 日志等级
logfile ./redis.log // 日志文件位置
databases 16 // 可用数据库数
appendonly yes // redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态。
appendfilename "appendonly.aof" // AOF文件名称
appendfsync everysec // 表示对写操作进行累积,每秒同步一次
no-appendfsync-on-rewrite yes // AOF 自动重写
auto-aof-rewrite-percentage 80-100 // 重写百分比
auto-aof-rewrite-min-size 64mb //


注:完整配置,请参考软件包中的redis.conf文件
 
4、拷贝7000文件夹,粘贴出新文件夹7001/7002,分别将7001/7002文件夹中的redis.conf文件中的7000替换成为7001/7002。


5、切换到root用户,使用yum安装ruby,yum -y install ruby rubygems,并执行gem install redis,这样便完成ruby安装,可以使用redis-trib.rb搭建集群
注:redis-trib.rb是基于ruby开发的,所以必须要安装ruby环境。


yum安装很方便,但是有的风场是无法连接外网的,也就无法使用yum。软件包中已经包含ruby rubygems的软件包,直接安装即可。


ruby的下载路径:
https://rubygems.org/gems/redis


然后通过下面命令本地安装ruby


yum -y localinstall ruby rubygems
gem install redis


6、另外两台服务器做同样的配置操作,开启该机器的2个redis节点,当完成3台机器的redis节点搭建后,可以启动redis,并使用ps查看redis运行情况情况


7、开启redis服务
进入7000目录,启动redis


cd 7000
../redis-server redis.conf
cd ..
cd 7001
../redis-server redis.conf


[redistest@ip-172-18-98-136 redis]$ ps -ef|grep redis
redistest  3864    1  0 13:02 ?        00:00:00 ../redis-server *:7000 [cluster]
redistest  3869    1  0 13:02 ?        00:00:00 ../redis-server *:7001 [cluster]
redistest  3888  3778  0 13:05 pts/3    00:00:00 grep redis


注意:由于redis.conf文件使用的都是相对路径,并且生成的一些文件,如aof文件是不能覆盖重复的,因此标准的开启redis-server的操作是,进入到7000/7001/7002等目录中执行,../redis-server redis.conf,这样各个实例生成的文件就在各自的目录下,互不干扰;当然如果修改redis.conf的配置文件目录,则可以实现在不同的目录下执行redis-server,这个可以灵活掌握和运用


8、redis节点搭建起来后,需要完成redis cluster集群搭建,搭建集群过程中,需要保证6个redis实例都是运行状态。
Redis是根据IP和Port的顺序,确定master和slave的,所以要排好序,再执行。
输出如下


[redistest@ip-172-18-98-136 redis]$ ./redis-trib.rb create --replicas 1 192.8.8.136:7000 192.8.8.137:7001 192.8.8.138:7002 192.8.8.137:7002 192.8.8.136:7001  192.8.8.138:7000
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.8.8.138:7002
192.8.8.137:7001
192.8.8.136:7000
Adding replica 192.8.8.137:7002 to 192.8.8.138:7002
Adding replica 192.8.8.138:7000 to 192.8.8.137:7001
Adding replica 192.8.8.136:7001 to 192.8.8.136:7000
M: 6780f0fad

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Postgres-XL集群搭建详细创建步骤 下一篇PostgresSQL 主从搭建步骤

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目