redis集群安装部署
来源:互联网 发布:alphago用的什么算法 编辑:程序博客网 时间:2024/06/06 00:32
redis集群规划,redis集群至少需要6个节点(3主3从),此操作是把6各节点都安装在一台服务器上,若服务器多,
可分开进行安装。此实验前提是机器上已经装好了redis。若不会安装redis参考 http://blog.csdn.net/linux_newbie_rookie/article/details/78723586
安装redis集群可参考博客:http://www.cnblogs.com/mafly/p/redis_cluster.html
1. 创建文件夹,计划集群中redis节点的端口号为9001-9006,数据存放在端口号/data下。
mkdir /redis-cluster
mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
2. 复制执行脚本
在 /redis-cluster下创建 bin 文件夹,用来存放集群运行脚本,并把安装好的 Redis 的 src 路径下的运行脚本拷贝过来。
mkdir /redis-cluster/bin
cd /usr/local/redis/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /usr/redis-cluster/bin
3. 复制一个新的redis实例
从已经安装好的(/usr/local/redis/)redis中复制一个新实例到9001--9006中
cp /usr/local/redis/* /redis-cluster/9001
修改9001下的redis.conf配置文件:
port 9001(每个节点的端口号)
daemonize yes
bind 192.168.119.131(绑定当前机器 IP)
dir /usr/local/redis-cluster/9001/data/(数据文件存放位置)
pidfile /var/run/redis_9001.pid(pid 9001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes9001.conf(9001和port要对应)
cluster-node-timeout 15000
appendonly yes
4. 复制新实例到9002-9006,然后修改配置文件对应的端口号以及相关信息
(可在vim里面:$s###g进行修改,也可以采用下面的sed进行修改)
配置文件修改:
sed -i 's/cluster-config-file nodes-9001.conf/cluster-config-file nodes-9006.conf/g' redis.conf
sed -i 's/\/var\/run\/redis_9001.pid/\/var\/run\/redis_9006.pid/g' redis.conf
sed -i 's/logfile ""/logfile "\/redis-cluster\/9006\/log"/g' redis.conf
sed -i 's/\/redis-cluster\/9001\/data\//\/redis-cluster\/9006\/data\//g' redis.conf
sed -i 's/port 9001/port 9006/g' redis.conf
5. 启动9001-9006的所有节点。
/usr/local/bin/redis-server /redis-cluster/9001/redis.conf
...
...
...
5. 找个节点进行测试
/redis-cluster/bin/redis-cli -h 192.168.119.131 -p 9001
keys *
set name mm
报错:(error) CLUSTERDOWN Hash slot not served(不提供集群的散列槽)
原因:虽然配置启动了redis集群服务,但是还不在一个集群中,互相不能发现,没有可存储的位置,就是slot(槽)。
6. 安装集群所需软件
yum install -y ruby
gem install redis
报错:
ERROR: Error installing redis:
redis requires Ruby version >= 2.2.2.2
原因:Centos7yum安装的ruby版本为2.2.2.2,但是安装redis时要求最低为2.2.2.2,自己进行源码编译安装依然还是报错,
解决方法用rvm来更新ruby
参考博客:http://blog.csdn.net/FengYe_YuLu/article/details/77628094
出来这样即为成功
[root@bogon test]# gem install redis
Successfully installed redis-3.0.0
Parsing documentation for redis-3.0.0
Installing ri documentation for redis-3.0.0
Done installing documentation for redis after 1 seconds
1 gem installed
7. /redis-cluster/bin/redis-trib.rb create --replicas 1 192.168.6.190:9001 192.168.6.190:9002 192.168.6.190:9003 192.168.6.190:9004 192.168.6.190:9005 192.168.6.190:9006
成功则会出来3主3从,有系统自动分配
Using 3 masters:
192.168.6.190:9001
192.168.6.190:9002
192.168.6.190:9003
上面命令解释:调用 ruby 命令来进行创建集群,--replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,
以及 solt 的大小,因为在 Redis 集群中有且仅有 16383 个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。
8. 做到以上则代表redis集群搭建成功,可以在验证下:
redis-cli -c -h 192.168.6.190 -p 9001
cluster info 显示集群状态
cluster nodes 显示集群节点
此时在设置mm时就可以设置:set name mm
192.168.6.190:9001> set name mm
-> Redirected to slot [5798] located at 192.168.6.190:9002
OK
可分开进行安装。此实验前提是机器上已经装好了redis。若不会安装redis参考 http://blog.csdn.net/linux_newbie_rookie/article/details/78723586
安装redis集群可参考博客:http://www.cnblogs.com/mafly/p/redis_cluster.html
1. 创建文件夹,计划集群中redis节点的端口号为9001-9006,数据存放在端口号/data下。
mkdir /redis-cluster
mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
2. 复制执行脚本
在 /redis-cluster下创建 bin 文件夹,用来存放集群运行脚本,并把安装好的 Redis 的 src 路径下的运行脚本拷贝过来。
mkdir /redis-cluster/bin
cd /usr/local/redis/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /usr/redis-cluster/bin
3. 复制一个新的redis实例
从已经安装好的(/usr/local/redis/)redis中复制一个新实例到9001--9006中
cp /usr/local/redis/* /redis-cluster/9001
修改9001下的redis.conf配置文件:
port 9001(每个节点的端口号)
daemonize yes
bind 192.168.119.131(绑定当前机器 IP)
dir /usr/local/redis-cluster/9001/data/(数据文件存放位置)
pidfile /var/run/redis_9001.pid(pid 9001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes9001.conf(9001和port要对应)
cluster-node-timeout 15000
appendonly yes
4. 复制新实例到9002-9006,然后修改配置文件对应的端口号以及相关信息
(可在vim里面:$s###g进行修改,也可以采用下面的sed进行修改)
配置文件修改:
sed -i 's/cluster-config-file nodes-9001.conf/cluster-config-file nodes-9006.conf/g' redis.conf
sed -i 's/\/var\/run\/redis_9001.pid/\/var\/run\/redis_9006.pid/g' redis.conf
sed -i 's/logfile ""/logfile "\/redis-cluster\/9006\/log"/g' redis.conf
sed -i 's/\/redis-cluster\/9001\/data\//\/redis-cluster\/9006\/data\//g' redis.conf
sed -i 's/port 9001/port 9006/g' redis.conf
5. 启动9001-9006的所有节点。
/usr/local/bin/redis-server /redis-cluster/9001/redis.conf
...
...
...
5. 找个节点进行测试
/redis-cluster/bin/redis-cli -h 192.168.119.131 -p 9001
keys *
set name mm
报错:(error) CLUSTERDOWN Hash slot not served(不提供集群的散列槽)
原因:虽然配置启动了redis集群服务,但是还不在一个集群中,互相不能发现,没有可存储的位置,就是slot(槽)。
6. 安装集群所需软件
yum install -y ruby
gem install redis
报错:
ERROR: Error installing redis:
redis requires Ruby version >= 2.2.2.2
原因:Centos7yum安装的ruby版本为2.2.2.2,但是安装redis时要求最低为2.2.2.2,自己进行源码编译安装依然还是报错,
解决方法用rvm来更新ruby
参考博客:http://blog.csdn.net/FengYe_YuLu/article/details/77628094
出来这样即为成功
[root@bogon test]# gem install redis
Successfully installed redis-3.0.0
Parsing documentation for redis-3.0.0
Installing ri documentation for redis-3.0.0
Done installing documentation for redis after 1 seconds
1 gem installed
7. /redis-cluster/bin/redis-trib.rb create --replicas 1 192.168.6.190:9001 192.168.6.190:9002 192.168.6.190:9003 192.168.6.190:9004 192.168.6.190:9005 192.168.6.190:9006
成功则会出来3主3从,有系统自动分配
Using 3 masters:
192.168.6.190:9001
192.168.6.190:9002
192.168.6.190:9003
上面命令解释:调用 ruby 命令来进行创建集群,--replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,
以及 solt 的大小,因为在 Redis 集群中有且仅有 16383 个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。
8. 做到以上则代表redis集群搭建成功,可以在验证下:
redis-cli -c -h 192.168.6.190 -p 9001
cluster info 显示集群状态
cluster nodes 显示集群节点
此时在设置mm时就可以设置:set name mm
192.168.6.190:9001> set name mm
-> Redirected to slot [5798] located at 192.168.6.190:9002
OK
阅读全文
0 0
- Redis集群安装部署
- redis集群安装部署
- Redis安装与集群部署
- Redis(Sentinel)监控集群安装部署
- 安装部署master加密的redis集群
- Redis 单机/集群离线安装部署
- Redis-3.2.8的集群安装部署
- redis集群部署rvm安装问题
- Redis集群部署详细
- Redis集群部署文档
- Redis集群部署
- redis集群&主从部署
- redis集群&主从部署
- redis集群部署
- redis集群部署
- redis集群部署搭建
- Redis 集群部署
- redis集群部署
- 解决Studio3.0 Dagger2注入Error:android-apt plugin不兼容的问题
- maven项目pom文件中有红叉:Missing artifact jar
- docker on marathon&mesos示例
- poj-3468 A Simple Problem with Integers(线段树,树状数组区间求和)
- 如何优雅的抄袭代码!
- redis集群安装部署
- centos7虚拟机编译openwrt填坑
- influxdb+grafana使用问题记录
- 大学体育信息管理系统
- 数组去重的10中方法
- ubuntu安装jdk
- 松弛变量与惩罚因子
- 解决mac平台的mysql+python的中文乱码问题
- Sbulime3中配置Cmder