怎么给storm的topology配置zookeeper认证
时间: 2023-12-14 09:36:57 浏览: 142
storm提交topology的过程共1页.pdf.zip
在Storm的配置文件storm.yaml中,需要设置以下参数来启用ZooKeeper认证:
```
storm.zookeeper.auth.scheme: "digest"
storm.zookeeper.auth.digest.user: "username:password"
```
其中,`username`和`password`是ZooKeeper的认证用户名和密码,需要在ZooKeeper的配置文件中进行设置。如果ZooKeeper集群没有启用认证,则不需要设置以上参数。
在Storm的Topology中,可以通过以下方式来为Spout或Bolt设置ZooKeeper认证:
```java
Config config = new Config();
config.put(Config.STORM_ZOOKEEPER_TOPOLOGY_AUTH_SCHEME, "digest");
config.put(Config.STORM_ZOOKEEPER_TOPOLOGY_AUTH_PAYLOAD, "username:password");
```
其中,`username`和`password`是ZooKeeper的认证用户名和密码,需要与Storm的配置文件中的`storm.zookeeper.auth.digest.user`参数保持一致。然后,在创建Spout或Bolt时,将config作为参数传入:
```java
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("spout", new MySpout(), 1);
builder.setBolt("bolt", new MyBolt(), 1).shuffleGrouping("spout");
StormSubmitter.submitTopology("mytopology", config, builder.createTopology());
```
这样,Storm的Topology就可以使用ZooKeeper认证了。
阅读全文