redis集群
来源:互联网 发布:mac上好用的vpn 知乎 编辑:程序博客网 时间:2024/05/16 01:23
准备工作:
首先必须安装redis,安装完后,安装如下内容:
</pre><pre name="code" class="html"> sudo yum install ruby sudo yum install rubygem yum install -y ruby-devel ruby-docs ruby-ri ruby-rdoc yum install -y rubygems gem install redis
创建集群需要的目录
mkdir -p /usr.local/clustercd /usr.local/clustermkdir 7000mkdir 7001mkdir 7002mkdir 7003mkdir 7004mkdir 7005
cp /home/sq/redis.conf /usr.local/cluster修改配置文件redis.conf
vi redis.conf##修改配置文件中的下面选项port 7000daemonize yescluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yes##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7000/7001/7002/7003/7004/7005目录下面cp /usr/local/cluster/redis.conf /usr/local/cluster/7000cp /usr/local/cluster/redis.conf /usr/local/cluster/7001cp /usr/local/cluster/redis.conf /usr/local/cluster/7002cp /usr/local/cluster/redis.conf /usr/local/cluster/7003cp /usr/local/cluster/redis.conf /usr/local/cluster/7004cp /usr/local/cluster/redis.conf /usr/local/cluster/7005 ##注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称
cd /usr/local/cluster/7000分别启动这6个redis实例
redis-server redis.confcd /usr/local/cluster/7001redis-server redis.confcd /usr/local/cluster/7002redis-server redis.confcd /usr/local/cluster/7003redis-server redis.confcd /usr/local/cluster/7004redis-server redis.confcd /usr/local/cluster/7005redis-server redis.conf
创建集群
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
报错,如下所示
Connecting to node 127.0.0.1:7001: [ERR] Sorry, can't connect to node 127.0.0.1:7001
下载最新的配置文件,重复上面集群命令,成功。
>>> Creating clusterConnecting to node 127.0.0.1:7000: OKConnecting to node 127.0.0.1:7001: OKConnecting to node 127.0.0.1:7002: OKConnecting to node 127.0.0.1:7003: OKConnecting to node 127.0.0.1:7004: OKConnecting to node 127.0.0.1:7005: OK>>> Performing hash slots allocation on 6 nodes...Using 3 masters:127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002Adding replica 127.0.0.1:7003 to 127.0.0.1:7000Adding replica 127.0.0.1:7004 to 127.0.0.1:7001Adding replica 127.0.0.1:7005 to 127.0.0.1:7002M: d8bf7d3d9f38c7616e6347a5a2d054d8fa978397 127.0.0.1:7000 slots:0-5460 (5461 slots) masterM: 6fc3ec10d8c2f472509c470faff2b111f37f7eea 127.0.0.1:7001 slots:5461-10922 (5462 slots) masterM: 889968778bf2780e9fe9f1ea89057f3bad0f5675 127.0.0.1:7002 slots:10923-16383 (5461 slots) masterS: 0584aa26b3fd35bbe8b03a25b2f51e99c89ae82e 127.0.0.1:7003 replicates d8bf7d3d9f38c7616e6347a5a2d054d8fa978397S: a62f3805aa998b9721e66d36c62d2c0b50b74288 127.0.0.1:7004 replicates 6fc3ec10d8c2f472509c470faff2b111f37f7eeaS: e430fb63fce30514d4c4534f0e3e32b3287925bb 127.0.0.1:7005 replicates 889968778bf2780e9fe9f1ea89057f3bad0f5675Can I set the above configuration? (type 'yes' to accept): yes>>> Nodes configuration updated>>> Assign a different config epoch to each node>>> Sending CLUSTER MEET messages to join the clusterWaiting for the cluster to join.......>>> Performing Cluster Check (using node 127.0.0.1:7000)M: d8bf7d3d9f38c7616e6347a5a2d054d8fa978397 127.0.0.1:7000 slots:0-5460 (5461 slots) masterM: 6fc3ec10d8c2f472509c470faff2b111f37f7eea 127.0.0.1:7001 slots:5461-10922 (5462 slots) masterM: 889968778bf2780e9fe9f1ea89057f3bad0f5675 127.0.0.1:7002 slots:10923-16383 (5461 slots) masterM: 0584aa26b3fd35bbe8b03a25b2f51e99c89ae82e 127.0.0.1:7003 slots: (0 slots) master replicates d8bf7d3d9f38c7616e6347a5a2d054d8fa978397M: a62f3805aa998b9721e66d36c62d2c0b50b74288 127.0.0.1:7004 slots: (0 slots) master replicates 6fc3ec10d8c2f472509c470faff2b111f37f7eeaM: e430fb63fce30514d4c4534f0e3e32b3287925bb 127.0.0.1:7005 slots: (0 slots) master replicates 889968778bf2780e9fe9f1ea89057f3bad0f5675[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.
测试:
redis-cli -c -p 7000[root@localhost 7005]# redis-cli -c -p 7000127.0.0.1:7000> sadd sq 123-> Redirected to slot [13244] located at 127.0.0.1:7002(integer) 1127.0.0.1:7002> keys sq1) "sq"127.0.0.1:7002> keys *1) "sq"127.0.0.1:7002> smembers sq1) "123"
1 0
- redis 集群
- redis集群
- Redis集群
- Redis 集群
- redis集群
- Redis 集群
- redis 集群
- redis 集群
- redis集群
- Redis 集群
- Redis集群
- Redis集群
- redis 集群
- Redis 集群
- redis集群
- redis 集群
- Redis集群
- redis集群
- NRT日志系统:flume+morphline+solr+hue配置
- 关于java的几个名词
- SQL中的cast和convert的用法和区别
- monkeytalk 启动、关闭 android应用程序 解决方法
- 优化memcache占用CPU太高
- redis集群
- 将eclipse代码导入到Android Studio
- 在 Eclipse 中通过 SSH 密钥登录远程服务器
- web工程引入Spring
- SiteMesh+Freemarker
- Android中如何禁用其他应用,并且不在桌面显示
- java基础总结 --- 泛型 擦除、边界、通配符、
- HDU 5626 Clarke and points 求平面最远哈曼顿距离
- CSS中bottom与margin-bottom的区别