这里我直接用的是docker-compose部署,所以需要提前安装好compose。
既然要用compose那么yml文件自然是少不了的。
首先要新建一个目录,并在目录中新建一个yml文件
文件的内容如下:
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
volumes:
- ./data:/data
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_MESSAGE_MAX_BYTES: 2000000
KAFKA_CREATE_TOPICS: "Topic1:1:3,Topic2:1:1:compact"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- ./kafka-logs:/kafka
- /var/run/docker.sock:/var/run/docker.sock
kafka-manager:
image: sheepkiller/kafka-manager
ports:
- 9020:9000
environment:
ZK_HOSTS: zookeeper:2181
接着利用这个yml文件启动我们的项目
$ docker-compose up -d
我们通过以下命令进入到kafka容器的交互模式
$ docker exec -it kafkademo01_kafka_1 /bin/bash
因为高版本的kafka内置了zookeeper,所以我们只需要打开kafka内置的zookeeper即可。
然后进入kafka的根目录
$ cd /opt/kafka
$ cd /config
首先要修改的是zookeeper的配置文件:zookeeper.properties
(注释已删除)
dataDir=/opt/kafka/zooLogs
clientPort=2182
maxClientCnxns=0
admin.enableServer=false
然后修改kafka的配置文件:server.porperties
(注释已删除)
############################# Server Basics #############################
broker.id=0
############################# Socket Server Settings #############################
listeners=PLAINTEXT://127.0.0.1:9093
############################# Socket Server Settings #############################
listeners=PLAINTEXT://127.0.0.1:9093
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
############################# Log Basics #############################
log.dirs=/opt/kafka/kafkaLogs
num.partitions=1
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings #############################
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
############################# Log Retention Policy #############################
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
############################# Zookeeper #############################
zookeeper.connect=127.0.0.1:2182
zookeeper.connection.timeout.ms=18000
############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0
port=9093
advertised.host.name=127.0.0.1
message.max.bytes=2000000
advertised.port=9093
以下是一些基本的命令
启动zookeeper
zookeeper-server-start.sh ../config/zookeeper.properties
启动kafka
kafka-server-start.sh ../config/server.properties
创建一个主题
kafka-topics.sh --create --bootstrap-server 127.0.0.1:2182 --replication-factor 1 --partitions 1 --topic test
查看创建的主题
kafka-topics.sh --list --zookeeper 127.0.0.1:2182
生产者
kafka-console-producer.sh --broker-list 127.0.0.1:9093 --topic test
消费者
kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9093 --topic test --from-beginning
1.Linux环境部署kafka
2.Win10环境部署kafka
3.docker部署kafka
4.kafka的简单使用
5.kafka消息的细节
6.kafka主题和分区的概念
7.kafka集群操作
8.kafka生产者实现细节
9.kafka消费者实现细节
10.kafka集群中的controller、rebalance、HW
11.kafka中的优化问题
12.Kafka-eagle监控平台
13.kafka错误汇总