Liunx下Redis集群

  一直使用 Redis 都是添加引用,直接使用没有自己在 liunx 下搭建过 Redis,直到同事搞了个服务器让我帮忙弄弄,于是学习的心态捣腾出来了。

  这类资源网上很多,随便搜索一大堆,在这里记录一下,从前一值也不怎么愿意写这些东西,一来觉得自己太菜,大牛那么多,就不要丢人现眼了

  随着工作时间长了,开始改变自己囫囵吞枣的毛病摒弃掉工作带来的急躁心情,越来越多的东西想去学 ,当静下心来学习,而写博客的过程中,随着每行文字的描述,带动着大脑去思考问题归纳总结,

  从而将别人的东西转换成自己的知识。

  废话到此为止。

下载 Rdis 

cd /root(下载文件放到哪个路径下都可以)

wget http://download.redis.io/releases/redis-3.2.9.tar.gz  (wget   XX   下载地址可以到官网或 github 上 Copy)

tar xzf redis-3.2.9.tar.gz
cd redis-3.2.9

make && make install

依赖项

yum install automake autoconf ruby rubygems -y (添加 RubyGems 包管理器)

创建实例目录

  使用 mkdir -p 创建子目录文件, 路径:/usr/local/cluster  自己设置记住就好

  mkdir -p /usr/local/cluster  

       mkdir -p /usr/local/cluster/6379

  mkdir -p /usr/local/cluster/6380

  mkdir -p /usr/local/cluster/6381

  

  这是我们在 /usr/local/cluster 下创建了是三个子目录,为了方便别分这里以端口号命名

文件配置

  cp /soft/redis-3.2.9/redis.conf  /usr/local/cluster/6379/    

  将配置文件复制到 6379 目录下,通过 vi redis.conf 打开文件进行修改 

  

port  6379                                        //端口 6379,6380,6381        
bind 本机 ip                                       //默认 ip 为 127.0.0.1 需要改为其他节点机器可访问的 ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes                               //redis 后台运行
pidfile  /var/run/redis_6379.pid          //pidfile 文件对应 6379,6380,6381
cluster-enabled  yes                           //开启集群  把注释 #去掉
cluster-config-file  nodes_6379.conf   //集群的配置  配置文件首次启动自动生成 6379,6380,6381
cluster-node-timeout  15000                //请求超时  默认 15 秒,可自行设置
appendonly  yes                           //aof 日志开启  有需要就开启,它会每次写操作都记录一条日志 

 

  修改完成后启动当前实例

  redis-server redis.conf

  切换剩下到两个 6380,6381 目录下进行相同的修改操作。

配置集群

  cd /root/redis-3.2.9/src   切到安装位置下的 src 目录

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。

执行 ruby redis-trib.rb  create    192.168.31.245:6379 192.168.31.245:6380 192.168.31.245:6381
如果报错如下: 则需要安装 redis 和 ruby 的接口 gem install redis
/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  

  集群完成,执行

  redis-cli  cluster info  

  redis-cli cluster nodes

使用 redis 命令行工具进行测试

 redis-cli -c set test001 hahaha

redis-cli -c get test001

 

停止服务

如果是用apt-get或者yum install安装的 redis,可以直接通过下面的命令停止 / 启动 / 重启 redis

redis-server stop
redis-server start
redis-server restart

如果是通过源码安装的 redis,则可以通过 redis 的客户端程序redis-clishutdown命令来重启 redis

redis-cli -h 127.0.0.1 -p 6379 shutdown

如果上述方式都没有成功停止 redis,则可以使用 kill -9