❗IMPORTANT NOTE
❗: This repository is a clone of Apache Storm External Eventhubs to make the latest version of the EventHubs spout compatible with Apache Storm 0.10.x on Microsoft HDInsight Clusters with version 3.3 or above.
This code will be finally merged into Apache Storm External Eventhubs.
Refer to the CHANGELOG for the list of changes.
If you are using Storm 0.9.x, please use the 0.9.x branch in this same repo.
Storm spout and bolt implementation for Microsoft Azure Eventhubs
mvn clean package
To run the sample topology, you need to modify the config.properties file with the eventhubs configurations. Here is an example:
eventhubspout.username = [username: policy name in EventHubs Portal]
eventhubspout.password = [password: shared access key in EventHubs Portal]
eventhubspout.namespace = [namespace]
eventhubspout.entitypath = [entitypath]
eventhubspout.partitions.count = [partitioncount]
# if not provided, will use storm's zookeeper settings
# zookeeper.connectionstring=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
# optional - defaults to 10
eventhubspout.checkpoint.interval = 10
# optional - defaults to 1024
eventhub.receiver.credits = 1024
Then you can use storm.cmd to submit the sample topology:
storm jar {jarfile} org.apache.storm.eventhubs.samples.EventCount {topologyname} {spoutconffile}
where the {jarfile} should be: storm-eventhubs-{version}-jar-with-dependencies.jar
We have included a simple EventHubs send client for testing purpose. You can run the client like this:
java -cp .\target\eventhubs-storm-spout-{version}-jar-with-dependencies.jar com.microsoft.eventhubs.client.EventHubSendClient
[username] [password] [entityPath] [partitionId] [messageSize] [messageCount]
If you want to send messages to all partitions, use "-1" as partitionId.