本文已参加「新人创造礼」活动,一同敞开掘金创造之路。
1.gcc装置
装置redis需求gcc编译,假如没有gcc,则需求在线装置.指令如下
yum install gcc-c++
假如不能联网需求进行离线装置详细概况参阅 /post/713801…
2.装置redis
2.1上传redis压缩包到服务器
能够经过rz指令进行上传或者运用xftp进行上传,我是上传到了/home/redis目录下redis目录为自己创建,这个方位能够自己随意放置)
2.2解压文件夹
tar -xvf redis-3.2.1.tar.gz
2.3进入解压后文件目录
cd redis-3.2.1/
2.4 查看是否存在Makefile文件,存在则直接make编译redis源码(假如没有装gcc的话这步不会履行成功)
make
2.5 如下,则编译成功
2.6装置编译后的redis代码到指定目录
make install PREFIX=/usr/local/redis
(PREFIX=/usr/local/redis表示装置redis到指定目录)
2.7查看/usr/local目录,能够发现多了一个redis目录
cd /usr/local
2.8 至此redis装置成功
./redis-server
2.9 上述指令发动后,假如客户端封闭,redis服务也会停掉,所以需求改成后台发动redis.
将redis解压文件里面的redis.conf文件(home/redis/redis-3.2.1/redis.conf)复制到当时目录(/usr/local/redis/bin),指令如下
cp /home/redis/redis-3.2.1/redis.conf .
修正redis.conf文件
vim redis.conf
将daemonize no改为daemonize yes,这样便将发动方法修正为后台发动了
然后保存修正并退出
2.10 查看redis是否在运行,指令如下
ps aux|grep redis
3.集群建立
3.1 在装好的redis目录(/usr/local/redis)下新建一个redis-cluster目录
3.2 在redis-cluster目录下建6个文件夹如7000.7001.7002.7003.7004.7005
3.3 分别放入/home/redis/redis-3.2.1/redis.conf文件,并修正对应port为7000-7005
bind 0.0.0.0 //改成你对应的IP
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000 改成每个文件对应的7000-7005
port 7000 //端口7000
cluster-enabled yes //敞开集群 把注释#去掉
cluster-config-file nodes.conf //集群的装备 装备文件首次发动自动生成 改成每个文件对应的7000-7005
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes //aof日志敞开 有需求就敞开,它会每次写操作都记录一条日志
protected-mode no //在redis3.2之后,redis增加了protected-mode,在这个形式下,即使注释掉了bind 127.0.0.1,再访问redisd时分仍是报错
3.4 然后在/usr/local/redis目录下履行
./bin/redis-server redis-cluster/7000/redis.conf
./bin/redis-server redis-cluster/7001/redis.conf
./bin/redis-server redis-cluster/7002/redis.conf
./bin/redis-server redis-cluster/7003/redis.conf
./bin/redis-server redis-cluster/7004/redis.conf
./bin/redis-server redis-cluster/7005/redis.conf
3.5 由于Redis集群的操作是经过Ruby脚本来完结的,因此咱们需求装置Ruby
参阅/post/714044…
装置好以后,咱们到之前解压的文件/home/redis/redis-3.2.1/src目录下找到文件redis-trib.rb,如图所示
3.6 将该文件拷贝到与6个文件夹的同级目录下(/usr/local/redis/redis-cluster)
cp /home/redis/redis-3.2.1/src/redis-trib.rb /usr/local/redis/redis-cluster
在redis目录下(usr/local/redis)履行指令:
./redis-trib.rb create --replicas 1 192.168.56.101:7000 192.168.56.101:7001 192.168.56.101:7002 192.168.56.101:7003 192.168.56.101:7004 192.168.56.101:7005
假如不成功呈现下面问题
问题1
require': cannot load such file -- redis (LoadError) from /home/cmfchina/ruby/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire’
from ./redis-trib.rb:25:in `<main>’
这错误是由于短少redis和ruby的接口,咱们需求装置对应的Redis的Rbuy接口包。
咱们能够直接去官网下载rubygems.org/gems/redis/
下载后上传到服务器傍边
装置
gem install redis-3.3.0.gem
结果又报错,这是由于需求依赖zlib东西,咱们需求再装置zlib才行
下载zlib
http://www.zlib.net
下载完结后,上传到服务器(/home/zlib我存放的途径),然后解压文件
tar -xvf zlib-1.2.11.tar.gz
进入解压后的目录
cd zlib-1.2.11/
进行装置
./configure --prefix=/usr/local/zlib //设置装置途径
编译
make
然后履行
make install
——————至此zlib装置完结———————
装置完zlib之后,在/home/ruby/ruby-2.2.3/ext/zlib/目录下履行
ruby extconf.rb
又报错
这个是要将文件装置到本地运行库的里面才行
从头输入指令
ruby extconf.rb --with-zlib-include=/usr/local/zlib/include/ --with-zlib-lib=/usr/local/zlib/lib
补白:/usr/local/zlib是我的zlib装置目录
履行
make && make install
装置完结后回到redis的gem目录下,
cd /home/redis_gem/
持续履行指令:
gem install redis-3.3.0.gem
又呈现了错误,咱们还需求装置OpenSSL
OpenSSL下载地址 www.openssl.org/source/
把下载下来的上传到服务器目录/home/openssl,然后解压装置包
tar -xvf openssl-1.0.2r.tar.gz
进入解压后的目录
cd openssl-1.0.2r/
履行
./config -fPIC --prefix=/usr/local/openssl enable-shared
然后履行
./config -t
然后履行
make && make install
呈现上述内容阐明装置成功
然后到Ruby解压的源码/home/ruby/ruby-2.2.3目录下的ext/openssl 目录,如图所示
ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib
补白:/usr/local/openssl是我的openssl装置目录
make && make install
可是咱们make的时分,又呈现了和zlib类似的错误
打开Makefile文件,将$(top_srcdir)全部改成../..
sed -i 's/\$(top_srcdir)/\..\/../g' Makefile
修正完以后再履行
make && make install
如上图阐明装置成功了,然后咱们再回到之前redis目录下履行指令:
gem install redis-3.3.0.gem
———————-到此redis总算装置好了然后建立redis集群—————-
redis5.x版别后装置没有这个杂乱,建议运用redis高版别
3.7发动Redis集群
完结以上过程之后,在redis目录下(/usr/local/redis/redis-cluster)履行指令:
./redis-trib.rb create --replicas 1 192.168.56.101:7000 192.168.56.101:7001 192.168.56.101:7002 192.168.56.101:7003 192.168.56.101:7004 192.168.56.101:7005
发现又报错了。。。
查看了一下redis.conf发现IP没有修正,把bind 127.0.0.1 这个IP改成你的虚拟机IP
然后把cluster-enabled yes //敞开集群 把注释#去掉然后把之前的进程杀掉 从头发动
然后履行
./redis-trib.rb create --replicas 1 192.168.56.101:7000 192.168.56.101:7001 192.168.56.101:7002 192.168.56.101:7003 192.168.56.101:7004 192.168.56.101:7005
发现总算成功了
3.8Redis集群测验
咱们来测验一下Redis集群,看是否建立成功,经过连接任一redis端口,增加数据
咱们进入redis的装置目录
cd /usr/local/redis/bin
./redis-cli -h 192.168.56.101
咱们从7000上发送的内容跳转到了7001上至此阐明集群建立成功