我的服务在我的私有实例上运行(在Google Cloud外部运行),我使用Tomcat作为Web服务器。在cdbg_java_agent.ERROR日志文件中,启动Java Server时看到以下错误堆栈。
split(";")
我从以下地方获得了信息:https://cloud.google.com/debugger/docs/setup/java 我已经完成
E1025 19:56:10.922689 17636 jni_utils.h:372] GcpHubClient.<init>: java.lang.RuntimeException: Failed to initialize service account authentication
at com.google.devtools.cdbg.debuglets.java.GcpEnvironment.getMetadataQuery(Unknown Source)
at com.google.devtools.cdbg.debuglets.java.GcpHubClient.<init>(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.google.devtools.cdbg.debuglets.java.ServiceAccountAuth
at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at com.google.devtools.cdbg.debuglets.java.InternalsClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:278)
... 2 more
E1025 19:56:10.923075 17636 jni_bridge.cc:50] Failed to instantiate HubClient Java class
E1025 19:56:10.923120 17636 worker.cc:145] HubClient not available: debugger thread can't continue.
我的凭证位于/opt/cdbg/gcp-svc.json
mkdir /opt/cdbg
wget -qO- https://storage.googleapis.com/cloud-debugger/compute-java/debian-wheezy/cdbg_java_agent_gce.tar.gz | \
tar xvz -C /opt/cdbg
已添加的JAVA_OPTS
export GOOGLE_APPLICATION_CREDENTIALS="/opt/cdbg/gcp-svc.json"
我知道GOOGLE_APPLICATION_CREDENTIALS和-Dcom.google.cdbg.auth.serviceaccount.json文件是重复的,但只有其中一个也不会给出不同的结果。
答案 0 :(得分:2)
下载支持服务帐户的正确软件包。 cdbg_java_agent_service_account.tar.gz
答案 1 :(得分:0)
要提及Erez Haba提出的建议,请尝试以下操作:
sudo wget -qO- https://storage.googleapis.com/cloud-debugger/compute-java/debian-wheezy/cdbg_java_agent_service_account.tar.gz | \
sudo tar xvz -C /opt/cdbg
哪个确实按预期工作。 +1到Erez Haba