在Windows上,aws.greengrass.clientdevices.mqtt.EMQX出现故障。

0

【以下的问题经过翻译处理】 在Windows上,新的EMQX MQTT Broker (https://docs.aws.amazon.com/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)的基本部署失败了。

EMQX日志显示出现了Windows凭据错误:

2022-08-19T20:29:26.491Z [INFO] (pool-2-thread-63) aws.greengrass.clientdevices.mqtt.EMQX: shell-runner-start. {scriptName=services.aws.greengrass.clientdevices.mqtt.EMQX.lifecycle.startup.script, serviceName=aws.greengrass.clientdevices.mqtt.EMQX, currentState=STARTING, command=["C:\greengrass\v2\packages\artifacts-unarchived\aws.greengrass.clientdevices.mq..."]}
2022-08-19T20:29:26.492Z [ERROR] (pool-2-thread-63) aws.greengrass.clientdevices.mqtt.EMQX: shell-runner-error. Error while running process. {scriptName=services.aws.greengrass.clientdevices.mqtt.EMQX.lifecycle.startup.script, serviceName=aws.greengrass.clientdevices.mqtt.EMQX, currentState=STARTING, command=["C:\greengrass\v2\packages\artifacts-unarchived\aws.greengrass.clientdevices.mq..."]}
java.io.IOException: Failed to read credential
	at vendored.com.microsoft.alm.storage.windows.internal.WindowsCredUtils.read(WindowsCredUtils.java:36)
	at com.aws.greengrass.util.platforms.windows.WindowsExec.getPassword(WindowsExec.java:298)
	at com.aws.greengrass.util.platforms.windows.WindowsExec.createProcess(WindowsExec.java:116)
	at com.aws.greengrass.util.Exec.exec(Exec.java:316)
	at com.aws.greengrass.util.Exec.background(Exec.java:373)
	at com.aws.greengrass.lifecyclemanager.ShellRunner$Default.successful(ShellRunner.java:110)
	at com.aws.greengrass.lifecyclemanager.GenericExternalService.run(GenericExternalService.java:683)
	at com.aws.greengrass.lifecyclemanager.GenericExternalService.run(GenericExternalService.java:701)
	at com.aws.greengrass.lifecyclemanager.GenericExternalService.run(GenericExternalService.java:629)
	at com.aws.greengrass.lifecyclemanager.GenericExternalService.startup(GenericExternalService.java:343)
	at com.aws.greengrass.lifecyclemanager.Lifecycle.lambda$handleStateTransitionStartingToRunningAsync$9(Lifecycle.java:530)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.jna.LastErrorException: [1168] Element not found.
	at com.sun.jna.Native.invokeInt(Native Method)
	at com.sun.jna.Function.invoke(Function.java:426)
	at com.sun.jna.Function.invoke(Function.java:361)
	at com.sun.jna.Library$Handler.invoke(Library.java:265)
	at com.sun.proxy.$Proxy30.CredRead(Unknown Source)
	at vendored.com.microsoft.alm.storage.windows.internal.WindowsCredUtils.read(WindowsCredUtils.java:31)
	... 15 more
profile picture
专家
已提问 5 个月前17 查看次数
1 回答
0

【以下的回答经过翻译处理】 错误“无法读取凭据”意味着Greengrass无法找到组件runWith用户的密码。这不仅适用于EMQX,而且适用于运行外部进程的任何组件。这种情况发生在Greengrass没有以我们的指令要求运行它的用户身份运行,或者如果您没有按照以下方式创建和存储用户密码: https://docs.aws.amazon.com/greengrass/v2/developerguide/quick-installation.html

如果Greengrass作为Windows系统服务运行,这是我们的指令要求您执行的操作,则用户的密码必须存储在LOCAL_SYSTEM帐户的凭据存储中。我们的指令让您使用“PsExec”实用程序存储密码,请参阅指令的那部分以确保您已按照指令进行操作。

如果您没有将Greengrass作为系统服务运行,则应停止Greengrass,并改为将其作为系统服务运行。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则