首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clientSecurity运行失败的地理代码示例

clientSecurity运行失败的地理代码示例
EN

Stack Overflow用户
提问于 2019-11-18 00:42:52
回答 3查看 119关注 0票数 0

版本1.10,clientSecurity的Apache geode示例

当我构建项目并执行“start”任务时,GemFireSecurityException总是在启动服务器时发生。甚至我也可以在build/resources/main/目录中找到文件"example_security.json“。

定位器可以找到文件,但是服务器找不到,为什么?

代码语言:javascript
复制
> Task :clientSecurity:start
1. Executing - start locator --name=locator --bind-address=127.0.0.1 --connect=false  --security-properties-file=******** --classpath=../build/resources/main/

........
Locator in C:\Users\kenneth\Desktop\geode-examples-master\clientSecurity\locator on 127.0.0.1[10334] as locator is currently online.
2. Executing - start server --name=server1 --locators=127.0.0.1[10334]  --classpath=../build/resources/main/:../build/classes/java/main/  --security-properties-file=******** --server-port=0  --user=superUser --password=********

...The Cache Server process terminated unexpectedly with exit status 1. Please refer to the log file in C:\Users\kenneth\Desktop\geode-examples-master\clientSecurity\server1 for full details.

Exception in thread "main" org.apache.geode.security.GemFireSecurityException: ExampleSecurityManager: unable to find json resource "example_security.json" as specified by [security-json].
    at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:842)
    at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:732)
    at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:251)


************************* Execution Summary ***********************
Script file: C:\Users\kenneth\Desktop\geode-examples-master\clientSecurity\scripts\start.gfsh

Command-1 : start locator --name=locator --bind-address=127.0.0.1 --connect=false  --security-properties-file=example_security.properties --classpath=../build/resources/main/
Status    : PASSED

Command-2 : start server --name=server1 --locators=127.0.0.1[10334]  --classpath=../build/resources/main/:../build/classes/java/main/  --security-properties-file=./example_security.properties --server-port=0  --user=superUser --password=123
Status    : FAILED
EN

回答 3

Stack Overflow用户

发布于 2019-11-18 19:32:39

我刚刚在本地尝试过这个方法,它工作得很好,下面是执行输出:

代码语言:javascript
复制
user@localhost~/git/geode-examples ((rel/v1.10.0)): cd clientSecurity/
user@localhost~/git/geode-examples/clientSecurity ((rel/v1.10.0)): ../gradlew build

> Task :clientSecurity:compileJava
Note: /Users/user/git/geode-examples/clientSecurity/src/main/java/org/apache/geode_examples/clientSecurity/ExampleAuthInit.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

BUILD SUCCESSFUL in 17s
5 actionable tasks: 4 executed, 1 up-to-date
user@localhost~/git/geode-examples/clientSecurity ((rel/v1.10.0)): ../gradlew start

> Task :clientSecurity:start
1. Executing - start locator --name=locator --bind-address=127.0.0.1 --connect=false  --security-properties-file=******** --classpath=../build/resources/main/

......
Locator in /Users/user/git/geode-examples/clientSecurity/locator on 127.0.0.1[10334] as locator is currently online.
Process ID: 3103
Uptime: 8 seconds
Geode Version: 1.10.0
Java Version: 1.8.0_221
Log File: /Users/user/git/geode-examples/clientSecurity/locator/locator.log
JVM Arguments: -DgemfireSecurityPropertyFile=/Users/user/git/geode-examples/clientSecurity/example_security.properties -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /Users/user/git/geode-examples/build/apache-geode-1.10.0/lib/geode-core-1.10.0.jar:../build/resources/main/:/Users/user/git/geode-examples/build/apache-geode-1.10.0/lib/geode-dependencies.jar

2. Executing - start server --name=server1 --locators=127.0.0.1[10334]  --classpath=../build/resources/main/:../build/classes/java/main/  --security-properties-file=******** --server-port=0  --user=superUser --password=********

...==========-> 94% EXECUTING [11s]
Server in /Users/user/git/geode-examples/clientSecurity/server1 on 10.255.203.195[50649] as server1 is currently online.
Process ID: 3119
Uptime: 3 seconds
Geode Version: 1.10.0
Java Version: 1.8.0_221
Log File: /Users/user/git/geode-examples/clientSecurity/server1/server1.log
JVM Arguments: -DgemfireSecurityPropertyFile=/Users/user/git/geode-examples/clientSecurity/./example_security.properties -Dgemfire.locators=127.0.0.1[10334] -Dgemfire.security-username=superUser -Dgemfire.start-dev-rest-api=false -Dgemfire.security-password=******** -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /Users/user/git/geode-examples/build/apache-geode-1.10.0/lib/geode-core-1.10.0.jar:../build/resources/main/:../build/classes/java/main/:/Users/user/git/geode-examples/build/apache-geode-1.10.0/lib/geode-dependencies.jar

3. Executing - start server --name=server2 --locators=127.0.0.1[10334]  --classpath=../build/resources/main/:../build/classes/java/main/  --security-properties-file=******** --server-port=0  --user=superUser --password=********

...
Server in /Users/user/git/geode-examples/clientSecurity/server2 on 10.255.203.195[50674] as server2 is currently online.
Process ID: 3120
Uptime: 3 seconds
Geode Version: 1.10.0
Java Version: 1.8.0_221
Log File: /Users/user/git/geode-examples/clientSecurity/server2/server2.log
JVM Arguments: -DgemfireSecurityPropertyFile=/Users/user/git/geode-examples/clientSecurity/./example_security.properties -Dgemfire.locators=127.0.0.1[10334] -Dgemfire.security-username=superUser -Dgemfire.start-dev-rest-api=false -Dgemfire.security-password=******** -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /Users/user/git/geode-examples/build/apache-geode-1.10.0/lib/geode-core-1.10.0.jar:../build/resources/main/:../build/classes/java/main/:/Users/user/git/geode-examples/build/apache-geode-1.10.0/lib/geode-dependencies.jar

4. Executing - connect --user=superUser --password=******** --use-ssl=true    --key-store=keystore.jks --key-store-password=********    --trust-store=truststore.jks --trust-store-password=********

Connecting to Locator at [host=localhost, port=10334] ..
Connecting to Manager at [host=10.255.203.195, port=1099] ..
Successfully connected to: [host=10.255.203.195, port=1099]

5. Executing - create region --name=region1 --type=REPLICATE

Member  | Status | Message
------- | ------ | --------------------------------------
server1 | OK     | Region "/region1" created on "server1"
server2 | OK     | Region "/region1" created on "server2"

Cluster configuration for group 'cluster' is updated.

6. Executing - create region --name=region2 --type=PARTITION

Member  | Status | Message
------- | ------ | --------------------------------------
server1 | OK     | Region "/region2" created on "server1"
server2 | OK     | Region "/region2" created on "server2"

Cluster configuration for group 'cluster' is updated.

************************* Execution Summary ***********************
Script file: /Users/user/git/geode-examples/clientSecurity/scripts/start.gfsh

Command-1 : start locator --name=locator --bind-address=127.0.0.1 --connect=false  --security-properties-file=example_security.properties --classpath=../build/resources/main/
Status    : PASSED

Command-2 : start server --name=server1 --locators=127.0.0.1[10334]  --classpath=../build/resources/main/:../build/classes/java/main/  --security-properties-file=./example_security.properties --server-port=0  --user=superUser --password=123
Status    : PASSED

Command-3 : start server --name=server2 --locators=127.0.0.1[10334]  --classpath=../build/resources/main/:../build/classes/java/main/  --security-properties-file=./example_security.properties --server-port=0  --user=superUser --password=123
Status    : PASSED

Command-4 : connect --user=superUser --password=123 --use-ssl=true    --key-store=keystore.jks --key-store-password=password    --trust-store=truststore.jks --trust-store-password=password
Status    : PASSED

Command-5 : create region --name=region1 --type=REPLICATE
Status    : PASSED

Command-6 : create region --name=region2 --type=PARTITION
Status    : PASSED


BUILD SUCCESSFUL in 28s
8 actionable tasks: 2 executed, 6 up-to-date
user@localhost~/git/geode-examples/clientSecurity ((rel/v1.10.0)): ../gradlew stop

> Task :clientSecurity:stop
1. Executing - connect --locator=127.0.0.1[10334] --user=superUser --password=******** --use-ssl=true     --key-store=./keystore.jks --key-store-password=********     --trust-store=./truststore.jks --trust-store-password=********

Connecting to Locator at [host=127.0.0.1, port=10334] ..
Connecting to Manager at [host=10.255.203.195, port=1099] ..
Successfully connected to: [host=10.255.203.195, port=1099]

2. Executing - shutdown --include-locators=true

Shutdown is triggered

************************* Execution Summary ***********************
Script file: /Users/user/git/geode-examples/clientSecurity/scripts/stop.gfsh

Command-1 : connect --locator=127.0.0.1[10334] --user=superUser --password=123 --use-ssl=true     --key-store=./keystore.jks --key-store-password=password     --trust-store=./truststore.jks --trust-store-password=password
Status    : PASSED

Command-2 : shutdown --include-locators=true
Status    : PASSED


BUILD SUCCESSFUL in 3s
2 actionable tasks: 1 executed, 1 up-to-date
user@localhost~/git/geode-examples/clientSecurity ((rel/v1.10.0)): 

我已经在MacOS上试过了,我注意到你用的是Windows,也许问题是由start.gfsh脚本中使用的路径分隔符引起的?

您是否可以将geode-examples\clientSecurity\scripts下的脚本更改为使用完整路径并进行尝试?

票数 0
EN

Stack Overflow用户

发布于 2019-11-19 11:37:58

我更改为定位器和服务器的完整路径,以下是所有输出:

代码语言:javascript
复制
PS C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security> C:\Users\hw83770\Documents\pivotal-gemfire-9.8.0\bin\gfsh.bat run --file=.\scripts\start.gfsh
1. Executing - start locator --name=clocator --bind-address=127.0.0.1 --connect=false  --security-properties-file=******** --classpath=C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\build\resources\main

......
Locator in C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\clocator on 127.0.0.1[10334] as clocator is currently online.
Process ID: 28816
Uptime: 7 seconds
Geode Version: 9.8.0
Java Version: 1.8.0_161
Log File: C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\clocator\clocator.log
JVM Arguments: -DgemfireSecurityPropertyFile=C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\example_security.properties -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: C:\Users\hw83770\Documents\pivotal-gemfire-9.8.0\lib\geode-core-9.8.0.jar;C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\build\resources\main;C:\Users\hw83770\Documents\pivotal-gemfire-9.8.0\lib\geode-dependencies.jar;C:\Users\hw83770\Documents\pivotal-gemfire-9.8.0\extensions\gemfire-greenplum-3.4.1.jar

2. Executing - start server --name=cserver1 --locators=127.0.0.1[10334]  --classpath=C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\build\resources\main:C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\build\classes\java\main   --security-properties-file=******** --server-port=0  --user=superUser --password=********

...The Cache Server process terminated unexpectedly with exit status 1. Please refer to the log file in C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\cserver1 for full details.

Exception in thread "main" org.apache.geode.security.GemFireSecurityException: ExampleSecurityManager: unable to find json resource "example_security.json" as specified by [security-json].
        at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:824)
        at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:716)
        at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:236)


************************* Execution Summary ***********************
Script file: .\scripts\start.gfsh


Command-1 : start locator --name=clocator --bind-address=127.0.0.1 --connect=false  --security-properties-file=example_security.properties --classpath=C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\build\resources\main
Status    : PASSED




Command-2 : start server --name=cserver1 --locators=127.0.0.1[10334]  --classpath=C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\build\resources\main:C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\build\classes\java\main   --security-properties-file=./example_security.properties --server-port=0  --user=superUser --password=123
Status    : FAILED

另外,上面写着

代码语言:javascript
复制
1. Please refer to the log file in C:\Users\hw83770\git\frameworkpoc\rio-geode-cli\client-security\cserver1 for full details

实际上,没有任何日志文件,而且我不熟悉geode的源代码,所以不知道如何处理这个问题。

我正在做geode的POC工作,我们的团队需要确保geode支持客户端和端点的安全,这是非常重要的,所以我在这里寻求一些帮助。

票数 0
EN

Stack Overflow用户

发布于 2019-11-19 16:49:15

我仍然相信这个问题是由环境中的问题引起的,特别是类路径。正如您看到的herestart.gfsh脚本将成员的classpath设置为包含../build/resources/main/,这与使用Gradle构建项目后example_security.json文件所在的文件夹完全相同。

我刚刚注意到,在您的代码片段的最开始处,您有C:\Users\hw83770\Documents\pivotal-gemfire-9.8.0\bin\gfsh.bat run --file=.\scripts\start.gfsh...为什么呢?根据instructions,您应该在clientSecurity目录下执行$ ../gradlew start。使用C:\Users\hw83770\Documents\pivotal-gemfire-9.8.0\bin\gfsh.bat run --file=.\scripts\start.gfsh基本上改变了执行脚本的文件夹,因此,../build/resources/main/不再指向它应该指向的内容,这可能是该示例失败的原因。

最后,但并非最不重要的一点是,你不能将 Pivotal GemFireApache Geode混为一谈,否则事情可能不会像预期的那样工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58902747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档