我正面临着使用SSL通过datastax-agent与opscenter建立HTTP连接的挑战:
Datastax Version 5.1.7 Opscenter版本6.1.16
INFO [async-dispatch-2] 2018-05-23 20:58:24,549 Creating stomp connection to <opscenter_host_ip>:61620 ERROR [async-dispatch-2] 2018-05-23 20:58:24,549 Error connecting via stomp. java.io.FileNotFoundException: /etc/dse/opscenter.jks (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at clojure.java.io$fn__9520.invokeStatic(io.clj:229)
at clojure.java.io$fn__9520.invoke(io.clj:229)
at clojure.java.io$fn__9433$G__9426__9440.invoke(io.clj:69)
at clojure.java.io$fn__9532.invokeStatic(io.clj:258)
at clojure.java.io$fn__9532.invoke(io.clj:254)
at clojure.java.io$fn__9433$G__9426__9440.invoke(io.clj:69)
at clojure.java.io$input_stream.invokeStatic(io.clj:136)
at clojure.java.io$input_stream.doInvoke(io.clj:121)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at opsagent.messaging$build_ssl_options.invokeStatic(messaging.clj:25)
at opsagent.messaging$build_ssl_options.invoke(messaging.clj:23)
at opsagent.messaging$setup_ssl.invokeStatic(messaging.clj:134)
at opsagent.messaging$setup_ssl.invoke(messaging.clj:131)
at opsagent.messaging$setup_conn.invokeStatic(messaging.clj:162)
at opsagent.messaging$setup_conn.invoke(messaging.clj:157)
at opsagent.messaging.StompComponent.start(messaging.clj:250)
at com.stuartsierra.component$fn__2595$G__2589__2597.invoke(component.clj:4)
at com.stuartsierra.component$fn__2595$G__2588__2600.invoke(component.clj:4)
at clojure.lang.Var.invoke(Var.java:379)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$apply.invoke(core.clj:641)
at com.stuartsierra.component$try_action.invokeStatic(component.clj:116)
at com.stuartsierra.component$try_action.invoke(component.clj:115)
at clojure.lang.Var.invoke(Var.java:401)
at opsagent.config_service$update_system$fn__20717.invoke(config_service.clj:218)
at clojure.lang.ArraySeq.reduce(ArraySeq.java:114)
at clojure.core$reduce.invokeStatic(core.clj:6544)
at clojure.core$reduce.invoke(core.clj:6527)
at opsagent.config_service$update_system.invokeStatic(config_service.clj:212)
at opsagent.config_service$update_system.doInvoke(config_service.clj:208)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at opsagent.config_service$start_system_BANG_.invokeStatic(config_service.clj:238)
at opsagent.config_service$start_system_BANG_.invoke(config_service.clj:231)
at opsagent.config_service$fn__20808$fn__20809$state_machine__4880__auto____20810$fn__20812.invoke(config_service.clj:261)
at opsagent.config_service$fn__20808$fn__20809$state_machine__4880__auto____20810.invoke(config_service.clj:261)
at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:1012)
at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:1011)
at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:1016)
at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:1014)
at clojure.core.async.impl.ioc_macros$take_BANG_$fn__4896.invoke(ioc_macros.clj:1025)
at clojure.core.async.impl.channels.ManyToManyChannel$fn__698$fn__699.invoke(channels.clj:95)
at clojure.lang.AFn.run(AFn.java:22)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
我的opscenter密钥存储区在不同的位置尝试,并会出现不同的错误。
在stomp接口ip上运行的opscenter的Datastax-agent的address.yaml内容:
opscenter_ssl_keystore: /etc/dse/opscenter.jks
opscenter_ssl_keystore_password: <ks pass>
opscenter_ssl_truststore: /etc/dse/truststore.jks
opscenter_ssl_truststore_password: <trst pass>
当我将它们放入/root/.cassandra/时,它会抛出权限被拒绝
ERROR [async-dispatch-8] 2018-05-23 20:37:18,304连接通过时出错 跺脚。 java.io.FileNotFoundException:/root/.cassandra/opscenter.jks (没有权限) at java.io.FileInputStream.open0(Native Method) 在java.io.FileInputStream.open(未知来源)
当我将它们放在/ etc / dse /中时,它不会抛出这样的文件或目录
INFO [async-dispatch-2] 2018-05-23 21:03:41,423创建stomp 连接到:61620 ERROR [async-dispatch-2] 2018-05-23 21:03:41,423通过stomp连接时出错 java.io.FileNotFoundException:/etc/dse/opscenter.jks(没有这样的文件或 目录)
两者具有相同的权限。
注意:我的opscenter安装有服务帐户cassandra而不是opscenter。
[root@opscntrmon /]# ls -ld /etc
drwxr-xr-x. 108 root root 12288 May 17 17:40 /etc
[root@opscntrmon /]# ls -ld /etc/dse
drwxr-xr-x 9 cassandra cassandra 4096 May 23 20:56 /etc/dse
[root@opscntrmon /]# ls -ld /root
dr-xr-x---. 11 root root 4096 May 23 16:11 /root
[root@opscntrmon /]# ls -ld /root/.cassandra
drwxrwxrwx 2 cassandra cassandra 4096 May 23 13:22 /root/.cassandra
[root@opscntrmon /]#
请帮忙吗?