备注:默认你安装了zk集群
kafka的安装
下载上传解压
1.下载
https://www.apache.org/dyn/closer.cgi?path=/kafka/1.0.0/kafka_2.11-1.0.0.tgz
2.上传到master机器的~/bigdata/下
3.解压: tar -xzf kafka_2.11-1.0.0.tgz
在master上修改配置
1.cd ~/bigdata/kafka_2.11-1.0.0/config
2.vi server.properties
3.修改两个参数:
log.dirs=/home/hadoop-jrq/bigdata/kafka-logs-new
zookeeper.connect=master:2181
4.创建一个目录:mkdir ~/bigdata/kafka-logs-new
将master上的安装包scp到slave1和slave2
scp -r ~/bigdata/kafka_2.11-1.0.0 hadoop-jrq@slave1:~/bigdata/
scp -r ~/bigdata/kafka_2.11-1.0.0 hadoop-jrq@slave2:~/bigdata/
scp -r ~/bigdata/kafka-logs-new hadoop-jrq@slave1:~/bigdata/
scp -r ~/bigdata/kafka-logs-new hadoop-jrq@slave2:~/bigdata/
修改slave1和slave2上的配置
1.cd ~/bigdata/kafka_2.11-1.0.0/config
2.vi server.properties
3.修改一个参数:
slave1上为:broker.id=1
slave2上为:broker.id=2
分别在master、slave1和slave2上启动broker server
1.cd ~/bigdata/kafka_2.11-1.0.0
2.mkdir logs
3.nohup bin/kafka-server-start.sh config/server.properties >~/bigdata/kafka_2.11-1.0.0/logs/server.log 2>&1 &
创建topic
cd ~/bigdata/kafka_2.11-1.0.0
bin/kafka-topics.sh --create --zookeeper master:2181 --replication-factor 1 --partitions 1 --topic test
查看topic
cd ~/bigdata/kafka_2.11-1.0.0
bin/kafka-topics.sh --list --zookeeper master:2181
启动producer发送消息
cd ~/bigdata/kafka_2.11-1.0.0
bin/kafka-console-producer.sh --broker-list master:9092 --topic test
启动consumer消费消息
cd ~/bigdata/kafka_2.11-1.0.0
bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic test --from-beginning
kafka-manager安装
下载上传解压
1.下载地址:https://github.com/yahoo/kafka-manager/releases
2.上传到master机器的~/bigdata/下
3.unzip kafka-manager-1.3.0.8.zip 也可以-d 解压到你需要的路径
修改配置
1.cd ~/bigdata/kafka-manager-1.3.0.8/conf
2.vi application.conf
3.修改配置:kafka-manager.zkhosts=“master:2181,slave1:2181,slave2:2181”
启动
1.cd ~/bigdata/kafka-manager-1.3.0.8
2.nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=这里默认是9000,也可以写成你想要的端口 &
注意,kafka-manager必须分配可执行权限,否则会报权限错误
备注:其实这里是有个坑点的,或许你的不会报这个错误:Could not find a suitable constructor in controllers.Application. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
在controller . application中找不到合适的构造函数。类必须有一个(且只有一个)用@Inject注释的构造函数,或者一个非私有的零参数构造函数。
所以你只需要用nohup bin/kafka-manager &来启动即可,加了conf反而会报错,还有个错误是关于/home/hadoop-jrq/bigdata/kafka-manager-1.3.3.7/application.home_IS_UNDEFINED/logs/application.log 的错误的,目前还没有找到具体的原因和解决方法,后续找到了再来解决
3.访问
http://master:9000/
管理你的kafka
1.2.
3.写上你的cluster name 和zk的地址点击下面的添加,就可以在界面上操作你的kafka了,可以添加多个cluster,每个kafka是一个zk集群
备注:需要勾选后面三个红框,不然页面的显示看不到数据量的大小等
4.接下来你就可以在界面上去操作你的kafka了,而不需要以命令行方式去创建topic了