美文网首页
Kafka的启动

Kafka的启动

作者: 是我_7b3f | 来源:发表于2018-05-20 12:59 被阅读0次

Kafka各Server称为Broker。Broker有自己的状态每个状态都是BrokerStates这个sealed trait的子类,trait在scala中相当于JAVA的interface,sealed在scala中主要用于模式匹配有两个作用

1,其修饰的trait,class只能在当前文件里面被继承,

2,用sealed修饰这样做的目的是告诉scala编译器在检查模式匹配的时候,让scala知道这些case的所有情况,scala就能够在编译的时候进行检查,看你写的代码是否有没有漏掉什么没case到,减少编程的错误。

共有以下的实现类,也就有一下几种状态,

case object NotRunninge  xtends BrokerStates {val state: Byte =0 }//未运行

case object Starting extends BrokerStates {val state: Byte =1 }//启动中

case object RecoveringFromUncleanShutdown  extends BrokerStates {val state: Byte =2 }//从上次异常恢复中

case object RunningAsBroker  extends BrokerStates {val state: Byte =3 }//已启动

case object PendingControlledShutdown  extends BrokerStates {val state: Byte =6 }//controlled关闭

case object BrokerShuttingDown  extends BrokerStates {val state: Byte =7 }//关闭broker

kafka的启动类是Kafka.scala

读出传入的参数

这个参数一般为config/server.properties,启动的配置文件进行解析,获取一个Properties

生成KafkaServer实例

把上面获取的Properties包装为KafkaConfig,传给KafkaServer的构造函数,调用KafkaServer的start方法启动。KafkaServer是个门面类包含了一些Kafka的各组件,并启动各组件。依次介绍各组件。

相关文章

网友评论

      本文标题:Kafka的启动

      本文链接:https://www.haomeiwen.com/subject/eazodftx.html