Apache Ignite 启动失败

问题描述 投票:0回答:3

我已在独立模式下将 Ignite 配置为 writethrough mod cach。当启动失败并出现此异常时 它正在创建一个长文件名,Linux 不允许它创建该文件夹

Got exception while starting (will rollback startup routine).
class org.apache.ignite.IgniteCheckedException: Failed to start processor: GridProcessorAdapter []
    at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1787)
    at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1066)
    at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1757)
    at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1679)
    at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1121)
    at org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1015)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:921)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:840)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:710)
    at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:679)
    at org.apache.ignite.Ignition.start(Ignition.java:353)
    at org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to create page store work directory: /home/user/apache-ignite/work/db/0_0_0_0_0_0_0_1_lo_10_0_0_100_10_0_0_203_10_99_0_5_127_0_0_1_198_18_0_1_198_18_0_129_198_18_0_65_198_18_2_1_2604_3d09_679_2b00_0_0_0_1dc7_wlp0s20f3_2604_3d09_679_2b00_8332_15b9_3cd0_484_wlp0s20f3_2604_3d09_679_2b00_ae91_a1ff_fe7e_63ba_enxac91a17e63ba_2604_3d09_679_2b00_d986_6638_3c47_cd7c_wlp0s20f3_2604_3d09_679_2b00_e8bf_ac63_b39_630e_enxac91a17e63ba_47501
    at org.apache.ignite.internal.util.IgniteUtils.ensureDirectory(IgniteUtils.java:9971)
    at org.apache.ignite.internal.processors.cache.GridLocalConfigManager.<init>(GridLocalConfigManager.java:127)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.start(GridCacheProcessor.java:618)
    at org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1784)
    ... 11 more

我尝试配置一个由ignite读写的实体

ignite
3个回答
0
投票

目录的名称基于节点的“一致ID”。如果您不指定,它会根据您的 IP 地址和端口号创建一个。在您的情况下,创建的名称太长。

解决方法是定义您自己的一致 ID:

export IGNITE_OVERRIDE_CONSISTENT_ID=node00
bin/ignite.sh

(已经有一个关于此问题的 GitHub Issue。)


0
投票

我可以确认上面@stephen-darlington提出的解决方法。

另一种对服务器有利但对笔记本电脑或工作站上的本地环境不利的解决方法是禁用 RFC8981 临时 IPv6 地址。

另一种较重的解决方法可能适合本地沙箱环境:禁用 Java 对 IPv6 的使用:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

Ignite 项目中还有一个 Jira 票证涵盖了这一点。如果此问题影响您,请对 Jira 票证进行投票,并在票证评论中添加其他症状/影响/解决方法。

https://issues.apache.org/jira/browse/IGNITE-17985


0
投票

如果您使用二进制版本,您可能更喜欢使用 IPv4。

在文本编辑器中打开

ignite.sh
。 搜索并取消注释该行(见下文)并保存。

#
# Uncomment to set preference for IPv4 stack.
#
JVM_OPTS="${JVM_OPTS} -Djava.net.preferIPv4Stack=true"
© www.soinside.com 2019 - 2024. All rights reserved.