启动kafka(启动kafka集群)
本篇文章给大家谈谈启动kafka,以及启动kafka集群对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Kafaka入门(1)- Kafka简介和安装与启动(mac)
- 2、windows系统下启动kafka CMD报错:输入行太长,语法错误
- 3、kafka命令行的管理使用
- 4、docker启动kafka
- 5、kafka集群启动和停止
Kafaka入门(1)- Kafka简介和安装与启动(mac)
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。kafka 是一个高性能的消息队列,也是一个分布式流处理平台。
kafka中文网
kafka官网
Producer :Producer即生产者,消息的产生者,是消息的入口。
kafka cluster :
Broker :Broker是kafka实例,每个服务器上有一个或多个kafka的实例,姑且认为每个broker对应一台服务器。一个集群由多个broker组成,集群内的broker都有一个不重复的编号,如图中的broker-0、broker-1等……
Topic :消息的主题,可以理解为消息的分类,kafka的数据就保存在topic。在每个broker上都可以创建多个topic。
Partition :Topic的分区,每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞吐量。 同一个topic在不同的分区的数据是不重复的 ,partition的表现形式就是一个一个的文件夹!
Replication : 每一个分区都有多个副本 ,副本的作用是做备胎。当主分区(Leader)故障的时候会选择一个备胎(Follower)上位,成为Leader。在kafka中默认副本的最大数量是10个,且副本的数量不能大于Broker的数量,follower和leader绝对是在不同咐明的机器,同一机器对同一个分区也只可能存放一个副本(包括自己)。
Message :每一条发送的消息主体。
Consumer :消费者,即消息的消费方,是消息的出口。
Consumer Group :将多个消费组成一个消费者组。在kafka的设计中 同一个分区的数据只能被同一消费者组中的某一个消费者消费 。Partition 的分配问题,即确定哪个 Partition 由哪个 Consumer 来消费。Kafka 有两种分配策略,一个是 RoundRobin,一个是 Range,默认为Range。
一个消费者组内也让轿可以订阅多个topic
多个消费组可以订阅同一个topic 。
Zookeeper :kafka集群依赖zookeeper来保存集群的的元信息,来保证系统的可用性。
使用brew进行安装,非常方便。
ZooKeeper是一个分布式的,开放源码的 分布式应用程序协调服务 ,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
kafka是基于zookeeper的,启动kafka之前,需要先启动zookeeper
查看启动是否成功
启动kafka
查看启动是否成功
查看topic列表
新坦简肆起一个终端,作为生产者,用于发送消息,每一行算一条消息,将消息发送到kafka服务器
新起一个终端作为消费者,接收消息
服务关闭的顺序是先kafka,然后zookeeper
再过半小时,你就能明白kafka的工作原理了
Kafka架构原理,也就这么回事!
windows系统下启动kafka CMD报错:输入行太长,语法错误
在windows系统用cmd输命令:.\bin\windows\kafka-server-start.bat .\config\server.properties 启动kafka居然报错:输入行太长,语法错误,折磨了我一个小时棚亮。
在网上查到一个解决方法: 孝和伍kafka目录不要建太深,直接在放在D盘
巧或
[img]kafka命令行的管理使用
首先要启动好kafka集群
1、集群时间同步
2、启动zookeeper集群
3、启动kafka集群
启动kafka集群的方式就是在集群中每台机器 kafka目录 下运行
nohup bin/kafka-server-start.sh config/server.properties /dev/null 21
kafka发出消息和接收消息都是基于topic,所以要先创建一个燃睁topic,才能向里面发消息。创建topic的脚本:
topic创建好了,就可以向里边发送消息了。
通过命令行实现数据的发送 producer 生产者
kafka-console-producer.sh 就是用来测圆森试用的脚本,可以模拟kafka消息的发送端。
直接运行 kafka-console-producer.sh 查看帮助
--broker-list 指定我们kafka集群的地址
--topic 指定我们的消息发送到哪个topic里面去
通过命令行实现皮腔岁数据的接收 consumer 消费者
--bootstrap-server 表示我们的kafak集群的地址,在旧版本中使用的是--zookeeper参数,两者至少使用一个
--from-beginning 表示我们从最开始的数据进行消费
--topic指定我们topic的名字
在producer端发送数据,在consumer端可以收到数据
docker启动kafka
记录下自己的操作,避免下次用的时候又去踩坑
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
docker exec -it zookeeper /bin/sh
这时查看zk节点只有一个zookeeper
docker退出当前容器 快捷键:
第一次尝试启动容器是用的第一种方式,后面发衡码粗现在容器外面连接不了kafka,可能是因为生成的kafka地址咐镇是容器内地址模段。所以换了第二种方式启动。
{"datas":[{"name":"jianshu","value":"10"}],"ver":"1.0"}
发现和图3相比 创建了很多关于kafka的节点
我们可以看到我们创建的主题及其信息
kafka在启动时连接zookeeper失败,报错信息如下
上网查了之后,发现是本机ip变化导致的...这就很骚。这里我修改一下KAFKA_ZOOKEEPER_CONNECT的ip就可以了。
贴一下别人的解决方案吧:
kafka集群启动和停止
1、启动
先启动zk集群
然后在所有节点执行脚本
nohup kafka-server-start.sh /颂李举kkb/install/kafka/config/server.properties /dev/null 21
一键启动kafka
start_kafka.sh
for host in node01 node02 node03
do
ssh host kafka is running"
done
2、停止
所有节点执行扰族关闭kafka脚本
kafka-server-stop.sh
一键停止kafka
stop_kafka.sh
for host in node01 node02 node03
do
ssh host kafka is stopping"
done
3、一野碧键启动和停止脚本
kafkaCluster.sh
case host "source /etc/profile; nohup /kkb/install/kafka/bin/kafka-server-start.sh /kkb/install/kafka/config/
server.properties /dev/null 21 "
echo "$host kafka is running..."
done
};;
"stop"){
for host in node01 node02 node03
do
ssh host kafka is stopping..."
done
};;
esac
启动
sh kafkaCluster.sh start
停止
sh kafkaCluster.sh stop
关于启动kafka和启动kafka集群的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。