cd /usr/local/ mkdir redis 将redis放到redis目录下 tar -vxf redis-4.0.7.tar.gz make
若是报错:
node
说明系统没有安装gcc的环境,没法进行编译。redis
mount /dev/cdrom /mnt cd /mnt/Packages (有的不在Packages目录下,这个目录下都是rpm包) rpm -ivh gcc-4.8.5-4.el7.x86_64.rpm
安装gcc以前须要安装其余的依赖,按照提示的依赖从上到下安装:shell
rpm -ivh gcc-4.8.5-4.el7.x86_64.rpm cpp-4.8.5-4.el7.x86_64.rpm glibc-devel-2.17-105.el7.x86_64.rpm libmpc-1.0.1-3.el7.x86_64.rpm glibc-headers-2.17-105.el7.x86_64.rpm kernel-headers-3.10.0-327.el7.x86_64.rpm
解决办法:make 后面带参数vim
make MALLOC=libc make install cd src ./redis-server
看到这个界面redis单机版启动成功,验证:
另外打开一个链接,到根目录下执行centos
./redis-cli ping
若是有响应,则redis单机版本安装成功。
ruby
在redis安装目录下建立redis_cluster目录:app
mkdir redis_cluster 在redis_cluster中建立子目录: cd redis_cluster/ mkdir 7000 mkdir 7001 mkdir 7002
将redis.conf拷贝到这三个目录中去:(redis.conf在安装目录下)工具
cp redis.conf ./redis_cluster/7000 cp redis.conf ./redis_cluster/7001 cp redis.conf ./redis_cluster/7002
修改每一个redis.conf的配置,须要修改的内容以下:测试
port 7000 //配置集群的端口,分别是7000、700一、7002 bind 本机的IP //这里的默认配置是127.0.0.1改成内网ip。 daemonsize yes //容许redis在后台运行 pidfile /var/run/redis_7000.pid //改为和端口一致 cluster-enabled yes // 开启集群 把注释去掉 cluster-config-file node_7000.conf //集群的配置,和端口一致 cluster-node-timeout 15000 // 请求超时,默认为15秒 appendonly yes // aof日志开启,有须要就开启,每一次写操做都会记录一条日志。
修改完成以后启动服务:centos7
cd src/ ./redis-server ../redis_cluster/7000/redis.conf
依次启动全部节点:
查看启动状况:
另外一台机器的redis端口分配为:700三、700四、7005,而后修改对应的主机ip。
mkdir /usr/local/ruby cd ruby/ 把包放到改目录下 tar -vxf ruby-2.5.0.tar.gz cd ruby-2.5.0/ ./configure make && make install
验证:
ruby -v
cd /usr/local mkdir rubygems 把文件放到该目录下 tar -vzxf rubygems-2.7.4.tgz cd rubygems-2.7.4/ ruby setup.rb
报错:
解决办法:缺乏了zlib包,须要下载并安装zlib
cd /usr/local mkdir zlib tar -vxf zlib-1.2.11.tar.gz cd zlib-1.2.11/ ./configure --prefix=/usr/local/zlib make make install
cd /usr/local/ruby-2.5.0/ext/zlib/ ruby extconf.rb --with-zlib-include=/usr/local/zlib/include/ --with-zlib-lib=/usr/local/zlib/lib make
又报错:
解决办法:执行完extconf.rb以后会生成一个Makefile vim Makefile
把$(top_srcdir) 换成 ../../
而后再make
make
make install
错误都解决以后,回到安装rubygems的步骤。
进入rubygems的安装目录,执行ruby setup.rb
cd /usr/local/rubygems/rubygems-2.7.4 ruby setup.rb
安装成功:
刚刚安装rubygems就是为了安装这个插件。
把文件放到 /usr/local/redis 目录下。
gem install redis-3.2.2.gem
又报错:
解决办法:缺乏OpenSSL,下载安装。
这个问题和zlib的解决方案相似,可类比解决。
cd /usr/local mkdir openssl tar -xvf openssl-1.0.2n.tar.gz ./config -fPIC --prefix=/usr/local/openssl enable-shared ./config -t make && make install
安装成功:
cd /usr/local/ruby/ruby-2.5.0/ext/openssl/ ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib make
报错:
解决办法:vim Makefile 把全部的 $(top_srcdir) 换成 ../.. 注意替换全部
make && make install
安装成功:
而后回到安装 redis-3.2.2.gem ,在redis目录下安装。
gem install redis-3.2.2.gem
安装成功:
cd /usr/local/redis/redis-4.0.7/src ./redis-trib.rb create --replicas 1 192.168.80.230:7000 192.168.80.230:7001 192.168.80.230:7002 192.168.80.231:7003 192.168.80.231:7004 192.168.80.231:7005
启动成功:
而后测试一下集群:
随便链接一个节点:
./redis-cli -h 192.168.80.231 -p 7005 -c 链接成功以后: set test1 'test001'
而后再链接另一个节点:
./redis-cli -h 192.168.80.230 -p 7002 -c get test1
可使用可视化工具查看和管理redis集群。
./redis-trib.rb create --replicas 1 192.168.80.230:7000 192.168.80.230:7001 192.168.80.230:7002 192.168.80.231:7003 192.168.80.231:7004 192.168.80.231:7005
cd /usr/local/redis/redis-4.0.7/src ./redis-cli -p 7003 -c -h 192.168.80.231
参数说明: -p port 端口 -h host 主机 -c cluster 集群
链接进集群以后 输入ping , 若是响应了pong 表示链接集群成功:
链接进集群以后能够查看当前集群的信息和节点的信息
CLUSTER INFO 列出当前节点的信息
CLUSTER NODES 列出当前集群中的节点信息
前面一段很长的字符串就是节点的id。从这个命令能够知道哪些节点还活着,哪些节点已经挂了。端口后面带着fail的都是挂掉的节点。
退出集群链接才能关闭某一个节点:
./redis-cli -c -h 192.168.80.230 -p 7000 shutdown
这条命令的意思是关闭230机器上端口为7000的redis节点。
关闭以后能够链接集群去执行 CLUSTER NODES ,这个节点的状态已是fail。
添加一个节点以前务必保证该节点已经启动了,若是该节点以前在建立集群时已经在集群里面了,关闭该节点而后再从新启动,该节点会自动加入集群。
./redis-server ../redis_cluster/7000/redis.conf
而后链接进集群,若是该节点以前不在集群中,链接集群输入cluster meet 命令就能够指定某个节点加入集群。
CLUSTER MEET 192.168.80.230:7000 CLUSTER forget fd72b78b1eaa430ca309bc5226d90fe67199a576
这个一长段字符串是节点的id,forget以后能够再去看节点的信息。
forget以后,若是一分钟不进行任何操做,该节点会自动加入集群。