kafka如何单机部署
1、安装jdk
java -version查看jdk版本
yum -y list java* 查看已安装和可安装的软件包
yum -y install java 安装新版本
2、安装zookeeper(单机模式)
a) 下载地址 https://downloads.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
b) 解压压缩包,进入文件夹目录,复制./conf/zoo_sample.cfg为./conf/zoo.cfg
c) 修该配置文件/conf/zoo.cfg
d) 启动zk, ./zkServer.sh start
e) 前台输出日志启动 ./zkServer.sh start-foreground
f) 查看zk状态 ./zkServer.sh status
注意: 如果启动失败,查看8080端口有没有被占用
g) 停止zk ./zkServer.sh stop
h) 客户端连接zk ./zkCli.sh -server localhost:2181
i) 注意:8080端口不能被占用,否则会启动失败
3、安装kafka
a) 下载地址
https://kafka.apache.org/downloads
b) 修改配置文件 ./config/server.properties
c) 开启kafka
如果没有开启zookeeper, 先开启zk
./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
再开启kafka
./kafka-server-start.sh -daemon ../config/server.properties
d) 注意:如果启动失败,日志报错The Cluster ID kVSgfurUQFGGpHMTBqBPiw doesn't match stored clusterId Some(0Qftv9yBTAmf2iDPSlIk7g) in meta.properties. 需要删除logs目录所有文件,从新启动
e) 停止broker
./zookeeper-server-stop.sh
./kafka-server-stop.sh
f) 创建topics
./kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 1 --topic test-topics
注意: 如果kakfa开启了SASL_PALINTEXT协议认证, 以Mechanisms=PLAIN为例, 即要求输入用户名密码,可执行以下操作
i) 新建sasl.properities, 写入:
security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="pJ2yfT6h";
ii)执行
./kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 1 --topic test-topics --command-config ../config/sasl.properties
g) 查看已存在的topics
./kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092
h) 查看某个topic详细信息
./kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic test-topics
i) 删除topic
./kafka-topics.sh --delete --bootstrap-server 127.0.0.1:9092 --topic test-topics
j) 生产者
./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test-topics
k) 消费者
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test-topics如果想每次都从topic起首位置消费数据,需要加上--from-beginning
l) 创建消费组
./kafka-console-consumer.sh --bootstrap-server=127.0.0.1:9092 --topic test-topics --from-beginning --consumer-property group.id=test_group
m) 查看组
./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --list
n) 查看组详
./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --describe --group test_group
o) 删除消费组
./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --delete --group test_group
p) 配置消息过期时间test
./kafka-configs.sh --zookeeper 127.0.0.1:2181 --entity-type topics --entity-name test-topics --alter --add-config retention.ms=7200000