Apache Ignite初学者的简单核对表

如果您是第一次运行Apache Ignite,则可能会遇到一些困难。您刚刚下载了Apache Ignite,运行了几次,并遇到了一些问题。大多数情况下,这些问题以类似的方式解决。因此,我决定创建一个清单,提供建议以帮助您避免开发环境中的问题。

1.配置文件
当Ignite通过执行ignite.sh|bat 文件以独立模式启动时,Ignite将使用 $IGNITE_HOME/config/default-config.xml 配置文件。在这种情况下,要从Visor命令行控制台连接到指定节点,应从配置文件列表中选择default-config.xml文件。大多数情况下,default-config.xml文件是列表中的第一个文件。

您必须运行以下命令以使用您自己的Spring配置文件执行Ignite节点:

{IGNITE_HOME} / bin / ignite。{bat | sh} FILE_PATH / my-ignite-example.xml
或者将my-ignite-example.xml文件复制到 $IGNITE_HOME/example/config 目录中并执行以下 ignite.{bat|sh} 命令:

{IGNITE_HOME} / bin / ignite。{bat | sh} examples / config / my-ignite-example.xml

  1. 港口

默认情况下,Ignite使用以下本地端口:

TCP / UDP

端口号

描述

TCP

10800

瘦客户端连接的默认端口

TCP

11211

默认JDBC端口

TCP

47100

默认本地通信端口

UDP

47400

TCP

47500

默认本地发现端口

TCP

8080

REST API的默认端口

TCP

49128

JMX连接的默认端口

TCP

31100〜31200

默认时间服务器端口

TCP

48100〜48200

默认共享内存端口

如果您使用Docker /虚拟机启动并运行Ignite节点,则应打开上述端口以与主机进行通信。

Apache Ignite Book

本文的部分内容摘自“ The Apache Ignite”一书。如果它让您感兴趣,请查看本书的其余部分以获取更多有用的信息。

3.日志
日志文件跟踪运行Ignite时发生的事件。日志文件对于了解Ignite应用程序发生的情况非常有用。如果您遇到问题,并在Ignite论坛中询问问题,首先,系统会要求您提供日志文件。默认情况下启用Ignite日志记录,但存在一些缺点。在默认模式下,Ignite在控制台(stdout)上写入的记录信息并不多。在控制台中,您只能看到错误; 其他一切都将传递给文件。$IGNITE_HOME/work/log默认情况下,Ignite日志文件位于目录中。不要删除日志文件并尽可能长时间保存日志,因为这对于调试任何严重错误都很方便。

但是,如果要在不分析日志文件的情况下快速找到问题,可以在详细模式下执行Ignite。

$ ignite .sh -v
在详细模式下,Ignite会在控制台和文件中写入所有日志记录信息。请注意,Ignite在详细模式下运行缓慢,建议不要在生产环境中使用它。

4.网络
如果您遇到奇怪的网络错误,例如,如果网络无法连接或无法发送消息,那么很多时候您很可能会遇到IPv6网络问题。不能说Ignite不支持IPv6协议,但此时有一些具体问题。最简单的解决方案是禁用IPv6协议。要禁用IPv6协议,可以将Java选项或属性传递给JVM,如下所示:

-Djava .net .preferIPv4Stack = true
上述JVM选项强制Ignite使用IPv4协议,并解决了与网络相关的大部分问题。

  1. 幽灵节点

许多人在发布新的Ignite节点时多次遇到的最常见问题之一。您刚刚执行了单个节点,并且遇到拓扑中已经有两个服务器Ignite节点。大多数情况下,如果您正在使用家庭办公网络,并且您的某个学院也同时运行Ignite服务器节点,则可能会发生这种情况。事实是,默认情况下,Ignite使用多播协议来发现其他节点并与之通信。在启动期间,Ignite会搜索位于同一个多播组中并位于同一子网中的所有其他节点。此外,如果是,它会尝试连接到节点。

避免这种情况的最简单方法是配置静态IP而不是 TcpDiscoveryMulti- castIpFinder。因此,请使用 TcpDiscoveryVmIpFinder 并记下要连接的所有IP地址和端口。这些特定配置可帮助您保护开发环境中的ghost节点。

  1. 基线拓扑

版本2.4.0中引入了Ignite基线拓扑,并成为通过本机持久性保护数据持久性的便捷方式。但是,Ignite基线拓扑有什么问题?要回答这个问题,让我们想象以下场景:

我们已经启动了一个具有本机持久性启用的Ignite节点(数据将写入磁盘)。
我们激活了集群,因为我们为节点启用了本机持久性。
我们创建了一个REPLICATED缓存并在其上加载了一些数据。
接下来,我们再启动两个节点并开始使用数据进行操作,插入/删除一些数据。
此时,每个节点都包含数据的完整副本并且运行良好。过了一会儿,我们决定重新启动其中一个节点。如果我们停止从中开始的第一个节点,那么一切都会中断,数据就会丢失。这种奇怪行为的原因是Ignite基线拓扑,一组存储持久性数据的服务器节点。在其余节点中,数据将不会保留。

在激活群集时第一次确定一组服务器节点。因此,稍后添加的其余服务器节点将不再包含在基线拓扑中。因此,在我们的示例中,基线拓扑的集合仅包含一个服务器节点,并且此节点将数据保留在磁盘上。每当您停止此服务器节点时,一切都会中断。因此,为了防止这种意外,首先启动所有群集节点,然后才激活群集。

因此,我们可以为初学者指出以下候选名单:

ñ
看看这个。

1
使用正确的配置文件通过Ignite Visor进行连接。

2
打开需要使用Ignite节点的端口。

3
配置和读取日志。

4
避免使用IPv6。


在家庭办公网络上使用TcpDiscoveryVmIpFinder。

6
跟踪基线拓扑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值