Skip to content

Instantly share code, notes, and snippets.

@mottyc
Last active January 6, 2021 15:49
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mottyc/3d80058c8e5cb942cfad to your computer and use it in GitHub Desktop.
Save mottyc/3d80058c8e5cb942cfad to your computer and use it in GitHub Desktop.
Kafka 0.8.2.0 installation + zookeeper on a single machine
#!/bin/bash
#title :kafka-install.sh
#description :The script to install kafka 0.8.x
#author :Motty Cohen
#date :05-Feb-2015
#usage :/bin/bash install-kafka.sh
KAFKA_VERSION=0.8.2.0
SCALA_VERSION=2.10
KAFKA_FILENAME=kafka_$SCALA_VERSION-$KAFKA_VERSION
KAFKA_ARCHIVE_NAME=$KAFKA_FILENAME.tgz
KAFKA_DOWNLOAD_ADDRESS=http://apache.spd.co.il/kafka/$KAFKA_VERSION/$KAFKA_ARCHIVE_NAME
INSTALL_DIR=/opt
KAFKA_FULL_DIR=$INSTALL_DIR/$KAFKA_FILENAME
KAFKA_DIR=$INSTALL_DIR/kafka
KAFKA_USER="kafka"
KAFKA_SERVICE="kafka"
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root."
exit 1
fi
echo "Downloading: $KAFKA_DOWNLOAD_ADDRESS..."
[ -e "$KAFKA_ARCHIVE_NAME" ] && echo 'Kafka archive already exists.'
if [ ! -e "$KAFKA_ARCHIVE_NAME" ]; then
wget -q $KAFKA_DOWNLOAD_ADDRESS
if [ $? -ne 0 ]; then
echo "Not possible to download kafka."
exit 1
fi
fi
echo "Cleaning up..."
rm -f "$KAFKA_DIR"
rm -rf "$KAFKA_FULL_DIR"
rm -rf "/var/run/$KAFKA_SERVICE/"
rm -f "/etc/init.d/$KAFKA_SERVICE"
echo "Installation to $KAFKA_FULL_DIR ..."
mkdir $KAFKA_FULL_DIR
tar -xzf $KAFKA_ARCHIVE_NAME -C $INSTALL_DIR
echo "Creating symbolic link: to $KAFKA_DIR ..."
ln -s $KAFKA_FULL_DIR/ $KAFKA_DIR
echo "Add user and group: $KAFKA_USER ..."
useradd -s /sbin/nologin $KAFKA_USER
chown -R $KAFKA_USER:$KAFKA_USER $KAFKA_DIR
chown -R $KAFKA_USER:$KAFKA_USER $KAFKA_DIR/
echo "Cleaning archive..."
rm -f "$KAFKA_ARCHIVE_NAME"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment