make PREFIX=/usr/local/redis install
把编译好的redis 安装到指定目录下。
redis.conf文件从源码目录拷贝到/usr/local/redis(安装目录)下。
redis:address already in use 解决方法:
1.ps -ef |grep -i redis
2.kill -9 进程ID。
3.启动redis-server
redis 前台运行改成后台运行
daemonize no->daemonize yes
redis集群环境初始条件:
yum install ruby
gem install redis
执行gem install redis 提示ruby版本过低的解决方法。
~]# yum install centos-release-scl-rh //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
~]# yum install rh-ruby23 -y //直接yum安装即可
~]# scl enable rh-ruby23 bash //必要一步
~]# ruby -v //查看安装版本
然后执行gem install redis就完成了
ERROR: Could not find a valid gem 'redis' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - timed out (https://api.rubygems.org/specs.4.8.gz)的解决方法:
这是因为国内的GREATE WALL的问题,需要替换gem 镜像源地址:
https://gems.ruby-china.com,这里可以找到答案。
然后就可以执行gem install redis -V 了,-V是Verbose的缩写,可以查看安装过程。
redis.conf 文件中启用集群cluster-enabled yes (默认为不启用)。
新建一个目录,目录里面6个子文件夹对应6个集群,分别命名为当前REDIS的端口号从9001到9006.,并把之前的bin文件夹复制6份到这6个文件夹里面,修改每个文件夹的redis.conf文件的默认端口(默认为6379)
cp -r /study/redis-installed/bin 9001
cp -r /study/redis-installed/bin 9002
......
进入这6个目录,然后分别执行 ./redis.server ./redis.conf执行这6个命令,启动6台redis服务器,并用ps -aux|grep redis查看redis服务的启动情况。
root 20927 0.0 0.1 153888 2884 ? Ssl 10:42 0:00 ./redis-server 127.0.0.1:6379 [cluster]
root 21111 0.1 0.1 153888 2880 ? Rsl 10:44 0:00 ./redis-server 127.0.0.1:9001 [cluster]
root 21225 0.1 0.1 153888 2900 ? Rsl 10:45 0:00 ./redis-server 127.0.0.1:9002 [cluster]
root 21323 0.0 0.1 153888 2888 ? Ssl 10:46 0:00 ./redis-server 127.0.0.1:9003 [cluster]
root 21369 0.0 0.1 153888 2884 ? Rsl 10:46 0:00 ./redis-server 127.0.0.1:9004 [cluster]
root 21417 0.0 0.1 153888 2888 ? Rsl 10:46 0:00 ./redis-server 127.0.0.1:9005 [cluster]
root 21457 0.0 0.1 153888 2888 ? Ssl 10:46 0:00 ./redis-server 127.0.0.1:9006 [cluster]
root 21511 0.0 0.0 112716 940 pts/1 R+ 10:47 0:00 grep --color=auto redis
服务的启动情况如上面所示,表名服务已经启动。
因为我用的5.0以上的redis,所以采用下面的方式把上述6台机器加入到一个集群中:
redis-cli --cluster create 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 127.0.0.1:9006 --cluster-replicas 1
然后用redis-cli连接到集群中的任意一台机器:
./redis-cli -c -h 127.0.0.1 -p 9002,并用cluster nodes 查询集群节点:
127.0.0.1:9002> cluster nodes
98450c9595407666abedd8f75e3c51620ce18c6d 127.0.0.1:9005@19005 slave 7bbc29dbe82ae9fe427a8116ace2c1c838a91808 0 1553828724441 5 connected
7bbc29dbe82ae9fe427a8116ace2c1c838a91808 127.0.0.1:9001@19001 master - 0 1553828723437 1 connected 0-5460
22b89c572209a6ea974763f02952ae80e45336d5 127.0.0.1:9003@19003 master - 0 1553828721428 3 connected 10923-16383
1fd885060f4333afe6198e3aec0eaab6c74ce4e0 127.0.0.1:9006@19006 slave b13147c4d1fd92379cd329904943b937108fab8c 0 1553828722433 6 connected
0ff92f832c69498c4c7fb74fcfdd5d7919c9460f 127.0.0.1:9004@19004 slave 22b89c572209a6ea974763f02952ae80e45336d5 0 1553828723000 4 connected
b13147c4d1fd92379cd329904943b937108fab8c 127.0.0.1:9002@19002 myself,master - 0 1553828722000 2 connected 5461-10922