Kafka 的搭建、验证Kafka是否安装成功(Kafka基本操作)

Kafka 的搭建

Kafka : 去中心化架构

1、上传、解压、配置环境变量

上传压缩包到任意节点(这里选择master)

cd /usr/local/module

tar -zxvf /usr/local/module/kafka_2.11-1.0.0.tgz -C /usr/local/soft/

//因为 Kafka : 去中心化架构 ,所以配置环境变量 - 所有节点都配置
vim /etc/profile

export KAFKA_HOME=/usr/local/soft/kafka_2.11-1.0.0

export PATH=$PATH:$KAFKA_HOME/bin

source /etc/profile

2、修改配置文件

vim /usr/local/soft/kafka_2.11-1.0.0/config/server.properties
# 需要修改几个配置
    1、broker.id=0 //每一个节点broker.id 要不一样 master--0,node1--1,node2--2
    2、zookeeper.connect=master:2181,node1:2181,node2:2181 //Zookeeper的地址,Kafka需要Zookeeper来管理元数据
    3、log.dirs=/usr/local/soft/kafka_2.11-1.0.0/data //消息(数据)存放的位置

3、同步到所有节点

伪分布式不需要同步

scp -r /usr/local/soft/kafka_2.11-1.0.0 node1:`pwd`
scp -r /usr/local/soft/kafka_2.11-1.0.0 node2:`pwd`

同步到 node1、node2 之后不要忘记修改 broker.id

4、将master的环境变量同步到node1,node2

若想 node1,node2 的环境变量手动去配置,这一步不需要做

scp -r /etc/profile node1:/etc/
scp -r /etc/profile node2:/etc/

同步过去之后不要忘记 source 一下

5、启动\停止 Kafka

1、需要先启动zookeeper,需要在所有节点启动
zkServer.sh start
查看状态
zkServer.sh status
关闭
zkServer.sh stop

2、启动broker,需要在所有节点启动 -- 命令在Kafka的bin目录下
kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties
启动kafka需要指定的参数:
-daemon : 后台启动
/usr/local/soft/kafka_2.11-1.0.0/config/server.properties : Kafka配置文件所在的位置

3、退出(有的时候杀不掉,比较恶心)
kill -9

6、验证Kafka是否安装成功(Kafka基本操作)

通过 jps 查看启动成功的 kafka 进程,并不能代表Kafka安装成功

随便选择一台节点操作

1、创建topic
kafka-topics.sh --create --zookeeper master:2181,node1:2181,node2:2181 --replication-factor 3 --partitions 3 --topic test_topic2
需要指定的参数:
--zookeeper : 指定Zookeeper的地址
--replication-factor : 每一个分区的副本数量
--partition : 分区数,根据数据量设置
--topic : 指定topic的名称

2、查看topic描述信息
kafka-topics.sh --describe  --zookeeper master:2181,node1:2181,node2:2181 --topic test_topic2

3、获取所有topic
kafka-topics.sh --list  --zookeeper  master:2181,node1:2181,node2:2181

4、创建控制台生产者 -- Kafka提供的一个用于测试的工具,可以往topic中生产数据
kafka-console-producer.sh --broker-list master:9092,node1:9092,node2:9092 --topic test_topic2
需要指定的参数:
--broker-list : 指定Kafka节点的列表
--topic : 指定topic的名称

5、创建控制台消费者 -- Kafka提供的一个用于测试的工具,可以消费topic中数据  
kafka-console-consumer.sh --bootstrap-server master:9092,node1:9092,node2:9092 --from-beginning --topic test_topic2
需要指定的参数:
--bootstrap-server : 指定Kafka节点的列表,和 --broker-list 类似
--from-beginning : 从头消费

若没有创建 topic ,直接使用kafka-console-producer.sh --broker-list master:9092,node1:9092,node2:9092 --topic test_topic2命令创建生产者也可以成功.
因为当这个 topic 不存在的时候,他会自动创建一个副本为1、分区为1的 topic

7、重置Kafka

假设安装出了问题,可以重置

1、关闭kafka
kill -9 

2、删除 zk 元数据
zkCli.sh
删除与kafka有关的所有信息
查看根目录下 : ls / 
删除:rmr /config
删除:rmr /brokers

3、删除kafka的数据  所有节点都要删除
rm -rf /usr/local/soft/kafka_2.11-1.0.0/data 

4 重启
kafka-server-start.sh -daemon  /usr/local/soft/kafka_2.11-1.0.0/config/server.properties
posted @ 2022-03-22 23:53  赤兔胭脂小吕布  阅读(3476)  评论(0编辑  收藏  举报