Last active
December 27, 2019 07:00
-
-
Save stnet253/62165594de3fd84f5ac1a12576c5f0f2 to your computer and use it in GitHub Desktop.
This file contains 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
array=() | |
# 將傳入參數轉為 array | |
for i in "$@"; do | |
echo "$i" | |
array+=($i) | |
done | |
mkdir /tmp/kafka | |
echo ">>> Downloading kafka" | |
curl http://apache.stu.edu.tw/kafka/2.3.1/kafka_2.11-2.3.1.tgz -o /tmp/kafka/kafka.tgz | |
zookeepers=$(IFS=, ; echo "${array[*]/%/:2181}") | |
for index in "${!array[@]}"; do | |
echo ">>> Install JDK" | |
ssh root@${array[$index]} "yum install java-11-openjdk-devel" | |
echo ">>> Copy zookeeper's daemon config" | |
# 複製 service 設定 for zookeeper | |
scp zookeeper.service root@${array[$index]}:/etc/systemd/system/zookeeper.service | |
echo ">>> Copy kafka's daemon config" | |
# 複製 service 設定 for kafka | |
scp kafka.service root@${array[$index]}:/etc/systemd/system/kafka.service | |
echo ">>> Copy kafka" | |
# 複製 kafka 壓縮檔 | |
scp /tmp/kafka/kafka.tgz root@${array[$index]}:/home/kafka/kafka.tgz | |
echo ">>> Unzip kafka" | |
# 進入 kafka user 根路徑 | |
ssh root@${array[$index]} "cd /home/kafka && tar -xvzf kafka.tgz --strip 1" | |
echo ">>> Config zookeeper for cluster" | |
ssh root@${array[$index]} "echo initLimit=10 >> /home/kafka/config/zookeeper.properties" | |
ssh root@${array[$index]} "echo syncLimit=5 >> /home/kafka/config/zookeeper.properties" | |
ssh root@${array[$index]} "mkdir /tmp/zookeeper && echo \"$(($index + 1))\" > /tmp/zookeeper/myid" | |
echo ">>> Setup server id for zookeeper" | |
# 設定 server id for zookeeper | |
for i in "${!internalArray[@]}"; do | |
ssh root@${array[$index]} "echo server.\"$(($i + 1))\"=\"${internalArray[$i]}\":2888:3888 >> /home/kafka/config/zookeeper.properties" | |
done | |
# 修改 kafka broker_id | |
echo ">>> Setup kafka broker_id" | |
ssh root@${array[$index]} "sed -i 's/broker.id=0/broker.id=$(($index+1))/g' /home/kafka/config/server.properties" | |
# 修改 kafka 連線的 zookeeper | |
echo ">>> Setup kafka's zookeeper" | |
ssh root@${array[$index]} "sed -i 's/localhost:2181/${zookeepers}/g' /home/kafka/config/server.properties" | |
echo ">>> Start kafka" | |
ssh root@${array[$index]} "systemctl daemon-reload && systemctl start kafka && systemctl enable kafka" | |
done |
This file contains 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
sh Apache-Kafka-cluster-install.sh 10.0.0.5 10.0.0.6 10.0.0.7 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment