main
HuangHai 5 months ago
parent 66dbdb4f2e
commit 7ba782e265

@ -0,0 +1,21 @@
### 1、安装$Docker$
```shell
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
systemctl enable docker
systemctl start docker
```
### 2、安装$Docker$ $Compose$
```shell
# 下载 Docker Compose
curl -L https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
# 赋予执行权限
chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
```

@ -0,0 +1,33 @@
- **安装**
在 $docker-compose.yml$ 文件所在目录下,运行以下命令启动 $Kafka$ 和 $Zookeeper$
```shell
docker-compose up -d
```
- 验证 $Kafka$ 是否正常运行
```shell
docker ps
```
输出应显示 $kafka$ 容器正在运行。
- **创建测试主题**
```shell
docker exec -it kafka kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
```
- **列出主题**
```shell
docker exec -it kafka kafka-topics.sh --list --bootstrap-server localhost:9092
```
- **生产消息**
```shell
docker exec -it kafka kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
```
- **消费消息**
```shell
docker exec -it kafka kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092 --from-beginning
```

@ -0,0 +1,30 @@
# docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/bitnami/kafka:3.9
# docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/bitnami/kafka:3.9 bitnami/kafka:3.9.0
services:
kafka:
image: bitnami/kafka:3.9.0
container_name: kafka
ports:
- "9092:9092" # Kafka 客户端端口
environment:
- KAFKA_ENABLE_KRAFT=yes # 启用 KRaft 模式
- KAFKA_CFG_PROCESS_ROLES=broker,controller
- KAFKA_CFG_NODE_ID=1
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://10.10.14.250:9092,CONTROLLER://10.10.14.250:9093
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER # 添加控制器监听器名称
- KAFKA_CFG_LOG_DIRS=/bitnami/kafka/data
volumes:
- kafka_data:/bitnami/kafka/data
networks:
- kafka-network
networks:
kafka-network:
driver: bridge
volumes:
kafka_data:
driver: local

@ -0,0 +1,11 @@
from kafka import KafkaProducer
# 创建生产者
producer = KafkaProducer(bootstrap_servers='10.10.14.250:9092')
# 发送消息
producer.send('test-topic', b'Hello, Kafka!')
producer.flush()
# 关闭生产者
producer.close()

@ -0,0 +1,8 @@
from kafka import KafkaConsumer
# 创建消费者
consumer = KafkaConsumer('test-topic', bootstrap_servers='10.10.14.250:9092', auto_offset_reset='earliest')
# 消费消息
for message in consumer:
print(f"Received: {message.value.decode('utf-8')}")

@ -0,0 +1 @@
kafka-python==2.0.5
Loading…
Cancel
Save