一、Kafka安装配置流程
1、解压安装包kafka_2.11-2.0.0.tgz至/opt/目录下,并重命名为kafka
tar -zxvf kafka_2.11-2.0.0.tgz -C /opt/
cd /opt/
mv kafka_2.11-2.0.0/ kafka
2、修改/opt/kafka/config目录下的配置文件server.properties
cd /opt/kafka/config/
vi server.properties
修改内容如下:
broker.id=0
advertised.listeners=PLAINTEXT://192.168.247.201:9092
log.dirs=/opt/kafka/kafka-logs
zookeeper.connect=192.168.247.201:2181
delete.topic.enable=true
3、修改环境变量配置
vi /etc/profile
配置内容如下:
export KAFKA_HOME=/opt/kafka
export PATH=... :$KAFKA_HOME/bin:$PATH
保存使其立即生效
source /etc/profile
4、启动服务并检查
启动kafak前,需要启动zookeeper
zkServer.sh start
zkServer.sh status
kafka-server-start.sh -daemon ./server.properties
为了方便使用,可创建软连接,使用软连接启动kafka
ln -s /opt/kafka/config/server.properties /opt/lns/server.properties
kafka-server-start.sh -daemon /opt/lns/server.properties
二、Kafka入门篇之常用命令
Broker(缓存代理,Kafka集群中的一台或多台服务器统称broker.)
启动
kafka-server-start.sh -daemon /opt/lns/server.properties
启动kafka命令加上–daemon,那么kafka会以守护进程的方式启动
查看启动是否成功
jps
Topic
1、创建队列
–zookeeper指定zookeeper的地址和端口,–partitions指定partition的数量,–replication-factor指定数据副本的数量。
kafka-topics.sh --create --zookeeper 192.168.247.201:2181 --topic kb09demo --partitions 1 --replication-factor 1
//创建Topic 5个分区
kafka-topics.sh --create --zookeeper 192.168.247.201:2181 --topic kb09demo2 --partitions 5 --replication-factor 1
2、查看队列列表
kafka-topics.sh --zookeeper 192.168.247.201:2181 --list
3、查看指定topic明细
kafka-topics.sh --zookeeper 192.168.247.201:2181 --topic kb09demo --describe
kafka-topics.sh --zookeeper 192.168.247.201:2181 --topic kb09demo2 --describe
从第一排可以看到topic的名称,partition数量,副本数量。
从第二排开始,表格包含了五列,显示partition的情况,分别表示:topic名称、partition编号,此partions的leader broker编号,副本存放的broker编号,同步broker编号。
4、修改列对
下面命令,增加partion数量,从5个partition增加到6个
kafka-topics.sh --zookeeper 192.168.247.201:2181 --alter --topic kb09demo2 --partitions 6
5、删除队列
删除之前,需要先将server.properties文件中的配置delete.topic.enable=true更改一下,否则执行删除命令不会生效。
kafka-topics.sh --zookeeper 192.168.247.201:2181 --delete --topic kb09demo
Producer(消息的生成者)
创建生产消息
运行Producer并将Terminal输入的消息发送到服务端
kafka-console-producer.sh --topic kb09demo --broker-list 192.168.247.201:9092
Consumer(消息的消费者)
启动Consumer读取消息并输出到标准输出
kafka-console-consumer.sh --topic kb09demo --bootstrap-server 192.168.247.201:9092
如果加上from-beginning指定从第一条数据开始消费
kafka-console-consumer.sh --topic kb09demo --bootstrap-server 192.168.247.201:9092 --from-beginning