Я пытаюсь понять, как можно запускать приложения Hadoop с помощью Gridgain в одном контексте JVM, используя ускоритель в памяти.
Я видел несколько подсказок о том, как это можно сделать программно, например, в здесь. Однако после попытки запустить этот пример в eclipse возникла эта ошибка:
Exception in thread "main" class org.gridgain.grid.GridIllegalStateException: Grid instance was not properly started or was already stopped: jvm-node-0
at org.gridgain.grid.kernal.GridGainEx.grid(GridGainEx.java:995)
at org.gridgain.grid.GridGain.grid(GridGain.java:395)
at test.GridJvmCloudExample.main(GridJvmCloudExample.java:66)
Единственное изменение, которое я сделал, - это изменение строки 38 на GridConfiguration cfg = new GridConfiguration();
. Есть какие-нибудь подсказки о том, что я могу сделать? Надо сказать, что в то время не было запущено ни одного другого узла.
Но моя цель - использовать скрипты. Другими словами, чтобы запустить GridGain как bin / ggstart.sh, запустив несколько узлов с одной и той же JVM. Есть ли способ сделать это? Я использую версию 6.6.4.
Заранее спасибо!
2 ответа
Я попытался запустить пример, и он у меня работает. Эта ошибка на самом деле означает, что по крайней мере один из узлов (с именем jvm-node-0
) не запустился. Я думаю, что во время запуска было какое-то исключение, которое не было показано, потому что оно выполнялось в пуле потоков. Я предлагаю окружить вызов G.start(cfg)
try-catch и распечатать трассировку стека.
Что касается запуска из сценариев, вы можете создать свой собственный основной класс, который будет запускать нужные вам узлы (как это сделано в примере) и установить его полное имя в переменной среды MAIN_CLASS
. ggstart.sh
будет автоматически использовать его вместо основного класса по умолчанию, который всегда запускает только один узел на виртуальную машину.
Кроме того, я бы предложил перейти на Aapche Ignite, поскольку выпуск GridGain с открытым исходным кодом был передан ASF.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.