Producers are data-generating applications, such as sensors in automobiles or activity loggers in servers.

They create messages and send them to a MapR Streams producer client library. This client buffers incoming messages and then sends them in batches to the MapR Streams server. The server publishes the messages to the topics that producers have specified. In case of server failure, the producer client continually retries automatically to send messages.

To send a message to the MapR Streams server, the producer creates a record, which specifies the topic the message is intended for, an optional partition ID (which are explained below), and the actual message.

Before a producer can publish to topics, the user ID running the producer needs these permissions:
  • The writeAce permission on the volume where the streams are located. For information about how to set permissions on volumes, see Setting/Modifying Whole Volume ACEs.
  • The produceperm permission on the streams where the topics are located. Users with the adminperm permission on those streams can grant the produceperm permission.