基于Zookeeper的Ignite节点发现与管理实战指南

创始人
2024-12-19 17:50:07
0 次浏览
0 评论

python爬虫,集群是如何实现节点的发现和管理

Ignite集群管理-基于Zookeeper的节点发现

Ignite支持基于组播、静态IP、Zookeeper、JDBC等的节点发现。
本文主要介绍基于Zookeeper的节点发现。

环境准备,两台笔记本电脑A、B,A笔记本电脑使用VMware虚拟机安装Ubuntu系统C。

1在C中安装Zookeeper

由于主要目的是测试Ignite,所以这里我们只安装一个zookeeper节点。
Zookeeper目录中的zkServer.shstart命令接下来,zookeeper启动。

检查Ubuntu系统C的IP地址为192.168.1.104,默认的zookeeper端口为12181。

注意:网络适配器这里的VMware虚拟机必须是桥接模式,否则机器A无法访问虚拟机。

2系统A正在运行Ignite节点1;

代码中粗体部分是Ignite注册代码,非常简单。

3。
系统B正在运行Ignite节点2;

packagecom.coshaho.learn.ignite.cluster;importorg.apache.ignite.Ignite;importorg.apache.ignite.IgniteCache;importorg.apache.ignite.Ignition;导入org.apache.ignite.cache。
CacheMode;importorg.apache.ignite.configuration.CacheConfiguration;importorg.apache.ignite.configuration.IgniteConfiguration;importorg.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;importorg.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder;publicclassIgniteCluster02{publicstaticvoidmain(String[]args){TcpDiscoverySpis​​pi=newTcpDiscoverySpi();TcpDiscoveryZookeeperIpFinderipFinder=newTcpDiscoveryZookeeperIpFinder(//指定ZooKeeper连接string.ipFinder.setZkConnectionString("192.168.1.104:12181");spi.setIpFinder(ipFinder);newIgniteConfiguration故障发现SPI();cfg.setDiscoverySpi(spi);//StartIgnitenode.Igniteignite=Ignition.start(cfg);System.out.println("IgniteCluster2startOK.");CacheConfigurationcacheCfg=newCacheConfiguration();cacheCfg.setBackups(1);cacheCfg.setCacheMode(CacheMode.PARTITIONED);cacheCfg.setName("myCache");IgniteCachecache=ignite.getOrCreateCache(cacheCfg);cache.put(2,"ignite2");System.out.println(cache.get(1));System.out.println(cache.get(2));}}

可以看到,Ignite节点2可以访问Ignite节点1的缓存数据。

zookeeper在哪些系统中使用,又是怎么用的?

Zookeeper作为分布式应用协调系统,广泛应用于多个系统,主要用于统一预约服务、状态同步服务、集群管理、模式管理、位置支持等关键服务。
kazoo作为一个Python库,封装了zookeeper操作并提供了更高层的功能。
Zookeeper的主要操作包括创建、读取、更新和删除节点。
节点主要有四种类型:永久、自动顺序编号、临时和临时自动编号。
当一个大节点发生变化时,您可以关注一个节点或其所有子节点。
统一服务名称:在分布式系统中,使用zookeeper创建自动编号的节点,借助唯一ID来解决分配问题。
配置管理:多个节点共享配置信息。
当配置更新时,zookeeper通知节点重新加载配置。
集群管理:Zookeeper负责选择主机、监控节点变化、监督集群运行的稳定性。
Kazoo提供了简单的集群管理工具,例如封装。
资源位置:必须通过Zookeeper节点将资源状态变化通知服务,以便节点的操作能够及时响应。
共享块:实现方式与集群管理类似,创建临时节点并监控其状态。
kazoo提供锁管理封装,简化锁操作。
队列管理:Zookeeper是通过节点操作来管理队列功能的工具。
在使用zookeeper和kazoo时,需要注意观察者的正确使用机制,以避免出现问题和损失。
dataWatchkazoo简化了手表的使用,但仍需要根据具体情况进行平滑适配。
我个人的建议是,在某些情况下,使用防护机制可以让代码更加清晰,减少错误。
热门文章
1
SQL多表连接查询全解析:JOIN语句应... sql多表关联查询在执行SQL多表连接查询时,可以使用JOIN语句将多个表连接在...

2
Java中字符串类型详解:String与... 变量有字符类型,为什么没有字符串类型??基本类型:charshort、int、l...

3
JavaSE与JavaEE:从基础到企业... javase 和javaee的区别?JavaSE和JavaEE...

4
Java程序员面试必知:核心技术问答与技... java编程程序员技术面试常见面试?随着互联网的不断发展,Java开发已经成为很...

5
Java.exe与Javaw.exe:区... 程序中java和javaw有什么区别java和javaw的区别:两者都是Java...

6
深入解析:Java中的javax包及其与... JAVA导入时,什么是javax?awt是java1.0,swing是java2...

7
Java字符串处理与键盘输入、文件读取技... 编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个strAdd函...

8
大专生转行自学Java,迷茫时如何找到方... 我是大专生因没有好好学所以现在后悔了我想从事软件编程我正在自学java不知道怎么...

9
Java中Scanner类导入位置及使用... 在java中这句语言“importjava.util.Scanner;”是什么意...

10
Java数组倒序输出:排序后逆序存储方法... Java数组倒序输出?1.反转数组的方法有很多种,比如先排序,然后倒序存储pub...