#!/bin/bash kafka_root=${KAFKA_ROOT:-/opt/kafka} # Generate and insert some messages OS=$(uname -s) function initializeTopic { topic=$1 host=$2 msg_size=$3 batch_size=$4 batch_count=$5 if [ $host == "localhost:9092" ]; then ${kafka_root}/bin/kafka-topics.sh --create --zookeeper localhost:2181 \ --replication-factor 1 --partitions 1 --topic ${topic} fi echo "Generating messages (size: ${msg_size})" : > /tmp/msgs # Truncate /tmp/msgs for i in $(seq 1 ${batch_size}); do if [ $OS == 'Darwin' ]; then printf %s\\n "$(head -c${msg_size} /dev/urandom | base64)" >> /tmp/msgs else printf %s\\n "$(head --bytes=${msg_size} /dev/urandom | base64 --wrap=0)" >> /tmp/msgs fi done echo "Done generating messages" for i in $(seq 1 ${batch_count}); do echo "Adding $(wc -l /tmp/msgs) messages to topic ${topic}" "${kafka_root}/bin/kafka-console-producer.sh" \ --broker-list ${host} --topic ${topic} < /tmp/msgs done } initializeTopic "librdtesting-01" "localhost:9092" "4096" "5000" "2000"