Gemfire - 无法启动定位器
Gemfire - Cannot start locator
我正在尝试使用 gfsh 启动定位器,但我一直发现无法找到主 class。
我是运行这个:gfsh start locator --name=locator1
在此之后我得到以下错误:
Error: Could not find or load main class com.gemstone.gemfire.distributed.LocatorLauncher
对我来说,这意味着在 class 找到该 jar 的路径上缺少某些东西。我的 classpath 上有这些:
export JAVA_HOME=/Java/jdk1.8.0_111
export GEMFIRE=/Pivotal_GemFire_822
export GF_JAVA=$JAVA_HOME/bin/java
(我缩写了路径)
设置文档还说您需要 tools.jar 包含在 class 路径中的 JDK 中。我这样做了,但没有任何区别。我认为无论如何都会包含在 JAVA_HOME 中。
一些事情...
- 我假设 "root" 中的
Pivotal_GemFire_822
安装 (?) 是一个完整的完整发行版(即从 Pivotal 的网络... PivNet 下载)?
com.gemstone.gemfire.distributed.LocatorLauncher
class 包含在 $GEMFIRE/lib/gemfire.jar
中。确保 gemfire.jar
存在并且您可以在 JAR 文件中找到此 class(使用 jar -tvf $GEMFIRE/lib/gemfire.jar | less
然后在 (:
) 中搜索“LocatorLauncher
”)。
- 还要确保您的 $GEMFIRE 环境变量确实在当前 shell 会话中设置...
$回声$GEMFIRE
如果您没有看到任何返回值,那么您需要获取包含导出的 shell 文件,例如$source ~/.bash_profile
.
确保正确设置了 GemFire 安装的文件系统权限。如果你有 GemFire 8.2.2。安装在您的主目录下 (/home/<user>
) 那么这应该不是问题。
至于JDKtools.jar
。默认情况下,这不包含在 class 路径中。旧的 Apple JDK 6(不再受 Apple 支持)在 Apple JVM class 路径上包含 tools.jar classes,但常规 Sun/Oracle JDKs 没有。另请注意,与 JDK 不同,JRE 在发行版中没有 tools.jar。但是,从技术上讲,从 GemFire 8.1 或 8.2 开始,它也不是严格要求的。
如果以上都成立,那么您应该可以顺利启动定位器。请检查这些内容,如果问题仍然存在,请告诉我们。
有关 Gfsh 脚本在 shell 启动之前执行的操作以及启动定位器的操作的真正详细技术信息,请参阅 this and this。
希望这对您有所帮助。
-约翰
我正在尝试使用 gfsh 启动定位器,但我一直发现无法找到主 class。
我是运行这个:gfsh start locator --name=locator1
在此之后我得到以下错误:
Error: Could not find or load main class com.gemstone.gemfire.distributed.LocatorLauncher
对我来说,这意味着在 class 找到该 jar 的路径上缺少某些东西。我的 classpath 上有这些:
export JAVA_HOME=/Java/jdk1.8.0_111
export GEMFIRE=/Pivotal_GemFire_822
export GF_JAVA=$JAVA_HOME/bin/java
(我缩写了路径)
设置文档还说您需要 tools.jar 包含在 class 路径中的 JDK 中。我这样做了,但没有任何区别。我认为无论如何都会包含在 JAVA_HOME 中。
一些事情...
- 我假设 "root" 中的
Pivotal_GemFire_822
安装 (?) 是一个完整的完整发行版(即从 Pivotal 的网络... PivNet 下载)?
com.gemstone.gemfire.distributed.LocatorLauncher
class 包含在 $GEMFIRE/lib/gemfire.jar
中。确保 gemfire.jar
存在并且您可以在 JAR 文件中找到此 class(使用 jar -tvf $GEMFIRE/lib/gemfire.jar | less
然后在 (:
) 中搜索“LocatorLauncher
”)。
- 还要确保您的 $GEMFIRE 环境变量确实在当前 shell 会话中设置...
$回声$GEMFIRE
如果您没有看到任何返回值,那么您需要获取包含导出的 shell 文件,例如$source ~/.bash_profile
.
确保正确设置了 GemFire 安装的文件系统权限。如果你有 GemFire 8.2.2。安装在您的主目录下 (
/home/<user>
) 那么这应该不是问题。至于JDK
tools.jar
。默认情况下,这不包含在 class 路径中。旧的 Apple JDK 6(不再受 Apple 支持)在 Apple JVM class 路径上包含 tools.jar classes,但常规 Sun/Oracle JDKs 没有。另请注意,与 JDK 不同,JRE 在发行版中没有 tools.jar。但是,从技术上讲,从 GemFire 8.1 或 8.2 开始,它也不是严格要求的。
如果以上都成立,那么您应该可以顺利启动定位器。请检查这些内容,如果问题仍然存在,请告诉我们。
有关 Gfsh 脚本在 shell 启动之前执行的操作以及启动定位器的操作的真正详细技术信息,请参阅 this and this。
希望这对您有所帮助。
-约翰