Created
May 29, 2019 09:40
-
-
Save cronosnull/59101eb96f71093b0c7619a66b0c4ca1 to your computer and use it in GitHub Desktop.
Install kafka statndalone.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# This script install kafka 2.2.0 | |
# on a centos 7 machine | |
## RUN AS SUDO | |
if [[ $EUID -gt 0 ]] | |
then | |
echo "Please run as root/sudo" | |
exit 1 | |
fi | |
# Install dependencies | |
yum install java-11-openjdk wget | |
# Download and untar kafka | |
wget https://www-eu.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz | |
tar xzvf kafka_2.12-2.2.0.tgz -C /opt | |
cd /opt/ || exit | |
ln -s kafka_2.12-2.2.0 kafka | |
# Create a new user to run kafka | |
# (for security kafka should not run as a privilegied user) | |
useradd kafka | |
chown -R kafka:kafka kafka* | |
# Create the systemd services (zookeeper and kafka) | |
cat > /etc/systemd/system/zookeeper.service <<EOF | |
[Unit] | |
Description=zookeeper | |
After=syslog.target network.target | |
[Service] | |
Type=simple | |
User=kafka | |
Group=kafka | |
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties | |
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh | |
[Install] | |
WantedBy=multi-user.target | |
EOF | |
cat > /etc/systemd/system/kafka.service <<EOF | |
[Unit] | |
Description=Apache Kafka | |
Requires=zookeeper.service | |
After=zookeeper.service | |
[Service] | |
Type=simple | |
User=kafka | |
Group=kafka | |
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties | |
ExecStop=/opt/kafka/bin/kafka-server-stop.sh | |
[Install] | |
WantedBy=multi-user.target | |
EOF | |
# Enable and start the services: | |
systemctl daemon-reload | |
systemctl enable zookeeper.service | |
systemctl enable kafka.service | |
systemctl start zookeeper service | |
systemctl start kafka service | |
firewall-cmd --permanent --zone=public --add-port=9092/tcp | |
firewall-cmd --reload |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment