集群使用Kafka

ZooKeeper为Kafka提供了集群管理、分布式协调、配置管理和高可用性等关键服务,Kafka启动之前需要先zkServer.sh start。

Kafka 2.8.0版本开始引入了自身的内部元数据管理机制(KRaft模式),以逐步替代ZooKeeper。

创建Kafka启动脚本 

kafka/bin目录下,例如 /usr/local/soft/kafka-1.0.0/bin

vim start-kafka.sh

获得执行权限

chmod +x  start-kafka.sh
#!/usr/bin/env bash

# 检查Kafka启动脚本是否存在
if [[ ! -x "/usr/local/soft/kafka-1.0.0/bin/kafka-server-start.sh" ]]; then
  echo "错误:找不到Kafka启动脚本或没有执行权限"
  exit 1
fi

# 检查Kafka配置文件是否存在
if [[ ! -f "/usr/local/soft/kafka-1.0.0/config/server.properties" ]]; then
  echo "错误:找不到Kafka配置文件"
  exit 1
fi


# 使用绝对路径启动Kafka,确保脚本能够正确执行
/usr/local/soft/kafka-1.0.0/bin/kafka-server-start.sh -daemon /usr/local/soft/kafka-1.0.0/config/server.properties

# 检查Kafka是否成功启动
# 显示等待信息,并每秒打印一个“.”
echo -n "正在启动Kafka,请等待5秒"
for i in {1..5}; do
  echo -n "."
  sleep 1
done
echo

# 使用ps命令检查Kafka进程是否启动
PIDS=$(ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}')
if [[ -n "$PIDS" ]]; then
  echo "Kafka启动成功,进程ID: $PIDS"
else
  echo "Kafka启动失败,请检查日志文件 $KAFKA_LOG_FILE 以获取更多信息"
  exit 1
fi

停止脚本

同样在bin目录下,

vim stop-kafka.sh
chmod +x  stop-kafka.sh 
#!/usr/bin/env bash

# 检查Kafka停止脚本是否存在
if [[ ! -x "/usr/local/soft/kafka-1.0.0/bin/kafka-server-stop.sh" ]]; then
  echo "错误:找不到Kafka停止脚本或没有执行权限"
  exit 1
fi

# 调用Kafka停止脚本
/usr/local/soft/kafka-1.0.0/bin/kafka-server-stop.sh

# 显示等待信息,并每秒打印一个“.”
echo -n "正在停止Kafka,请等待5秒"
for i in {1..5}; do
  echo -n "."
  sleep 1
done
echo

# 检查Kafka是否成功停止
if pgrep -f kafka.Kafka > /dev/null; then
  echo "错误:Kafka未能成功停止"
  exit 1
else
  echo "Kafka已成功停止"
fi

1、创建topic

在生产和消费数据时,如果topic不存在会自动创建一个分区为1,副本为1的topic

--replication-factor  ---每一个分区的副本数量, 同一个分区的副本不能放在同一个节点,副本的数量不能大于kafak集群节点的数量
--partition   --分区数,  根据数据量设置
--zookeeper zk的地址,将topic的元数据保存在zookeeper中

kafka-topics.sh --create --zookeeper master:2181,node1:2181,node2:2181/kafka --replication-factor 2 --partitions 3 --topic bigdata

2、查看topic描述信息

kafka-topics.sh --describe  --zookeeper master:2181,node1:2181,node2:2181/kafka --topic shujia

3、获取所有topic

__consumer_offsetsL kafka用于保存消费便宜量的topic

kafka-topics.sh --list  --zookeeper  master:2181,node1:2181,node2:2181/kafka

4、创建控制台生产者

kafka-console-producer.sh --broker-list master:9092,node1:9092,node2:9092 --topic bigdata

5、创建控制台消费者

x  --from-beginning  从头消费,, 如果不在执行消费的新的数据

kafka-console-consumer.sh --bootstrap-server  master:9092,node1:9092,node3:9092 --from-beginning --topic bigdata

  • 21
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值