redis 集群搭建碰到的问题
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
redis 集群搭建碰到的问题的更多相关文章
- 25.redis集群搭建笔记
###Redis集群### 0.准备 软件: redis-3.0.0.gem redis-3.0.0.tar.gz#源码 1.安装ruby环境 redis基于ruby槽位计算,hash算法技术,k ...
- Redis 集群搭建详细指南
先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...
- 二、redis集群搭建
redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...
- redis集群搭建及注意事项
上一篇:redis的安装及注意事项 这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出 ...
- Linux Redis集群搭建与集群客户端实现(Python)
硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...
- [转载] Redis集群搭建最佳实践
转载自http://blog.csdn.net/sweetvvck/article/details/38315149?utm_source=tuicool 要搭建Redis集群,首先得考虑下面的几个问 ...
- Linux Redis集群搭建与集群客户端实现
硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...
- Redis集群搭建-韩国庆
认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...
- redis集群搭建及设置账户(转)
Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...
随机推荐
- Codeforces.468C.Hack it!(构造)
题目链接 \(dls\)出的比赛诶...这么妙. \(Description\) 令\(f(x)\)表示整数\(x\)在十进制下各个数位的数字之和.给定\(a\),求两个整数\(l,r\),使得\(\ ...
- Java代码优化小结(二)
(21)将常量声明为static final,并以大写命名 这样在编译期间就可以把这些内容放入常量池中,避免运行期间计算生成常量的值.另外,将常量的名字以大写命名也可以方便区分出常量与变量 (22)不 ...
- [JOISC2014]友だちをつくろう
[JOISC2014]友だちをつくろう 题目大意: 一个\(n(n\le10^5)\)个点,\(m(m\le2\times10^5)\)条边的有向图.对于两个点\(i,j\),如果存在一个点\(k\) ...
- mac中安装 RabbitMQ
1.brew install rabbitmq 2.安装后,进入/usr/local/Cellar/rabbitmq/3.7.7 ,输入:sbin/rabbitmq-server 出现下面日志,说明启 ...
- Leetcode 记录(101~200)
Now, I want to just use English to explain the problem, it's about two month before the interview, s ...
- 论文类型Journal、magazin、transaction、letter等的区别
论文类型Journal.magazin.transaction.letter等的区别 http://blog.sina.com.cn/s/blog_5420e0000101a66m.html (201 ...
- 判断浏览器的类型$_SERVER['HTTP_USER_AGENT']和语言$_SERVER['HTTP_ACCEPT_LANGUAGE']
判断浏览器类型: $_SERVER["HTTP_USER_AGENT"] 判断浏览器类型的具体程序如下: <?php if(strpos($_SERVER["HTT ...
- 浅谈AJAX基本实现流程
1.js中ajax实现流程: (1) 创建XMLHttpRequest对象,也就是创建一个异步调用对象. (2) 创建一个新的HTTP请求,并指定该HTTP请求的方法.URL及验证信息. (3) 设置 ...
- angularJs中怎么模拟jQuery中的this?
最近自己正在学习angularJs,在学到ng-click时,由于想获取当前点击元素的自身,开始想到了用$index来获取当前元素的索引同样能实现我想要的效果,但是在有些特殊的情况下,使用$index ...
- all to do list
要做的任务: 1. docker 学习 2. python docker应用 3. python 异步爬虫 4. python 词云 5. Java根据代码自动生成接口文档(Swagger) > ...