[英]How to configure Zookeeper SSL on Windows Server
由于限制,我们不得不使用 Windows 来托管和管理我们的 Zookeeper/SolrCloud 集群。
我们在 Microsoft Azure 中使用 3 个 Windows Server 2016 服务器,前面有一个 Azure 负载均衡器。
我能够安装和配置所有东西,但是 Zookeeper 没有在 SSL 中与 SolrCloud 通信,所以在创建新集合等东西时,我们的 API 调用都不起作用。
我遵循了 Zookeeper 文档 ( https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+SSL+User+Guide ),但所有这些都是针对 Linux 系统的。 据我所知,我已经对其进行了调整,但它只是行不通。
这是我所做的:
向zkCli.cmd
添加了以下内容: set CLIENT_JVMFLAGS="-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.keyStore.location=C:/solr-7.2.1/server/etc/wildcard_sidlee_cloud.pfx -Dzookeeper.ssl.keyStore.password=somepassword -Dzookeeper.ssl.trustStore.location=C:/solr-7.2.1/server/etc/wildcard_sidlee_cloud.pfx -Dzookeeper.ssl.trustStore.password=somepassword"
将%CLIENT_JVMFLAGS%
添加到zkCli.cmd
中的 Java 调用
向zkServer.cmd
添加了以下内容: set SERVER_JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory -Dzookeeper.ssl.keyStore.location=C:/solr-7.2.1/server/etc/wildcard_sidlee_cloud.pfx -Dzookeeper.ssl.keyStore.password=somepassword -Dzookeeper.ssl.trustStore.location=C:/solr-7.2.1/server/etc/wildcard_sidlee_cloud.pfx -Dzookeeper.ssl.trustStore.password=somepassword"
将%SERVER_JVMFLAGS%
添加到zkServer.cmd
中的 Java 调用
修改clientPort=2181
为zoo.cfg
secureClientPort=2181
Zookeeper 服务“启动”,但实际上什么也没有发生。 如果我手动启动zkServer.cmd
,它会失败并显示错误:
java.lang.NumberFormatException: For input string: "-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory -Dzookeeper.ssl.keyStore.location=C:/solr-7.2.1/server/etc/wildcard_sidlee_cloud.pfx -Dzookeeper.ssl.keyStore.password=somepassword -Dzookeeper.ssl.trustStore.location=C:/solr-7.2.1/server/etc/wildcard_sidlee_cloud.pfx -Dzookeeper.ssl.trustStore.password=somepassword"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.apache.zookeeper.server.ServerConfig.parse(ServerConfig.java:63)
at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:103)
at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:64)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:128)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
我真的在这里不知所措,不知道从这里去哪里!
先谢谢您的帮助!!
我遇到了同样的错误并想通了:当您添加:%SERVER_JVMFLAGS% 到 zkServer.cmd 中的 Java 调用时,您必须将它添加到行尾。 尝试将其添加到所有参数旁边。 在行尾的“%*”之前。 那对我有用。
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "%SERVER_JVMFLAGS%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.