Apache kafka是一个分布的、分区的、复制的提交日志服务,它使用独一无二的设计,提供了消息系统功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。
Apache kafka的下载安装和配置。
一、下载
https://www.apache.org/dyn/closer.cgi?path=/kafka/2.0.0/kafka_2.11-2.0.0.tgz
二、解压
解压后可以看到目录结构如下:
三、启动
Apache Kafka 依赖Zookeeper,所以必须先启动Zookeeper以后才能启动,确保Zookeeper启动后,CMD切换到kafka的安装目录D盘。运行以下命令.
D:\apache-kafka_2.11-2.0.0>.\bin\windows\kafka-server-start.bat .\config\server.properties
启动效果如下:
四、配置
kafka根目录下的config文件夹下,有很多的配置文件,我们打开server.properties,在这里可以配置Zookeeper的地址:
#Zookeeperconnectionstring (seezookeeperdocsfordetails). #Thisisacommaseparatedhost:portpairs, eachcorrespondingtoazk#server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". #Youcanalsoappendanoptionalchrootstringtotheurlstospecifythe#rootdirectoryforallkafkaznodes. zookeeper.connect=localhost:2181#Timeoutinmsforconnectingtozookeeperzookeeper.connection.timeout.ms=6000
在启动的时候,报了一个错误:
错误: 找不到或无法加载主类Files\Java\jdk1.8.0_1.0.1\lib\dt.jar;C:\Program
解决:
在kafka安装目录中找到bin\windows目录中的kafka-run-class.bat中,"%CLASSPATH%"加“”号,详情如下:
修改前:setCOMMAND=%JAVA%%KAFKA_HEAP_OPTS%%KAFKA_JVM_PERFORMANCE_OPTS%%KAFKA_JMX_OPTS%%KAFKA_LOG4J_OPTS%-cp%CLASSPATH%%KAFKA_OPTS%%*修改后:setCOMMAND=%JAVA%%KAFKA_HEAP_OPTS%%KAFKA_JVM_PERFORMANCE_OPTS%%KAFKA_JMX_OPTS%%KAFKA_LOG4J_OPTS%-cp"%CLASSPATH%"%KAFKA_OPTS%%*CLASSPATH环境JAVA_HOMEC:\ProgramFiles\Java\jdk1.8.0_101CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意头部 .;)Path%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%ZOOKEEPER_HOME%\bin;
另外还要注意kafka 安装路径不要有空格,如apache kafka改成apachekafka.
D:\apachekafka_2.11-2.0.0\config
总结:
Apache Kafka的安装和配置,下次建立生产者和消费者来使用。
END