Kafka 环境安装

1.上传及解压

tar zxvf /opt/software/kafka_2.11-0.11.0.2.gz -C /opt/install/

2.创建软连接和环境变量[可选]

cd /opt/install/
ln -s kafka_2.11-0.11.0.2/ kafka

vi /etc/profile
----------------------------
# KAFKA
export KAFKA_HOME=/opt/install/kafka
export PATH=$KAFKA_HOME/bin:$PATH

3.修改配置文件

vi config/server.properties
------------------------------------
delete.topic.enable=true # 要删除topic是否真正删除, 默认为false, 只是标记删除,并没有真正删除, 实际开发环境中使用false
log.dirs=/opt/install/kafka/logs # 设置日志[数据]的存储位置, 默认是/tmp目录下, 容易丢失
zookeeper.connect=singeNode:2181 # 使用我们自己安装的zookeeper

4.启动kafka

# 启动kafka命令
nohup bin/kafka-server-start.sh config/server.properties &
# 关闭Kafka命令
bin/kafka-server-stop.sh

5.创建topic
(注意:这里的nodefour包括后面遇到的需要换成自己的主机名(提前配好主机映射))

bin/kafka-topics.sh --create --topic test2 --zookeeper nodefour:2181 --replication-factor 1 --partitions 3

--create # 代表将要创建一个topic, 同理还有--delete(删除),--describe(查看), --alter(修改), --list(列表: 查看有哪些topic)
--topic test # 指定topic名字
--zookeeper nodefour:2181 # kafka连接的zookeeper
--replication-factor 1 # 设置副本因子为1, 这个数值不能大于Broker数量, 即不能大于节点数
--partitions 1 #设置分区数量为1

6.查看topic

# 查看topic列表
bin/kafka-topics.sh --list --zookeeper nodefour:2181
test
# 查看topic的详细信息
bin/kafka-topics.sh --describe --zookeeper nodefour:2181
Topic:test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0

Kafka 环境安装与使用_数据

7.生产和消费数据

# 1.启动kafka的生产者
bin/kafka-console-producer.sh --broker-list nodefour:9092 --topic test
# 2.启动kafka的消费者
bin/kafka-console-consumer.sh --bootstrap-server nodefour:9092 --topic test --from-beginning
# 3.在生产者端输入一些数据
hello world kafka

#[参数解释]
--broker-list # 指定kafka服务端,kafka的主机名:端口
--bootstrap-server # 指定kafka服务端,kafka的主机名:端口
--from-beginning # 代表从头消费

Kafka 环境安装与使用_大数据_02

Kafka 环境安装与使用_大数据_03

查看目录结构

在kafka当中, 每一个topic会有一个单独文件夹, 在topic下会为每一个分区生成一个单独的文件夹, 将这二者合并命名,​​topic-分区号​​​, 例如​​test-0​​, 在每一个分区下又会有多个segment, 既然已经有多个分区了, 为什么要再进行划分为多个segment?

答:①如果只存一个文件中, 文件会越来越大, ②Kafka中的数据默认存储7天, 每一天都会删除7天前的数据, 如果都存在一个文件当中, 会不好删

Kafka 环境安装与使用_kafka_04

1.生成测试数据

kafka-producer-perf-test.sh --topic test --num-records 500000 --record-size 1000 --producer-props bootstrap.servers=nodefour:9092 --throughput 1000000000

Kafka 环境安装与使用_数据_05

Kafka 环境安装与使用_数据_06

2.查看index和log文件

kafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.log --print-data-log

Kafka 环境安装与使用_zookeeper_07

kafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.index --print-data-log

Kafka 环境安装与使用_kafka_08


Kafka 环境安装与使用_kafka_09