安装部署
安装部署Java
- 下载需要安装的软件,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
- 双节安装,并配置环境变量
- 使用下面的命令 验证Java是否安装成功
- java -version
- 提示 java version "1.8.0_202"
- 创建系统环境变量java_home= C:\Program Files\Java\jre1.8.0_202\(必须)
安装zookeeper
- 下载zookeeper并解压,下载地址:http://zookeeper.apache.org/releases.html,
选择自己需要的版本 - 本人选择了zookeeper-3.4.13
- 下载成功后,将下载文件解压到指定目录
- 进入zookeeper设置目录,将config目录下zoo_sample.cfg重命名为:zoo.cfg
- 在编辑器中打开zoo.cfg,将dataDir的值改成自己的data目录(需要新建) 例如:dataDir=c:/data/zookeeper
- 新建zookeeper系统变量ZOOKEEPER_HOME=,并把bin目录添加到系统的path变量中
-
打开新的cmd,输入
zkserver
,运行Zookeeper服务器,如果安装成功,启动的界面如下:说明zookeeper已经安装成功并运行在2181端口。
-
安装kafka
- 下载需要的软件并解压,下载地址:
http://kafka.apache.org/downloads.html - 本人下载的kafka_2.12-2.1.0,解压到C盘
- 进入kafka安装目录的config目录,修改server.properties文件,如修改的地方如下:
把log.dirs改成自己的目录,一般在kafka安装目录下新建文件夹来存放日志文件 - 例如:log.dirs=C:\data\kafka_logs
-
需要配置server.properties
advertised.listeners=PLAINTEXT:
//本机外网IP:9092
-
否则其他IP无法连接
- Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181
- 运行kafka服务器
- 进入kafka安装目录,按下shift +右键,选择 "在此处打开命令窗口",输入如下命令并按回车
如果安装kafka安装成功,命令运行后应该是下面的情况:.\bin\windows\kafka-server-start.bat .\config\server.properties
- kafka安装成功后就可以创建主题存储消息了
kafka启动报错:
Java HotSpot<TM> 64-bit SererVM warning:INFO: os::commit_memory<0x00000000c0000000,1073741824,0> failed;error='页面文件太小,无法操作。'......
An error report file with more information is saved as:xxx.log
打开kafka安装位置,在bin目录下找到kafka-server-start.sh文件,将
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"修改为
export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"。
如果kafka安装在Windows下,在bin/windows下找到kafka-server-start.bat文件,将
set KAFKA_HEAP_OPTS=-Xmx1G -Xms1G 改为
set KAFKA_HEAP_OPTS=-Xmx256M -Xms128M
注意:有操作系统位数的区别,是32位系统修改32位的,是64位修改64位的
然后重新启动,运行成功就可以了;但是如果还是报同样的错误,进入到Kafka的安装位置,如下图,有一个错误的日志文件,删掉后,重新启动,就可以了。
使用kafka
- 创建主题:进入kafka安装目录的\bin\windows下按shift +右键,选择“在此处打开命令窗口”,输入如下命令并回车:
- kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 0 --topic QuoteTopic
- 创建producer 及consumer来测试服务器
在kafka安装目录的\bin\windows启动新的命令窗口,producer和consumer需要分别启动命令窗口。- 启动producter,启动命令如下:
kafka-console-producer.bat --broker-list localhost:9092 --topic QuoteTopic
- 启动consumer,启动命令如下:
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic QuoteTopic
- 在producter窗口输入内容,如果在consumer窗口能看到内容,则说明kafka安装成功
-
kafka常用命令
- 列出主题
-
kafka-topic.bat -list -zookeeper localhost:2181
- 描述主题
-
kafka-topics.bat -describe -zookeeper localhost:2181 -topic [topic name]
- 从头读取消息
-
kafka-console-consumer.bat -zookeeper localhost:2181 -topic [topic name] -from-beginning
- 删除主题
-
kafka-run-class.bat kafka.admin.TopicCommand -delete -topic [topic_to_delete] -zookeeper localhost:2181
- 查看topic的详细信息
-
./kafka-topic.sh -zookeeper localhost:2181 -describe -topic [topic name]
- 为topic增加副本
-
./kafka-reassign-partitions.sh -zookeeper localhost:2181 -reassignment-json-file json/partitions-to-move.json -execute
- 为topic增加partition
-
./bin/kafka-topics.sh -zookeeper localhost:2181 -alter -partitions 20 -topic [topic name]
- 下线broker
-
./kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper localhost:2181 broker [brokerId] --num.retries 3 --retry.interval.ms 60 shutdown broker