yum -y install gcc*node
cd /usr/local/redis
mkdir redisvim
将redis放到redis目录下centos
tar -vxf redis-3.2.5.tar.gzruby
cd redis-3.2.5.tar.gzapp
make && make install工具
cd src测试
./redis-servercentos7
看到这个界面redis单机版启动成功,验证:
另外打开一个链接,到根目录下执行spa
cd /usr/local/redis/redis-3.2.5/src/
./redis-cli
ping
在redis安装目录下建立redis_cluster目录:
mkdir redis_cluster
在redis_cluster中建立子目录:
cd redis_cluster/
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
修改每一个redis.conf的配置,
cp redis.conf ./redis_cluster/
cd ./redis_cluster/
vim redis.conf
须要修改的内容以下:
port 7000 //配置集群的端口,分别是7000、7001、7002
bind 本机的IP //这里的默认配置是127.0.0.1改成内网ip。
daemonize yes //容许redis在后台运行
pidfile /var/run/redis_7000.pid //改为和端口一致
cluster-enabled yes // 开启集群 把注释去掉
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-config-file node_7000.conf //集群的配置,和端口一致
cluster-node-timeout 15000 // 请求超时,默认为15秒
appendonly yes // aof日志开启,有须要就开启,每一次写操做都会记录一条日志。
保存退出
将redis.conf拷贝到这三个目录中去:(redis.conf在安装目录下)
cp redis.conf ./7000
cp redis.conf ./7001
cp redis.conf .//7002
...
修改每一个目录下redis.conf文件的端口和配置
cd 7001/
vim redis.conf
修改完成以后启动服务:
cd ../../src/
./redis-server ../redis_cluster/7000/redis.conf
查看启动状况:
mkdir /usr/local/ruby
cd ruby/
把包放到改目录下
tar -xvf ruby-2.4.1.tar
cd ruby-2.4.1
./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的解决方案相似,可类比解决。
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
make install
刚刚安装rubygems就是为了安装这个插件。
把文件放到 /usr/local/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.1.155:7000 192.168.1.155:7001 192.168.1.155:7002 192.168.1.155:7003 192.168.1.155:7004 192.168.1.155:7005
而后测试一下集群:
随便链接一个节点:
./redis-cli -h 192.168.1.155 -p 7005 -c
set test1 'test001'
而后再链接另一个节点:
./redis-cli -h 192.168.1.155 -p 7001 -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以后,若是一分钟不进行任何操做,该节点会自动加入集群。