下载kafka正式版
http://kafka.apache.org/downloads.html
在Linux下解压tar包
tar -xzfkafka_2.9.2-0.8.1.1.tgz
修改server.properties
进入kafka根目录config/server.properties
主要修改的有3个参数如下:
broker.id=0 //broker的标识(正数),集群内各个broker.id不能重复。
port=9092 //端口号,单节点内各个port不能重复(为了方便看最好不同节点端口也不要重复)。
log.dir =/tmp //存储log的地方(数据文件)。
验证是否安装成功
start server
>bin/zookeeper-server-start.sh config/zookeeper.properties
>bin/kafka-server-start.sh config/server.properties
第一行是启动kafka自身带动zookeeper,如果集群有zookeeper可以忽略。
Create a topic
>bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
>bin/kafka-topics.sh --list --zookeeper localhost:2181
Send somemessages
>bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Start a consumer
>bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
kafka-console-producer.sh和kafka-console-cousumer.sh只是系统提供的命令行工具。这里启动是为了测试是否能正常生产消费,验证流程正确性,在实际开发中还是要自行开发自己的生产者与消费者。
分发到kafka集群节点
cp kafka安装文件并修正3中的参数
启动各个节点的kafka服务
nohup./kafka-server-start.sh config/server.properties > output2>&1 &
Kafka的具体使用方法请参照官网
http://kafka.apache.org/documentation.html
Web UI 安装
8.1 Kafka webconsole UI
下载:https://github.com/claudemamo/kafka-web-console
编译:目前只提供sbt。命令:sbt dist(会生产zip包方便部署和启动)
解压
unzip kafka-web-console-2.1.0-SNAPSHOT.zip
cd kafka-web-console-2.1.0-SNAPSHOT/bin
第一次启动时要加个参数:
./kafka-web-console -DapplyEvolutions.default=true
默认是9000端口,如需修改启动如下:
./kafka-web-console -DapplyEvolutions.default=true-Dhttp.port=19000
不然会报错:
[warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful)
Oops, cannot start the server.
@6k1jkg3be: Database ‘default‘ needs evolution!
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(Evolutions.scala:484)
?查看帮助 和 后台运行:
./kafka-web-console -h
nohup ./kafka-web-console >/dev/null 2>&1 &
Web端地址:http://localhost:9000/
建议:这个第三方WEBUI比较直观,而且简单方便使用。
8.2KafkaOffsetMonitor UI
下载包
https://github.com/quantifind/KafkaOffsetMonitor/releases/tag/v0.2.0
官网:
http://quantifind.github.io/KafkaOffsetMonitor/
编译:提供了jar包,不需要自己编译
运行命令
java –cpKafkaOffsetMonitor-assembly-0.2.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb\
--zk zk-01,zk-02 \
--port 8080 \
--refresh 5.minutes \
--retain 1.day
Web端地址:http://localhost:port/
8.3kafkaManager UI
下载https://github.com/yahoo/kafka-manager
Yahoo的出的kafka管理界面
下载源码,运行命令:sbtclean dist生产zip包。
解压就可以用。
运行命令:
./kafka-manager-Dconfig.file=../conf/application.conf -Dhttp.port=8080
Web端地址:http://localhost:port/
kafka常用命令
创建topic
/kafka-topics.sh --create --zookeeper 192.168.153.128:2181 --replication-factor 1--partitions 1 --topic test123
查看topic信息
./kafka-topics.sh --describe --topic test123 --zookeeper 192.168.153.128:2181
修改topic分区
./kafka-topics.sh --alter --topic test123 --partitions 2 --zookeeper 192.168.153.128:2181
删除topic
./kafka-run-class.shkafka.admin.DeleteTopicCommand --topic test1 --zookeeper192.168.35.122:2181,192.168.35.123:2181
只是删除了zookeeper中元数据,数据文件还需手动删除。
原文地址:http://blog.csdn.net/stark_summer/article/details/45971253