繁体   English   中英

如何在 Windows 服务器上配置 Zookeeper SSL

[英]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=2181zoo.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM