kafka基本配置与使用

搭建kafka环境

1.解压kafka资源包

(将kafka上传到根路径)tar -xvzf kafka_2.12-2.2.0.tgz -C apps

2.在apps/kafka_12-2.2.0路径下创建logs文件夹

mkdir logs

3.修改配置文件

[root@hdp-1 kafka_2.12-2.2.0]# cd config/

[root@hdp-1 config]# vi server.properties

在最开始复制这段代码

#broker的全局唯一编号,不能重复

broker.id=0

#是否允许删除topic

delete.topic.enable=true

#处理网络请求的线程数量

num.network.threads=3

#用来处理磁盘IO的线程数量

num.io.threads=8

#发送套接字的缓冲区大小

socket.send.buffer.bytes=102400

#接收套接字的缓冲区大小

socket.receive.buffer.bytes=102400

#请求套接字的最大缓冲区大小

socket.request.max.bytes=104857600

#kafka运行日志存放的路径

log.dirs=/root/apps/kafka_2.12-2.2.0/logs

#topic在当前broker上的分区个数

num.partitions=1

#用来恢复和清理data下数据的线程数量

num.recovery.threads.per.data.dir=1

#segment文件保留的最长时间,超时将被删除

log.retention.hours=168

#配置连接Zookeeper集群地址

zookeeper.connect=hdp-1:2181,hdp-2:2181,hdp-3:2181

4.配置kafka环境变量

[root@hdp-1 ~]# vi /etc/profile

将我的kafka环境变量修改成这个

#KAFKA

export KAFKA_HOME=/root/apps/kafka_2.12-2.2.0

export PATH=$PATH:$KAFKA_HOME/bin

5.将文件拷贝到其他的2台机器中

拷贝kafka的环境变量

scp /etc/profile hdp-2:/etc/profile

scp /etc/profile hdp-3:/etc/profile

拷贝kafka安装包

scp kafka_2.12-2.2.0/ hdp-2: /root/apps/

scp kafka_2.12-2.2.0/ hdp-3: /root/apps/

6.修改配置文件

分别在hdp-1和hdp-2上修改 /root/apps/kafka_2.12-2.2.0/config/server.properties中的broker.id=1、broker.id=2

7. 启动集群依次在hdp-1hdp-2hdp-3节点上启kafka

cd apps/kafka_2.12-2.2.0/bin

[root@hdp-1 bin]# ./kafka-server-start.sh ../config/server.properties &

[root@hdp-2 bin]# ./kafka-server-start.sh ../config/server.properties &

[root@hdp-3 bin]# ./kafka-server-start.sh ../config/server.properties &

  1. 关闭集群

[root@hdp-1 bin]# ./kafka-server-stop.sh stop

[root@hdp-1 bin]# ./kafka-server-stop.sh stop

[root@hdp-1 bin]# ./kafka-server-stop.sh stop


Kafka使用

一、环境准备

  1. 启动zookeeper
  2. 启动kafka

二、kafka指令的使用

1.查看当台机器中所有的topics

[root@hdp-1 bin]# ./kafka-topics.sh \

--zookeeper hdp-1:2181 \

--list


2.创建topics

[root@hdp-1 bin]# ./kafka-topics.sh \

--zookeeper hdp-1:2181 \

--create --replication-factor 3 \

--partitions 1 --topic first


3.选项说明

--topic 定义topic名

--replication-factor  定义副本数

--partitions  定义分区数

4.删除topic

[root@hdp-1 bin]# ./kafka-topics.sh \

--zookeeper hdp-1:2181 \

--delete \

--topic first

注意:需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。


5.发送消息

[root@hdp-1 bin]#./kafka-console-producer.sh \

--broker-list hdp-1:9092  \

--topic first


6.消费消息

再打开一个hdp-1

[root@hdp-1 bin]#./kafka-console-consumer.sh \

--bootstrap-server hdp-3:9092  \

--from-beginning \

--topic first

注意:--from-beginning会把first主题中以往所有的数据都读取出来。根据业务场景选择是否增加该配置。

 

两台机器就会一台生产消息,一台消费消息

kafka基本配置与使用_第1张图片

 

7.查看topic的情况

[root@hdp-1 bin]# ./kafka-topics.sh \

 --zookeeper hdp-1:2181  \

--describe  \

--topic first

 

你可能感兴趣的:(大数据生态圈)