redis集群搭建步骤[在linux模拟搭建]
来源:互联网 发布:盛世投资 知乎 编辑:程序博客网 时间:2024/06/01 21:34
1.先在linux安装redis,具体可以参考:
Linux下redis的安装以及使用
2.本次搭建需要6台服务器,由于虚拟机不能开太多,所以就在一台虚拟机上搭建6台服务器,是一个为分布式.
在安装redis完成之后,使用以下命令:
cp -r redis/bin redis-cluster/redis01
然后使用 ll命令查看所有文件
将这个快照文件删除
rm -rf dump.rdb
然后编辑redis.conf文件
vim redis.conf
大概在45行的位置,将端口号改为7001
大概在633行将cluster-enabled yes打开
然后复制多份redis01文件,分别将redis.conf文件中的端口号改为7002,7003,7004,7005,7006
cp -r redis01/ redis02cp -r redis01/ redis03cp -r redis01/ redis04cp -r redis01/ redis05cp -r redis01/ redis06
然后创建一个批处理文件,统一开启所有的服务
vim start-all.sh
里面的内容为:
cd redis01./redis-server redis.confcd..cd redis02./redis-server redis.confcd..cd redis03./redis-server redis.confcd..cd redis04./redis-server redis.confcd..cd redis05./redis-server redis.confcd..cd redis06./redis-server redis.confcd..
退出保存,然后修改start-all.sh文件的权限,让其可执行
chmod +x start-all.sh
然后就可以执行这个文件了
./start-all.sh
使用下面这个命令查看是否启动
ps aux |grep redis
2.集群搭建环境
1、使用ruby脚本搭建集群。需要ruby的运行环境。安装ruby
yum install rubyyum install rubygems
然后将这个文件上传到根目录下
在根目录下找到redis-3.0.0.gem文件,然后安装ruby脚本运行使用的包。
gem install redis-3.0.0.gem
然后进入到redis安装目录下的src目录下
cd redis-3.0.0/src
找到.rb文件,将其复制到redis-cluster文件夹下
cp *.rb /usr/local/redis-cluster/
然后使用以下这个命令创建集群 (192.168.254.128为服务器的ip地址,7001-7006位端口号)
./redis-trib.rb create --replicas 1 192.168.254.128:7001 192.168.254.128:7002 192.168.254.128:7003 192.168.254.128:7004 192.168.254.128:7005 192.168.254.128:7006
然后会生成一大串东西,不用管.直到看到这个[OK] All 16384 slots covered.证明搭建成功了.
>>> Creating clusterConnecting to node 192.168.254.128:7001: OKConnecting to node 192.168.254.128:7002: OKConnecting to node 192.168.254.128:7003: OKConnecting to node 192.168.254.128:7004: OKConnecting to node 192.168.254.128:7005: OKConnecting to node 192.168.254.128:7006: OK>>> Performing hash slots allocation on 6 nodes...Using 3 masters:192.168.254.128:7001192.168.254.128:7002192.168.254.128:7003Adding replica 192.168.254.128:7004 to 192.168.254.128:7001Adding replica 192.168.254.128:7005 to 192.168.254.128:7002Adding replica 192.168.254.128:7006 to 192.168.254.128:7003M: a0095a091cecdb4e341bf812e63152d1bc77e4dc 192.168.254.128:7001 slots:0-5460 (5461 slots) masterM: 5a361790bcfb83892b8440fa39d99ffeb0e6d13e 192.168.254.128:7002 slots:5461-10922 (5462 slots) masterM: 48c268389b581505e71bea67d8afa7209c158ec0 192.168.254.128:7003 slots:10923-16383 (5461 slots) masterS: efe542c6210cbdc9e757596585012f0c953aebfd 192.168.254.128:7004 replicates a0095a091cecdb4e341bf812e63152d1bc77e4dcS: 53e665f942ef30e63975246ad4bb6d82f1a565e2 192.168.254.128:7005 replicates 5a361790bcfb83892b8440fa39d99ffeb0e6d13eS: eee775e1e2d14ca407d4e88be677b847d2073bf1 192.168.254.128:7006 replicates 48c268389b581505e71bea67d8afa7209c158ec0Can 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 192.168.254.128:7001)M: a0095a091cecdb4e341bf812e63152d1bc77e4dc 192.168.254.128:7001 slots:0-5460 (5461 slots) masterM: 5a361790bcfb83892b8440fa39d99ffeb0e6d13e 192.168.254.128:7002 slots:5461-10922 (5462 slots) masterM: 48c268389b581505e71bea67d8afa7209c158ec0 192.168.254.128:7003 slots:10923-16383 (5461 slots) masterM: efe542c6210cbdc9e757596585012f0c953aebfd 192.168.254.128:7004 slots: (0 slots) master replicates a0095a091cecdb4e341bf812e63152d1bc77e4dcM: 53e665f942ef30e63975246ad4bb6d82f1a565e2 192.168.254.128:7005 slots: (0 slots) master replicates 5a361790bcfb83892b8440fa39d99ffeb0e6d13eM: eee775e1e2d14ca407d4e88be677b847d2073bf1 192.168.254.128:7006 slots: (0 slots) master replicates 48c268389b581505e71bea67d8afa7209c158ec0[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.
3.使用redis-cli连接集群
redis01/redis-cli -p 7002 -c
-c:代表连接的是redis集群
下面这个命令是查看集群的信息:
cluster info
cluster nodes命令查看节点的信息
4.使用JedisCluster连接集群
@Test public void testJedisCluster() throws Exception { // 第一步:使用JedisCluster对象。需要一个Set<HostAndPort>参数。Redis节点的列表。 Set<HostAndPort> nodes = new HashSet<>(); nodes.add(new HostAndPort("192.168.254.128", 7001)); nodes.add(new HostAndPort("192.168.254.128", 7002)); nodes.add(new HostAndPort("192.168.254.128", 7003)); nodes.add(new HostAndPort("192.168.254.128", 7004)); nodes.add(new HostAndPort("192.168.254.128", 7005)); nodes.add(new HostAndPort("192.168.254.128", 7006)); JedisCluster jedisCluster = new JedisCluster(nodes); // 第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。 jedisCluster.set("cluster-test01", "1008611"); String result = jedisCluster.get("cluster-test01"); // 第三步:打印结果 System.out.println(result); // 第四步:系统关闭前,关闭JedisCluster对象。 jedisCluster.close(); }
阅读全文
1 0
- redis集群搭建步骤[在linux模拟搭建]
- redis集群搭建步骤
- redis集群搭建步骤
- redis集群搭建详细步骤
- linux搭建redis集群
- linux 搭建redis集群
- 4.Redis主从复制集群搭建步骤
- Linux环境redis集群搭建
- linux搭建redis集群测试
- linux +redis cluster 集群搭建
- Linux中搭建Redis集群
- Linux redis集群环境搭建
- linux系统搭建redis集群
- 虚拟机模拟搭建Redis集群环境
- Redis在windows下集群搭建
- 在centos7下搭建redis集群
- Linux——搭建Redis集群
- Linux Redis集群搭建与简单使用
- Ubuntu下Eclipse中文乱码解决
- 正旋波到同频率方波
- JavaScript进阶实战 ---> tab页
- linux源码 网络包接收--从中断到协议栈
- 不知道写个什么,就写个利用for循环打印空心菱形当笔记
- redis集群搭建步骤[在linux模拟搭建]
- 单链表的相关操作
- 问题 C(D): Josephus问题(Ⅰ) (Ⅱ)
- 几款Golang IDE对比
- 猜数字游戏
- <Python learning> 题总结
- C++标准IO操作
- 学习Linux命令(50)
- CxImage 702 在VS2015 编译和使用