Skip to content

How to Configure an MQTT Broker in Under 5 Minutes

by HiveMQ Team
10 min read

Imagine a world where your IoT devices are chatting like old friends, effortlessly sharing data in real-time. That's the magic of MQTT brokers, and HiveMQ offers easy options to get you started fast. Whether you're a newbie or a pro, this blog shares three HiveMQ broker options that’ll have you up and running in under five minutes. Let’s dive in!

HiveMQ Cloud: The Fastest Option

1. Sign up for a HiveMQ Cloud account. No credit card required.

2. Log in to your account and create a new cluster.

Creating a HiveMQ Cloud cluster3. Copy your unique hostname from the Cluster Details section and keep it handy. Create MQTT credentials in the Access Management tab.

HiveMQ Cloud Cluster4. Use these credentials in your MQTT client to connect and start publishing/subscribing. Alternatively, HiveMQ Cloud offers a convenient web-based MQTT client built directly into its interface, allowing you to test connections and effortlessly perform publish/subscribe actions on your broker.

Time required for set up: Approximately 2-3 minutes

HiveMQ Community Edition: Open-Source Solution

1. Download the latest HiveMQ CE binary package from https://github.com/hivemq/hivemq-community-edition/wiki or do a Docker pull from https://hub.docker.com/r/hivemq/hivemq-ce. 

2. Unzip the package.

3. Run the run.sh (Linux/OSX) or run.bat (Windows) in the bin folder of the package.

cd hivemq-ce-<version>
bin/run.sh

Note that Java version 11 or higher is required to run HiveMQ CE. If you are in doubt, you can check the installed Java version by entering java -version on your command line.

4. You can now connect MQTT clients to <ip address>:1883.

Time required for set up: Approximately 4-5 minutes

HiveMQ Enterprise: On Any OS of Your Choice

1. Download the evaluation version of HiveMQ Enterprise Edition appropriate for your OS (Windows, Linux, macOS). For example, for Linux/macOS, download this zip file.

Note: Ensure you have Java installed before getting started. Also, the evaluation version of HiveMQ Enterprise edition allows up to 25 connections, and you need to restart HiveMQ each time you want to reset the 5-hour limit. 

2. Open a terminal window, move the ZIP download to the directory where you want to install HiveMQ, and unpack the ZIP archive.

cd <hivemq_install_directory>
unzip hivemq-<version>.zip

3. Go to the bin folder in your install directory and set permissions (the typical location is /opt/hivemq/). The chmod 775command gives the user/the owner and the groups read, write, and execute rights. All others have read-only access:

cd <hivemq_install_directory>/bin
chmod 755 run.sh

4. To run the shell script and get HiveMQ started, enter:

bin/run.sh

For a detailed step-by-step guide to deploy production-ready installation of our HiveMQ MQTT broker, read our documentation

Time required for set up: Approximately 5 minutes

HiveMQ Enterprise: For Containerized Environments Like Docker

For containerized environments, HiveMQ provides official Docker images:

  1. Pull the HiveMQ image with the command docker pull hivemq/hivemq4:latest. Note that this command pulls the evaluation version of HiveMQ Enterprise edition, and you are allowed up to 25 connections, and you need to restart HiveMQ each time you want to reset the 5-hour limit. 

  2. Run the container: docker run -p 8080:8080 -p 1883:1883 hivemq/hivemq4:latest

  3. The command creates a Dockerized local HiveMQ instance and allows you to connect to your HiveMQ broker on port 1883 and your HiveMQ Control Center on port 8080.

Time required for set up: Approximately 2-3 minutes

HiveMQ also offers a Kubernetes Operator for orchestrating HiveMQ clusters. Read our documentation on Kubernetes Operators to learn more. 

Key Considerations for Setting up an MQTT Broker

  • Security: Always use strong authentication and encryption, especially for production environments.

  • Scalability: HiveMQ Enterprise and Cloud editions offer superior scalability for large-scale deployments.

  • Monitoring: Utilize HiveMQ's monitoring capabilities to keep track of your broker's performance.

Security and Performance Considerations While Setting-up an MQTT Broker

While setting up an MQTT broker quickly is important, ensuring its security and optimizing its performance is crucial for any production environment. Here are some key points to consider:

Security Best Practices

  1. Authentication: Implement strong username/password authentication. For enterprise setups, consider using client certificate authentication.

  2. Encryption: Always use TLS/SSL for data in transit. HiveMQ supports TLS 1.2 and 1.3 for secure communications.

  3. Access Control: Implement topic-based access control to restrict client permissions. One of the ways to do this is to use HiveMQ's ACL (Access Control List) feature to manage fine-grained permissions.

  4. Secure Configuration: Regularly update your broker to the latest version. Disable unnecessary ports and protocols. Use strong, unique passwords for admin accounts.

Performance Optimization

  1. Hardware Considerations: Ensure sufficient CPU and RAM for your expected load. Use SSDs for improved I/O performance, especially for persistence.

  2. Connection Handling: Adjust the maximum number of concurrent connections based on your hardware. Implement connection throttling to prevent overload.

  3. Message Throughput: Optimize topic structure to reduce unnecessary message routing. Use QoS levels appropriately; QoS 0 for highest throughput, QoS 1 or 2 for guaranteed delivery.

  4. Persistence and Clustering: For high availability, set up a HiveMQ cluster (Enterprise Edition). Configure persistence settings based on your reliability requirements and hardware capabilities.

  5. Monitoring and Tuning: Use HiveMQ's monitoring tools to track broker performance. Regularly review logs and metrics to identify and address performance bottlenecks.

HiveMQ-Specific Features

  • HiveMQ Control Center (Enterprise): Provides a web-based interface for real-time monitoring and management.

  • Extension Framework: Allows custom plugins for additional security measures or performance enhancements.

  • Distributed Tracing: Helps in identifying performance issues in large-scale deployments.

By implementing these security measures and performance optimizations, you can ensure that your MQTT broker is not only quick to set up but also robust, secure, and efficient for production use. Remember, while the initial setup can be done in minutes, ongoing management and optimization are key to maintaining a healthy MQTT ecosystem.

Conclusion

Configuring an MQTT broker doesn't have to be time-consuming. With HiveMQ's range of options, you can have a broker up and running in under 5 minutes, whether you need a quick cloud solution, an open-source option, or a fully-featured enterprise setup.

HiveMQ Team

The HiveMQ team loves writing about MQTT, Sparkplug, Industrial IoT, protocols, how to deploy our platform, and more. We focus on industries ranging from energy, to transportation and logistics, to automotive manufacturing. Our experts are here to help, contact us with any questions.

HiveMQ logo
Review HiveMQ on G2