赞
踩
yum install java-1.8.0-openjdk-devel -y
java -version
cd /opt/src
wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz
tar -xf kafka_2.12-3.6.0.tgz -C /opt/lucky/apps/
cd /opt/lucky/apps/
mv kafka_2.12-3.6.0 kafka
启动kafka之前要先启动zookeeper服务器
/opt/lucky/apps/kafka/bin/zookeeper-server-start.sh -daemon /opt/lucky/apps/kafka/config/zookeeper.properties
vim /opt/lucky/apps/kafka/config/server.properties
server.properties配置中需要关注以下几个参数:
对外提供的服务入口地址
listeners=PLAINTEXT:本机的IP地址//:9094
设置存放消息日志的地址
log.dirs=/opt/lucky/apps/kafka/logs
kafka所需的zookeeper的集群地址
单机点的基本都是写本机地址
zookeeper.connect=localhost:2181
表示broker的编号,如果集群中有多个broker,则每个broker的编号需要设置的不同
当前是单节点所以就使用默认
broker.id=0
/opt/lucky/apps/kafka/bin/kafka-server-start.sh /opt/lucky/apps/kafka/config/server.properties
如果要在后台运行Kafka服务,那么可以在启动命令中加入-daemon参数或&字符
/opt/lucky/apps/kafka/bin/kafka-server-start.sh -daemon /opt/lucky/apps/kafka/config/server.properties
通过命令的输出,可以看到以下进程:
Jps (Java Virtual Machine Process Status Tool): 用于显示正在运行的 Java 进程的工具。
Kafka: Kafka 服务的进程。
QuorumPeerMain: 这是 ZooKeeper 服务的主要进程。
这表明 Kafka 和 ZooKeeper 进程都在运行中。如果您没有看到错误消息,并且状态显示为运行中,那么 Kafka 和 ZooKeeper 服务都已经正常启动。
vim /etc/systemd/system/kafka-zookeeper.service
[Unit]
Description=Kafka and Zookeeper Service
After=network.target
[Service]
User=root
Group=root
Type=forking
ExecStart=/bin/bash -c '/opt/lucky/apps/kafka/bin/zookeeper-server-start.sh -daemon /opt/lucky/apps/kafka/config/zookeeper.properties && /opt/lucky/apps/kafka/bin/kafka-server-start.sh -daemon /opt/lucky/apps/kafka/config/server.properties'
ExecStop=/bin/bash -c '/opt/lucky/apps/kafka/bin/kafka-server-stop.sh && /opt/lucky/apps/kafka/bin/zookeeper-server-stop.sh'
TimeoutStartSec=600
[Install]
WantedBy=default.target
systemctl daemon-reload
systemctl start kafka-zookeeper
systemctl enable kafka-zookeeper
systemctl status kafka-zookeeper
#!/bin/bash read -p "单机还是多实例? 1为单, 2为多实例:" h ip=$(curl -s ifconfig.me) install_dir="/opt/lucky/apps" src_dir="/opt/src" service_name="kafka-zookeeper" install_openjdk() { echo "正在安装 OpenJDK..." yum install java-1.8.0-openjdk-devel -y java -version } download_and_extract_kafka() { echo "正在下载和解压 Kafka..." cd $src_dir || exit 1 wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz || exit 1 tar -xf kafka_2.12-3.6.0.tgz -C $install_dir || exit 1 cd $install_dir || exit 1 mv kafka_2.12-3.6.0 kafka } configure_and_start_single_instance() { echo "配置单实例 Kafka..." # 启动zookeeper $install_dir/kafka/bin/zookeeper-server-start.sh -daemon $install_dir/kafka/config/zookeeper.properties || exit 1 sed -i "/log.dirs/a\listeners = PLAINTEXT://$ip:9092" $install_dir/kafka/config/server.properties sed -i 's/log.dirs=\/tmp\/kafka-logs/log.dirs=\/opt\/lucky\/apps\/kafka\/logs/g' $install_dir/kafka/config/server.properties } configure_and_start_multiple_instances() { echo "配置多实例 Kafka..." cd $install_dir/kafka/config/ || exit 1 read -p "需要多少个实例?" number for i in $(seq 2 $((number + 1))); do mkdir -p $install_dir/kafka/log_909$i cp server.properties ./server_909"$i".properties sed -i "/log.dirs/a\listeners = PLAINTEXT://$ip:909$i" $install_dir/kafka/config/server_909"$i".properties sed -i "s/log.dirs=\/tmp\/kafka-logs/log.dirs=\/opt\/lucky\/apps\/kafka\/log_909$i/g" $install_dir/kafka/config/server_909"$i".properties sed -i "s/2181/218$i/g" $install_dir/kafka/config/zookeeper_218"$i".properties $install_dir/kafka/bin/zookeeper-server-start.sh -daemon $install_dir/kafka/config/zookeeper_218"$i".properties || exit 1 done } create_systemd_service() { echo "创建 systemd 服务..." cat <<EOF > /etc/systemd/system/$service_name.service [Unit] Description=Kafka and Zookeeper Service [Service] Type=simple User=nobody ExecStart=$install_dir/kafka/bin/zookeeper-server-start.sh -daemon $install_dir/kafka/config/zookeeper.properties ExecStop=$install_dir/kafka/bin/zookeeper-server-stop.sh ExecReload=$install_dir/kafka/bin/zookeeper-server-stop.sh && $install_dir/kafka/bin/zookeeper-server-start.sh -daemon $install_dir/kafka/config/zookeeper.properties [Install] WantedBy=multi-user.target EOF } start_systemd_service() { echo "启动 systemd 服务..." systemctl start $service_name systemctl enable $service_name systemctl status $service_name } case $h in 1) install_openjdk download_and_extract_kafka configure_and_start_single_instance create_systemd_service start_systemd_service ;; 2) install_openjdk download_and_extract_kafka configure_and_start_multiple_instances create_systemd_service start_systemd_service ;; *) echo "输入错误" ;; esac
172.16.11.1(kafka1)
172.16.11.2(kafka2)
yum install java-1.8.0-openjdk-devel -y
java -version
cd /opt/src
wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz
tar -xf kafka_2.12-3.6.0.tgz -C /opt/lucky/apps/
cd /opt/lucky/apps/
mv kafka_2.12-3.6.0 kafka
启动kafka之前要先启动zookeeper服务器
/opt/lucky/apps/kafka/bin/zookeeper-server-start.sh -daemon /opt/lucky/apps/kafka/config/zookeeper.properties
server.properties配置中需要关注以下几个参数:
vim /opt/lucky/apps/kafka/config/server.properties
对外提供的服务入口地址
listeners=PLAINTEXT://172.16.11.1:9094
设置存放消息日志的地址
log.dirs=/opt/lucky/apps/kafka/logs
kafka所需的zookeeper的集群地址
zookeeper.connect=localhost:2181
表示broker的编号,如果集群中有多个broker,则每个broker的编号需要设置的不同
当前是单节点是第一个所以就使用默认
broker.id=0
/opt/lucky/apps/kafka/bin/kafka-server-start.sh -daemon /opt/lucky/apps/kafka/config/server.properties
通过命令的输出,可以看到以下进程:
Jps (Java Virtual Machine Process Status Tool): 用于显示正在运行的 Java 进程的工具。
Kafka: Kafka 服务的进程。
QuorumPeerMain: 这是 ZooKeeper 服务的主要进程。
这表明 Kafka 和 ZooKeeper 进程都在运行中。如果您没有看到错误消息,并且状态显示为运行中,那么 Kafka 和 ZooKeeper 服务都已经正常启动。
至此第一台部署完毕
yum install java-1.8.0-openjdk-devel -y
java -version
cd /opt/src
wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz
tar -xf kafka_2.12-3.6.0.tgz -C /opt/lucky/apps/
cd /opt/lucky/apps/
mv kafka_2.12-3.6.0 kafka
server.properties配置中需要关注以下几个参数,跟第一台的配置有所不同
vim /opt/lucky/apps/kafka/config/server.properties
对外提供的服务入口地址
listeners=PLAINTEXT://172.16.11.2:9092
设置存放消息日志的地址
log.dirs=/opt/lucky/apps/kafka/logs
kafka所需的zookeeper的集群地址
这边填写第一台的IP
zookeeper.connect=172.16.11.1:2181
表示broker的编号,如果集群中有多个broker,则每个broker的编号需要设置的不同。
172.16.11.2属于第二台,所以要改一下默认的
broker.id=1
/opt/lucky/apps/kafka/bin/kafka-server-start.sh -daemon /opt/lucky/apps/kafka/config/server.properties
至此集群部署完毕!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。