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