kafka单节点搭建

kafka
服务器:192.168.3.52

1.下载kafa安装包
下载地址:http://kafka.apache.org/downloads
版本:kafka_2.11-2.1.0

2.安装zk
解压 tar -zxvf zookeeper-3.4.12.tar.gz
进入Zookeeper的config目录下
cd /mnt/kafka/zookeeper-3.4.12/conf
拷贝zoo_sample.cfg文件重命名为zoo.cfg,然后修改dataDir属性
# 数据的存放目录dataDir=/mnt/kafka/zookeeper-3.4.12/data
# 端口,默认就是2181clientPort=2181

配置环境变量
vim /etc/profile
ZOOKEEPER_HOME=/mnt/kafka/zookeeper-3.4.12
PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile
Zookeeper 启动停止命令
$ zkServer.sh start
$ zkServer.sh stop
安装完Zookeeper后,输入命令启动后,jps中并查看到QuorumPeerMain进程

2.安装kafka
解压包:tar -zxvf kafka_2.11-2.1.0.tgz
配置kafka环境变量
进入kafka的config目录下,有一个server.properties,添加如下配置
# broker 的全局唯一编号,不能重复broker.id=0
打开
# 监听 listeners =PLAINTEXT://:9092# 
日志目录log.dirs=/mnt/kafka/kafka_2.11-2.1.0/logs
# 配置zookeeper的连接(如果不是本机,需要该为ip或主机名)zookeeper.connect=localhost:2181

启动:
nohup /mnt/kafka/kafka_2.11-2.1.0/bin/kafka-server-start.sh /mnt/kafka/kafka_2.11-2.1.0/config/server.properties &>/dev/null &

注意:防火墙一定要关闭哟,否则访问不了的。


 

<think>嗯,用户想用Docker搭建Kafka单节点环境,我得先理清楚步骤。首先,Kafka依赖Zookeeper,所以可能需要先启动Zookeeper容器。不过有些镜像可能已经集成,但根据引用里的信息,比如引用3用的是bitnami/kafka,并且指定了Zookeeper的连接地址,看起来需要单独启动Zookeeper。 用户提供的引用3提到使用bitnami/kafka镜像,并且通过环境变量配置Zookeeper的连接。那应该先创建一个网络,让Kafka和Zookeeper在同一个Docker网络中,这样它们可以通过服务名通信。比如引用3里的命令用了--network kafkanet,而Zookeeper可能也在同一个网络里,所以KAFKA_CFG_ZOOKEEPER_CONNECT设为zookeeper:2181,这里的zookeeper是服务名。 所以步骤大概是:1. 创建Docker网络;2. 启动Zookeeper容器;3. 启动Kafka容器,并连接到同一网络,配置环境变量指向Zookeeper。另外,用户提供的引用3中的命令还设置了ALLOW_PLAINTEXT_LISTENER为yes,允许明文监听器,以及ADVERTISED_LISTENERS配置为主机IP和端口,这样外部客户端才能正确连接。 需要检查用户给的引用内容,确认是否有单节点的最佳实践。引用3中的例子是单节点,所以可以按照那个来。另外,用户可能还需要验证Kafka是否正常运行,比如进入容器执行命令创建主题或者生产消费消息。这部分需要指导用户如何验证安装是否成功。 另外,用户可能遇到的问题包括网络配置不正确,导致Kafka无法连接Zookeeper,或者ADVERTISED_LISTENERS设置错误导致外部无法访问。要提醒用户注意替换IP地址为实际的主机IP,并确保端口开放。 最后,根据用户提供的引用,引用2里提到了kafka-ui等工具,可能用户后续需要监控或管理界面,可以建议他们如何部署这些UI工具,但当前问题主要是单节点搭建,所以放在相关问题里比较合适。</think>### 使用 Docker 搭建 Kafka 单节点教程 #### 1. 创建 Docker 网络(可选但推荐) 为 Kafka 和 Zookeeper 创建专用网络,确保容器间通信: ```bash docker network create kafka-net ``` #### 2. 启动 Zookeeper 容器 Kafka 依赖 Zookeeper 进行元数据管理,使用以下命令启动单节点 Zookeeper: ```bash docker run -d \ --name zookeeper \ --network kafka-net \ -p 2181:2181 \ -e ALLOW_ANONYMOUS_LOGIN=yes \ bitnami/zookeeper:latest ``` *参数说明*:`--network` 指定容器网络,`-e` 允许匿名访问[^3]。 #### 3. 启动 Kafka 容器 ```bash docker run -d \ --name kafka \ --network kafka-net \ -p 9092:9092 \ -e ALLOW_PLAINTEXT_LISTENER=yes \ -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://{主机IP}:9092 \ bitnami/kafka:latest ``` *关键配置*: - `KAFKA_CFG_ZOOKEEPER_CONNECT`:指向 Zookeeper 容器地址 - `KAFKA_CFG_ADVERTISED_LISTENERS`:需替换 `{主机IP}` 为宿主机实际 IP,用于外部客户端访问 #### 4. 验证服务状态 进入 Kafka 容器执行测试命令: ```bash docker exec -it kafka bash kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 kafka-console-producer.sh --topic test --bootstrap-server localhost:9092 kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning ``` #### 5. 可选管理界面部署 参考引用[2],可快速部署可视化工具: ```bash # Kafka-UI docker run -d --name kafka-ui -p 8080:8080 \ -e KAFKA_CLUSTERS_0_NAME=local \ -e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092 \ provectuslabs/kafka-ui ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值