Kafka集群安装

  1. 下载kafka正式版

http://kafka.apache.org/downloads.html


  1. Linux下解压tar

tar -xzfkafka_2.9.2-0.8.1.1.tgz


  1. 修改server.properties

进入kafka根目录config/server.properties

主要修改的有3个参数如下:

broker.id=0 //broker的标识(正数),集群内各个broker.id不能重复。

port=9092 //端口号,单节点内各个port不能重复(为了方便看最好不同节点端口也不要重复)

log.dir =/tmp //存储log的地方(数据文件)。


  1. 验证是否安装成功

    1. start server

>bin/zookeeper-server-start.sh config/zookeeper.properties

>bin/kafka-server-start.sh config/server.properties

第一行是启动kafka自身带动zookeeper,如果集群有zookeeper可以忽略。


    1. 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


    1. Send somemessages

>bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test


    1. Start a consumer

>bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

kafka-console-producer.shkafka-console-cousumer.sh只是系统提供的命令行工具。这里启动是为了测试是否能正常生产消费,验证流程正确性,在实际开发中还是要自行开发自己的生产者与消费者。


  1. 分发到kafka集群节点

cp kafka安装文件并修正3中的参数


  1. 启动各个节点的kafka服务

nohup./kafka-server-start.sh config/server.properties > output2>&1 &



  1. Kafka的具体使用方法请参照官网

http://kafka.apache.org/documentation.html


  1. 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/


  1. 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中元数据,数据文件还需手动删除。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-05-25 16:37  stark_summer  阅读(345)  评论(0编辑  收藏  举报