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-cli
的shutdown
命令来重启redis
redis-cli -h 127.0.0.1 -p 6379 shutdown
如果上述方式都没有成功停止redis,则可以使用 kill -9