您的位置:首页 > 数据库 > Redis

redis集群搭建(单PC)

2017-03-22 00:00 513 查看

1.前言

redis至少需要6个节点才能工作,节点如下:

127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

2.安装

2-1 下载redis,版本3.0以上才支持集群

2-2 编译安装redis

解压  tar -zxf redis3.x.x.tar.gz

cd ./redis3.x.x
make
make install

说明:安装后在./redis3.x.x/bin目录下多了下面几个文件:

  redis-benchmark:redis性能测试工具

  redis-check-aof:检查aof日志的工具

  redis-check-dump:检查rdb日志的工具

  redis-cli:连接用的客户端

  redis-server:redis服务进程

2-3 创建集群文件结构

mkdir cluster
cd cluster
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005

2-4 拷贝并修改配置文件redis.conf

cp ./redis3.x.x/redis.conf  ./cluster
vi redis.conf

查找并修改配置文件中的下列信息

port  7000                                 //端口7000
bind 127.0.0.1                             //默认ip为127.0.0.1
daemonize yes                              //redis后台运行
cluster-enabled  yes                       //开启集群  把注释#去掉
cluster-config-file  nodes.conf            //集群的配置
cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
appendonly  yes                            //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

2-5 将redis.conf复制到7000-7005文件夹中,并将redis.conf中的port分别改成相应的7000-7005

注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称

2-6 分别启动这6个redis实例,如

cd /usr/local/cluster/7000
redis-server redis.conf

2-7 检查启动情况

ps -ef | grep redis




如果显示7000-7005说明全部启动,如果没有启动:

原因1:非root用户操作

原因2:端口被占用

netstat -anp|grep 7001 或者 lsof -i:7001

2-8 创建redis集群

cd /usr/local/redis3.0/src

./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002
127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

2-9 如执行上面的命令报错,因为执行的是ruby脚本,需要ruby的环境
错误:

/usr/bin/env: ruby: No such file or directory

解决: 安装ruby的环境

apt-get install ruby

2-10 执行2-8命令,如报错提示缺少rubygems组件

错误:

./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24

解决:

apt-get install rubygems

2-10 执行2-8命令,如报错提示不能加载redis,是因为缺少redis和ruby的接口,

错误内容:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require':
no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./redis-trib.rb:25

解决:

gem install  redis

2-11 再次执行2-8命令,正常执行,中间需输入yes,然后配置完成

2-12 使用redis-cli命令进入集群环境

redis-cli -c -p 7000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis cluster